summaryrefslogtreecommitdiff
path: root/Makefile
AgeCommit message (Collapse)AuthorFilesLines
2007-03-03Merge branch 'maint'Libravatar Junio C Hamano1-1/+7
* maint: Unset NO_C99_FORMAT on Cygwin. Fix a "pointer type missmatch" warning. Fix some "comparison is always true/false" warnings. Fix an "implicit function definition" warning. Fix a "label defined but unreferenced" warning. Document the config variable format.suffix git-merge: fail correctly when we cannot fast forward. builtin-archive: use RUN_SETUP Fix git-gc usage note
2007-03-03Unset NO_C99_FORMAT on Cygwin.Libravatar Ramsay Jones1-1/+0
This should only be set based on the capability of your compiler/library to support c99 format specifiers. In this case the version of gcc/newlib and indirectly the version of Cygwin. It should probably only be set in your config.mak file. Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-03-03Fix a "pointer type missmatch" warning.Libravatar Ramsay Jones1-0/+7
In particular, the second parameter in the call to iconv() will cause this warning if your library declares iconv() with the second (input buffer pointer) parameter of type const char **. This is the old prototype, which is none-the-less used by the current version of newlib on Cygwin. (It appears in old versions of glibc too). Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-03-02Merge branch 'maint'Libravatar Junio C Hamano1-1/+1
* maint: Another memory overrun in http-push.c fetch.o depends on the headers, too. Documentation: Correct minor typo in git-add documentation. Documentation/git-send-email.txt: Fix labeled list formatting Documentation/git-quiltimport.txt: Fix labeled list formatting Documentation/build-docdep.perl: Fix dependencies for included asciidoc files
2007-03-01fetch.o depends on the headers, too.Libravatar Johannes Schindelin1-1/+1
Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-02-28Merge branch 'js/bundle'Libravatar Junio C Hamano1-0/+1
* js/bundle: bundle: reword missing prerequisite error message git-bundle: record commit summary in the prerequisite data git-bundle: fix 'create --all' git-bundle: avoid fork() in verify_bundle() git-bundle: assorted fixes Add git-bundle: move objects and references by archive
2007-02-25Add test-chmtime: a utility to change mtime on filesLibravatar Eric Wong1-1/+4
This is intended to be a portable replacement for our usage of date(1), touch(1), and Perl one-liners in tests. Usage: test-chtime (+|=|-|=+|=-)<seconds> <file>..." '+' increments the mtime on the files by <seconds> '-' decrements the mtime on the files by <seconds> '=' sets the mtime on the file to exactly <seconds> '=+' and '=-' sets the mtime on the file to <seconds> after or before the current time. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-02-24Merge branch 'js/etc-config'Libravatar Junio C Hamano1-1/+4
* js/etc-config: Make tests independent of global config files config: read system-wide defaults from /etc/gitconfig
2007-02-22Add git-bundle: move objects and references by archiveLibravatar Johannes Schindelin1-0/+1
Some workflows require use of repositories on machines that cannot be connected, preventing use of git-fetch / git-push to transport objects and references between the repositories. git-bundle provides an alternate transport mechanism, effectively allowing git-fetch and git-pull to operate using sneakernet transport. `git-bundle create` allows the user to create a bundle containing one or more branches or tags, but with specified basis assumed to exist on the target repository. At the receiving end, git-bundle acts like git-fetch-pack, allowing the user to invoke git-fetch or git-pull using the bundle file as the URL. git-fetch and git-ls-remote determine they have a bundle URL by checking that the URL points to a file, but are otherwise unchanged in operation with bundles. The original patch was done by Mark Levedahl <mdl123@verizon.net>. It was updated to make git-bundle a builtin, and get rid of the tar format: now, the first line is supposed to say "# v2 git bundle", the next lines either contain a prerequisite ("-" followed by the hash of the needed commit), or a ref (the hash of a commit, followed by the name of the ref), and finally the pack. As a result, the bundle argument can be "-" now. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-02-22Merge branches 'lt/crlf' and 'jc/apply-config'Libravatar Junio C Hamano1-1/+2
* lt/crlf: Teach core.autocrlf to 'git apply' t0020: add test for auto-crlf Make AutoCRLF ternary variable. Lazy man's auto-CRLF * jc/apply-config: t4119: test autocomputing -p<n> for traditional diff input. git-apply: guess correct -p<n> value for non-git patches. git-apply: notice "diff --git" patch again Fix botched "leak fix" t4119: add test for traditional patch and different p_value apply: fix memory leak in prefix_one() git-apply: require -p<n> when working in a subdirectory. git-apply: do not lose cwd when run from a subdirectory. Teach 'git apply' to look at $HOME/.gitconfig even outside of a repository Teach 'git apply' to look at $GIT_DIR/config
2007-02-22Merge branch 'maint'Libravatar Junio C Hamano1-1/+2
* maint: git-diff: fix combined diff Fix 'git commit -a' in a newly initialized repository Include git-gui credits file in dist. Document the new core.bare configuration option.
2007-02-21Include git-gui credits file in dist.Libravatar Shawn O. Pearce1-1/+2
The Makefile for the git-gui subproject will fail to execute if run outside of a git.git directory, such as when building from a .tar.gz or .tar.bz2. This is because it is looking for the credits file, which was created but omitted from the tarball by the toplevel Makefile. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-02-19config: read system-wide defaults from /etc/gitconfigLibravatar Johannes Schindelin1-1/+4
The settings in /etc/gitconfig can be overridden in ~/.gitconfig, which in turn can be overridden in .git/config. Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-02-19Merge branch 'maint'Libravatar Junio C Hamano1-0/+13
* maint: Obey NO_C99_FORMAT in fast-import.c. Add a compat/strtoumax.c for Solaris 8. git-clone: Sync documentation to usage note.
2007-02-19Add a compat/strtoumax.c for Solaris 8.Libravatar Jason Riedy1-0/+13
Solaris 8 was pre-c99, and they weren't willing to commit to the strtoumax definition according to /usr/include/inttypes.h. This adds NO_STRTOUMAX and NO_STRTOULL for ancient systems. If NO_STRTOUMAX is defined, the routine in compat/strtoumax.c will be used instead. That routine passes its arguments to strtoull unless NO_STRTOULL is defined. If NO_STRTOULL, then the routine uses strtoul (unsigned long). Signed-off-by: Jason Riedy <ejr@cs.berkeley.edu> Acked-by: Shawn O Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-02-14Lazy man's auto-CRLFLibravatar Linus Torvalds1-1/+2
It currently does NOT know about file attributes, so it does its conversion purely based on content. Maybe that is more in the "git philosophy" anyway, since content is king, but I think we should try to do the file attributes to turn it off on demand. Anyway, BY DEFAULT it is off regardless, because it requires a [core] AutoCRLF = true in your config file to be enabled. We could make that the default for Windows, of course, the same way we do some other things (filemode etc). But you can actually enable it on UNIX, and it will cause: - "git update-index" will write blobs without CRLF - "git diff" will diff working tree files without CRLF - "git checkout" will write files to the working tree _with_ CRLF and things work fine. Funnily, it actually shows an odd file in git itself: git clone -n git test-crlf cd test-crlf git config core.autocrlf true git checkout git diff shows a diff for "Documentation/docbook-xsl.css". Why? Because we have actually checked in that file *with* CRLF! So when "core.autocrlf" is true, we'll always generate a *different* hash for it in the index, because the index hash will be for the content _without_ CRLF. Is this complete? I dunno. It seems to work for me. It doesn't use the filename at all right now, and that's probably a deficiency (we could certainly make the "is_binary()" heuristics also take standard filename heuristics into account). I don't pass in the filename at all for the "index_fd()" case (git-update-index), so that would need to be passed around, but this actually works fine. NOTE NOTE NOTE! The "is_binary()" heuristics are totally made-up by yours truly. I will not guarantee that they work at all reasonable. Caveat emptor. But it _is_ simple, and it _is_ safe, since it's all off by default. The patch is pretty simple - the biggest part is the new "convert.c" file, but even that is really just basic stuff that anybody can write in "Teaching C 101" as a final project for their first class in programming. Not to say that it's bug-free, of course - but at least we're not talking about rocket surgery here. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-02-13Merge branch 'maint'Libravatar Junio C Hamano1-1/+4
* maint: Makefile: update check-docs target cmd-list: add git-remote Documentation: Drop full-stop from git-fast-import title. Minor corrections to release notes
2007-02-13Makefile: update check-docs targetLibravatar Junio C Hamano1-1/+4
Old aliases are not linked to the main command list. Also the internal git-add--interactive does not need to be on the list. Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-02-13Merge branch 'jc/merge-base' (early part)Libravatar Junio C Hamano1-0/+1
This contains an evil merge to fast-import, in order to resolve in_merge_bases() update.
2007-02-12Remove git-diff-stages.Libravatar Junio C Hamano1-1/+0
Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-02-12Remove git-resolve.Libravatar Junio C Hamano1-1/+1
Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-02-12Link git-gui into the master Makefile.Libravatar Shawn O. Pearce1-2/+8
I'm exporting gitexecdir because git-gui wants to know where it should install git-gui and git-citool. These belong under gitexecdir, just like git-diff, as the git wrapper is able to invoke these commands for the end-user. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-02-06Remove git-merge-recurLibravatar Junio C Hamano1-6/+2
This was useful when the current recursive was in development, and the original Python version was still called git-merge-recursive. Now the synonym has served us well, it is time to move on. Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-02-06Merge branch 'master' of git://repo.or.cz/git/fastimportLibravatar Junio C Hamano1-0/+1
* 'master' of git://repo.or.cz/git/fastimport: (81 commits) S_IFLNK != 0140000 Don't do non-fastforward updates in fast-import. Support RFC 2822 date parsing in fast-import. Minor fast-import documentation corrections. Remove unnecessary null pointer checks in fast-import. Correct fast-import timezone documentation. Correct minor style issue in fast-import. Correct compiler warnings in fast-import. Remove --branch-log from fast-import. Initial draft of fast-import documentation. Don't support shell-quoted refnames in fast-import. Reduce memory usage of fast-import. Include checkpoint command in the BNF. Accept 'inline' file data in fast-import commit structure. Reduce value duplication in t9300-fast-import. Create test case for fast-import. Support delimited data regions in fast-import. Remove unnecessary options from fast-import. Use fixed-size integers when writing out the index in fast-import. Always use struct pack_header for pack header in fast-import. ...
2007-02-05Fix longstanding mismerge of ALL_CFLAGS vs BASIC_CFLAGSLibravatar Junio C Hamano1-1/+1
The earlier commit d7b6c3c0 (Aug 15, 2006) introduced this mismerge when most of the CFLAGS were renamed to BASIC_CFLAGS. Not that it matters right now, since we do not compile XS Perl extensions which wanted non GNU subset of ALL_CFLAGS for compilation, but we should make things consistent. Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-30Merge branch 'master' into sp/gfiLibravatar Shawn O. Pearce1-5/+7
git-fast-import requires use of inttypes.h, but the master branch has added it to git-compat-util differently than git-fast-import originally had used it. This merge back of master to the fast-import topic is to get (and use) inttypes.h the way master is using it. This is a partially evil merge to remove the call to setup_ident(), as the master branch now contains a change which makes this implicit and therefore removed the function declaration. (commit 01754769). Conflicts: git-compat-util.h
2007-01-29Make fsck and fsck-objects be builtins.Libravatar Mark Wooding1-0/+1
The earlier change df391b192 to rename fsck-objects to fsck broke fsck-objects. This should fix it again. Signed-off-by: Mark Wooding <mdw@distorted.org.uk> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-28git-fsck-objects is now synonym to git-fsckLibravatar Junio C Hamano1-1/+2
Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-28[PATCH] Rename git-repo-config to git-config.Libravatar Tom Prince1-2/+2
Signed-off-by: Tom Prince <tom.prince@ualberta.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-20reflog-walk: build fixesLibravatar Junio C Hamano1-1/+1
Dependency on reflog-walk.h was missing in the Makefile, and reflog-walk.c did not even include it. Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-20Teach the revision walker to walk by reflogs with --walk-reflogsLibravatar Johannes Schindelin1-1/+1
When called with "--walk-reflogs", as long as there are reflogs available, the walker will take this information into account, rather than the parent information in the commit object. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-14Merge branch 'master' into sp/fast-importLibravatar Shawn O. Pearce1-142/+211
I'm bringing master in early so that the OBJ_OFS_DELTA implementation is available as part of the topic. This way git-fast-import can learn about this new slightly smaller and faster packfile format, and can generate them directly rather than needing to have them be repacked with git-pack-objects. Due to the API changes in master during the period of development of git-fast-import, a few minor tweaks to fast-import.c are needed to produce a working merge. I've done them here as part of the merge to ensure bisection always works. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
2007-01-14Created fast-import, a tool to quickly generating a pack from blobs.Libravatar Shawn O. Pearce1-0/+1
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
2007-01-10Makefile: remove $foo when $foo.exe is built/installed.Libravatar Junio C Hamano1-3/+9
On Cygwin, newly builtins are not recognized, because there exist both the executable binaries (with .exe extension) _and_ the now-obsolete scripts (without extension), but the script is executed. Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-10Make git-describe a builtin.Libravatar Shawn O. Pearce1-1/+2
Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-09Make merge-base a built-in.Libravatar Junio C Hamano1-1/+1
Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-09Replacing the system call pread() with lseek()/xread()/lseek() sequence.Libravatar Stefan-W. Hahn1-0/+7
Using cygwin with cygwin.dll before 1.5.22 the system call pread() is buggy. This patch introduces NO_PREAD. If NO_PREAD is set git uses a sequence of lseek()/xread()/lseek() to emulate pread. Signed-off-by: Stefan-W. Hahn <stefan.hahn@s-hahn.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-08Merge branch 'jc/reflog'Libravatar Junio C Hamano1-0/+1
* jc/reflog: reflog --fix-stale: do not check the same trees and commits repeatedly. reflog expire --fix-stale Move traversal of reachable objects into a separate library. builtin-prune: separate ref walking from reflog walking. builtin-prune: make file-scope static struct to an argument.
2007-01-07"init-db" can really be just "init"Libravatar Nicolas Pitre1-1/+1
Make "init" the equivalent of "init-db". This should make first GIT impression a little more friendly. Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-06Move traversal of reachable objects into a separate library.Libravatar Junio C Hamano1-0/+1
This moves major part of builtin-prune into a separate file, reachable.c. It is used to mark the objects that are reachable from refs, and optionally from reflogs. The patch looks very large, but if you look at it with diff -C, which this message is formatted in, most of them are copied lines and there are very little additions. Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-04git-remoteLibravatar Junio C Hamano1-1/+1
It might be handy to have a single command that helps you manage your configuration that relates to downloading from remote repositories. This currently does only about 20% of what I want it to do. $ git remote shows the list of 'remotes' you have defined somewhere, and $ git remote origin shows the details about the named remote (in this case "origin"). How the branches are tracked, if you have a tracking branch that is stale, etc. $ git add another git://git.kernel.org/pub/... defines the default remote.another.url and remote.another.fetch entries just like a clone does; you can say "git fetch another" afterwards. For it to be useful, I think it should be enhanced to: - check overlaps of tracking branches and warn; - offer to remove stale tracking branches in one go; - offer ways to remove or rename remote; - offer ways to update an existing remote, perhaps have an interactive mode; Other enhancements might be also possible, but I do not think of anything that is absolutely necessary other than the above right now. Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-04Make check target depend on common-cmds.hLibravatar René Scharfe1-1/+1
This fixes sparse complaining about a missing include file if 'make check' is run on clean sources. Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-12-30Force core.filemode to false on Cygwin.Libravatar Shawn O. Pearce1-0/+7
Many users have noticed that core.filemode doesn't appear to be automatically set right on Cygwin when using a repository stored on NTFS. The issue is that Cygwin and NTFS correctly supports the executable mode bit, and Git properly detected that, but most native Windows applications tend to create files such that Cygwin sees the executable bit set when it probably shouldn't be. This is especially bad if the user's favorite editor deletes the file then recreates it whenever they save (vs. just overwriting) as now a file that was created with mode 0644 by checkout-index appears to have mode 0755. So we introduce NO_TRUSTABLE_FILEMODE, settable at compile time. Setting this option forces core.filemode to false, even if the detection code would have returned true. This option should be enabled by default on Cygwin. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-12-28Merge branch 'jc/make'Libravatar Junio C Hamano1-6/+16
* jc/make: gcc does not necessarily pass runtime libpath with -R
2006-12-28Merge branch 'js/shallow'Libravatar Junio C Hamano1-2/+1
* js/shallow: fetch-pack: Do not fetch tags for shallow clones. get_shallow_commits: Avoid memory leak if a commit has been reached already. git-fetch: Reset shallow_depth before auto-following tags. upload-pack: Check for NOT_SHALLOW flag before sending a shallow to the client. fetch-pack: Properly remove the shallow file when it becomes empty. shallow clone: unparse and reparse an unshallowed commit Why didn't we mark want_obj as ~UNINTERESTING in the old code? Why does it mean we do not have to register shallow if we have one? We should make sure that the protocol is still extensible. add tests for shallow stuff Shallow clone: do not ignore shallowness when following tags allow deepening of a shallow repository allow cloning a repository "shallowly" support fetching into a shallow repository upload-pack: no longer call rev-list
2006-12-27gcc does not necessarily pass runtime libpath with -RLibravatar Junio C Hamano1-6/+16
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-12-27Merge branch 'sp/gc'Libravatar Junio C Hamano1-1/+1
* sp/gc: Use 'repack -a -d -l' instead of 'repack -a -d' in git-gc everyday: replace a few 'prune' and 'repack' with 'gc' Create 'git gc' to perform common maintenance operations.
2006-12-27Set NO_MMAP for Cygwin by defaultLibravatar Junio C Hamano1-2/+2
This should not be necessary for people who only use NTFS, but for people with FAT32 it seems to be an issue. Let's ship with a safer default. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-12-27Merge branch 'master' into js/shallowLibravatar Junio C Hamano1-70/+49
This is to adjust to: count-objects -v: show number of packs as well. which will break a test in this series. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-12-27Create 'git gc' to perform common maintenance operations.Libravatar Shawn O. Pearce1-1/+1
Junio asked for a 'git gc' utility which users can execute on a regular basis to perform basic repository actions such as: * pack-refs --prune * reflog expire * repack -a -d * prune * rerere gc So here is a command which does exactly that. The parameters fed to reflog's expire subcommand can be chosen by the user by setting configuration options in .git/config (or ~/.gitconfig), as users may want different expiration windows for each repository but shouldn't be bothered to remember what they are all of the time. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <junkio@cox.net>