summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2006-02-27combine-diff: Honour -z option correctly.Libravatar Mark Wooding1-2/+2
Combined diffs don't null terminate things in the same way as standard diffs. This is presumably wrong. Signed-off-by: Mark Wooding <mdw@distorted.org.uk> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-27combine-diff: Honour --full-index.Libravatar Mark Wooding1-4/+6
For some reason, combined diffs don't honour the --full-index flag when emitting patches. Fix this. Signed-off-by: Mark Wooding <mdw@distorted.org.uk> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-26svnimport: Convert the svn:ignore propertyLibravatar Karl Hasselström2-4/+64
Put the value of the svn:ignore property in a regular file when converting a Subversion repository to GIT. The Subversion and GIT ignore syntaxes are similar enough that it often just works to set the filename to .gitignore and do nothing else. Signed-off-by: Karl Hasselström <kha@treskal.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-26svnimport: Convert executable flagLibravatar Karl Hasselström1-7/+13
Convert the svn:executable property to file mode 755 when converting an SVN repository to GIT. Signed-off-by: Karl Hasselström <kha@treskal.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-26svnimport: Mention -r in usage summaryLibravatar Karl Hasselström1-4/+4
I added the -r option to git-svnimport some time ago, but forgot to update the usage summary in the documentation. Signed-off-by: Karl Hasselström <kha@treskal.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-26Make git diff-generation use a simpler spawn-like interfaceLibravatar Linus Torvalds1-58/+80
Instead of depending of fork() and execve() and doing things in between the two, make the git diff functions do everything up front, and then do a single "spawn_prog()" invocation to run the actual external diff program (if any is even needed). This actually ends up simplifying the code, and should make it much easier to make it efficient under broken operating systems (read: Windows). Signed-off-by: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-26Merge branch 'maint'Libravatar Junio C Hamano2-0/+2
* maint: sample hooks template.
2006-02-26sample hooks template.Libravatar Junio C Hamano2-0/+2
These two sample hooks try to detect and use the corresponding commit hook from the same repository. However, they forgot to set up GIT_DIR for their own use, so was not in effect. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-26Teach the "git" command to handle some commands internallyLibravatar Linus Torvalds1-37/+116
This is another patch in the "prepare to do more in C" series, where the git wrapper command is taught about the notion of handling some functionality internally. Right now, the only internal commands are "version" and "help", but the point being that we can now easily extend it to handle some of the trivial scripts internally. Things like "git log" and "git diff" wouldn't need separate external scripts any more. This also implies that to support the old "git-log" and "git-diff" syntax, the "git" wrapper now automatically looks at the name it was executed as, and if it is "git-xxxx", it will assume that it is to internally do what "git xxxx" would do. In other words, you can (once you implement an internal command) soft- or hard-link that command to the "git" wrapper command, and it will do the right thing, whether you use the "git xxxx" or the "git-xxxx" format. There's one other change: the search order for external programs is modified slightly, so that the first entry remains GIT_EXEC_DIR, but the second entry is the same directory as the git wrapper itself was executed out of - if we can figure it out from argv[0], of course. Signed-off-by: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-26Use setenv(), fix warningsLibravatar Timo Hirvonen6-7/+7
- Fix -Wundef -Wold-style-definition warnings - Make pll_free() static [jc: original patch by Timo had another unrelated bits: - Use setenv() instead of putenv() I'm postponing that part for now.] Signed-off-by: Timo Hirvonen <tihirvon@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-26contrib/git-svn: version 0.10.0Libravatar Eric Wong1-1/+1
New features deserve an increment of the minor version. This will very likely become 1.0.0 unless release-critical bugs are found. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-26contrib/git-svn: optimize sequential commits to svnLibravatar Eric Wong1-3/+27
Avoid running 'svn up' to a previous revision if we know the revision we just committed is the first descendant of the revision we came from. This reduces the time to do a series of commits by about 25%. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-26contrib/git-svn: add show-ignore commandLibravatar Eric Wong2-0/+32
Recursively finds and lists the svn:ignore property on directories. The output is suitable for appending to the $GIT_DIR/info/exclude file. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-26annotate: Use qx{} for pipes on activestate.Libravatar Ryan Anderson1-1/+42
Note: This needs someone to tell me what the value of $^O is on ActiveState. Signed-off-by: Ryan Anderson <ryan@michonline.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-26annotate: Convert all -| calls to use a helper open_pipe().Libravatar Ryan Anderson1-29/+44
When we settle on a solution for ActiveState's forking issues, all compatibility checks can be handled inside this one function. Also, fixed an abuse of global variables in the process of cleaning this up. Signed-off-by: Ryan Anderson <ryan@michonline.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-26annotate: Handle dirty state and arbitrary revisions.Libravatar Ryan Anderson1-37/+113
Also, use Getopt::Long and only process each rev once. (Thanks to Morten Welinder for spotting the performance problems.) Signed-off-by: Ryan Anderson <ryan@michonline.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-25git-fetch: print the new and old ref when fast-forwardingLibravatar Lukas Sandström1-0/+1
Signed-off-by: Lukas Sandström <lukass@etek.chalmers.se> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-24fix warning from pack-objects.cLibravatar Luck, Tony1-1/+1
When compiling on ia64 I get this warning (from gcc 3.4.3): gcc -o pack-objects.o -c -g -O2 -Wall -DSHA1_HEADER='<openssl/sha.h>' pack-objects.c pack-objects.c: In function `pack_revindex_ix': pack-objects.c:94: warning: cast from pointer to integer of different size A double cast (first to long, then to int) shuts gcc up, but is there a better way? [jc: Andreas Ericsson suggests to use ulong instead. ] Signed-off-by: Tony Luck <tony.luck@intel.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-24Merge branches 'jc/rev-list' and 'jc/pack-thin'Libravatar Junio C Hamano8-128/+437
* jc/rev-list: rev-list --objects: use full pathname to help hashing. rev-list --objects-edge: remove duplicated edge commit output. rev-list --objects-edge * jc/pack-thin: pack-objects: hash basename and direname a bit differently. pack-objects: allow "thin" packs to exceed depth limits pack-objects: use full pathname to help hashing with "thin" pack. pack-objects: thin pack micro-optimization. Use thin pack transfer in "git fetch". Add git-push --thin. send-pack --thin: use "thin pack" delta transfer. Thin pack - create packfile with missing delta base. Conflicts: pack-objects.c (taking "next") send-pack.c (taking "next")
2006-02-24gitview: Fix the graph display .Libravatar Aneesh Kumar K.V1-2/+4
This fix all the known issue with the graph display The bug need to be explained graphically | a This line need not be there ---->| \ b | | / c c is parent of a and all a,b and c are placed on the same line and b is child of c With my last checkin I added a seperate line to indicate that a is connected to c. But then we had the line connecting a and b which should not be ther. This changes fixes the same bug Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-24gitview: Code cleanupLibravatar Aneesh Kumar K.V1-27/+21
Rearrange the code little bit so that it is easier to read Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-24Add missing programs to ignore listLibravatar Shawn Pearce1-0/+4
Added recently added programs to the default exclude list. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-24git ls files recursively show ignored filesLibravatar Shawn Pearce1-2/+5
Make git-ls-files --others --ignored recurse into non-excluded subdirectories. Typically when asking git-ls-files to display all files which are ignored by one or more exclude patterns one would want it to recurse into subdirectories which are not themselves excluded to see if there are any excluded files contained within those subdirectories. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-24Build and install git-mailinfo.Libravatar Junio C Hamano1-2/+2
The merge 712b1dd389ad5bcdbaab0279641f0970702fc1f1 was done incorrectly, and lost this program from Makefile. Big thanks go to Tony Luck for noticing it, and Linus for diagnosing it. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-24gitview: Bump the revLibravatar Aneesh Kumar1-1/+1
Make the 0.7 release Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-24gitview: Fix DeprecationWarningLibravatar Aneesh Kumar1-1/+1
DeprecationWarning: integer argument expected, got float Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-24Merge fixes early for next maint series.Libravatar Junio C Hamano1-2/+8
2006-02-24Merge branch 'fix' into maintLibravatar Junio C Hamano1-2/+8
* fix: git-am: do not allow empty commits by mistake.
2006-02-23pack-objects: hash basename and direname a bit differently.Libravatar Junio C Hamano1-1/+32
...so that "Makefile"s from different revs are sorted together, separate from "t/Makefile"s, but close enough. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-23rev-list --objects: use full pathname to help hashing.Libravatar Junio C Hamano1-13/+56
This helps to group the same files from different revs together, while spreading files with the same basename in different directories, to help pack-object. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-23rev-list --objects-edge: remove duplicated edge commit output.Libravatar Junio C Hamano1-1/+3
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-23pack-objects: allow "thin" packs to exceed depth limitsLibravatar Junio C Hamano1-4/+17
When creating a new pack to be used in .git/objects/pack/ directory, we carefully count the depth of deltified objects to be reused, so that the generated pack does not to exceed the specified depth limit for runtime efficiency. However, when we are generating a thin pack that does not contain base objects, such a pack can only be used during network transfer that is expanded on the other end upon reception, so being careful and artificially cutting the delta chain does not buy us anything except increased bandwidth requirement. This patch disables the delta chain depth limit check when reusing an existing delta. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-23Merge branch 'ar/win'Libravatar Junio C Hamano1-26/+5
* ar/win: PATCH: simplify calls to git programs in git-fmt-merge-msg
2006-02-23Merge branch 'jc/send-insane-refs'Libravatar Junio C Hamano1-10/+28
* jc/send-insane-refs: send-pack: do not give up when remote has insanely large number of refs.
2006-02-23Merge fixes early for next maint series.Libravatar Junio C Hamano9-18/+82
2006-02-23Merge branches 'jc/fix-co-candy', 'jc/fix-rename-leak' and 'ar/fix-win' into ↵Libravatar Junio C Hamano4-5/+67
maint * jc/fix-co-candy: checkout - eye candy. * jc/fix-rename-leak: diffcore-rename: plug memory leak. * ar/fix-win: fix t5600-clone-fail-cleanup.sh on windows
2006-02-23Merge branch 'ak/gitview'Libravatar Junio C Hamano1-13/+35
* ak/gitview: gitview: Display the lines joining commit nodes clearly.
2006-02-23gitview: Display the lines joining commit nodes clearly.Libravatar Aneesh Kumar K.V1-13/+35
Since i wanted to limit the graph box size i was resetting the window after an index of 5. This result in line joining commit nodes to pass over nodes which are not related. The changes fixes the same Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-23git-am: do not allow empty commits by mistake.Libravatar Junio C Hamano1-2/+8
Running "git-am --resolved" without doing anything can create an empty commit. Prevent it. Thanks for Eric W. Biederman for spotting this. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-23PATCH: simplify calls to git programs in git-fmt-merge-msgLibravatar Alex Riesen1-26/+5
It also makes it work on ActiveState Perl. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-23fix t5600-clone-fail-cleanup.sh on windowsLibravatar Alex Riesen1-1/+1
In windows you cannot remove current or opened directory, an opened file, a running program, a loaded library, etc... [jc: signoffs? With a minor quoting fix.] Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-22pack-objects: use full pathname to help hashing with "thin" pack.Libravatar Junio C Hamano1-16/+44
This uses the same hashing algorithm to the "preferred base tree" objects and the incoming pathnames, to group the same files from different revs together, while spreading files with the same basename in different directories. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-22pack-objects: thin pack micro-optimization.Libravatar Junio C Hamano1-6/+10
Since we sort objects by type, hash, preferredness and then size, after we have a delta against preferred base, there is no point trying a delta with non-preferred base. This seems to save expensive calls to diff-delta and it also seems to save the output space as well. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-22diffcore-rename: plug memory leak.Libravatar Junio C Hamano1-1/+3
Spotted by Nicolas Pitre. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-22Merge branch 'ml/cvs'Libravatar Junio C Hamano3-1/+2539
* ml/cvs: Introducing git-cvsserver -- a CVS emulator for git.
2006-02-22Merge branch 'ra/anno'Libravatar Junio C Hamano2-0/+357
* ra/anno: Use Ryan's git-annotate instead of jsannotate Add git-annotate, a tool for assigning blame.
2006-02-22Give no terminating LF to error() function.Libravatar Junio C Hamano6-13/+15
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-22checkout - eye candy.Libravatar Junio C Hamano3-3/+63
This implements "eye candy" similar to the pack-object/unpack-object to entertain users while a large tree is being checked out after a clone or a pull. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-22git-rm: Fix to properly handle files with spaces, tabs, newlines, etc.Libravatar Carl Worth2-34/+55
New tests are added to the git-rm test case to cover this as well. Signed-off-by: Carl Worth <cworth@cworth.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-22Add new git-rm command with documentationLibravatar Carl Worth5-1/+200
This adds a git-rm command which provides convenience similar to git-add, (and a bit more since it takes care of the rm as well if given -f). Like git-add, git-rm expands the given path names through git-ls-files. This means it only acts on files listed in the index. And it does act recursively on directories by default, (no -r needed as in the case of rm itself). When it recurses, it does not remove empty directories that are left behind. Signed-off-by: Junio C Hamano <junkio@cox.net>