aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Merge branch 'maint-1.5.4' into maintJunio C Hamano2008-04-16
|\ | | | | | | | | | | | | | | | | | | * maint-1.5.4: git-bisect: make "start", "good" and "skip" succeed or fail atomically git-am: cope better with an empty Subject: line Ignore leading empty lines while summarizing merges bisect: squelch "fatal: ref HEAD not a symref" misleading message builtin-apply: Show a more descriptive error on failure when opening a patch Clarify documentation of git-cvsserver, particularly in relation to git-shell
| * git-bisect: make "start", "good" and "skip" succeed or fail atomicallyChristian Couder2008-04-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this patch, when "git bisect start", "git bisect good" or "git bisect skip" were called with many revisions, they could fail after having already marked some revisions as "good", "bad" or "skip". This could be especilally bad for "git bisect start" because as the file ".git/BISECT_NAMES" would not have been written, there would have been no attempt to clear the marked revisions on a "git bisect reset". That's because if there is no ".git/BISECT_NAMES" file, nothing is done to clean things up, as the bisect session is not supposed to have started. While at it, let's also create the ".git/BISECT_START" file, only after ".git/BISECT_NAMES" as been created. Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * git-am: cope better with an empty Subject: lineLinus Torvalds2008-04-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the Subject: line is empty for whatever reason, git-am was fooled by it and left an empty line at the beginning of the resulting commit log message. This moves the logic around so that we do not keep $SUBJECT in a separate variable. Instead, $dotest/msg-clean, which used to be the log message body extracted from the message and then trailing whitespaces cleansed out, now contains the subject line followed by a blank line at the beginning for normal messages, and we use the first line from the file as the summary line throughout the program. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * Ignore leading empty lines while summarizing mergesLinus Torvalds2008-04-15
| | | | | | | | | | | | | | | | | | | | | | | | "git log" and friends normally skip the initial empty lines when showing one-line summary of a commit, but merge summary didn't. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> ---- builtin-fmt-merge-msg.c | 10 +++++++++- 1 files changed, 9 insertions(+), 1 deletions(-) Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * bisect: squelch "fatal: ref HEAD not a symref" misleading messageChristian Couder2008-04-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To get the current HEAD when we start bisecting using for example "git bisect start", we first try "git symbolic-ref HEAD" to get a nice name, and if it fails, we fall back to "git rev-parse --verify HEAD". The problem is that when "git symbolic-ref HEAD" fails, it displays "fatal: ref HEAD not a symref", so it looks like "git bisect start" failed and does not accept detached HEAD, even if in fact it worked fine. This patch adds "-q" option to the "git symbolic-ref" call to get rid of the misleading error message. Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * builtin-apply: Show a more descriptive error on failure when opening a patchAlberto Bertogli2008-04-15
| | | | | | | | | | | | | | | | | | When a patch can't be opened (it doesn't exist, there are permission problems, etc.) we get the usage text, which is not a proper indication of failure. Signed-off-by: Alberto Bertogli <albertito@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * Clarify documentation of git-cvsserver, particularly in relation to git-shellScott Collins2008-04-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For SSH clients restricted to git-shell, CVS_SERVER does not have to be specified, because git-shell understands the default value of 'cvs' to mean git-cvsserver'. This makes it totally transparent to CVS users, but the instruction to set up CVS access for people with real shell access does not apply. Previous wording mentioning GIT_AUTHOR, GIT_COMMITTER variables was unclear that we really meant GIT_AUTHOR_(NAME|EMAIL), etc. Note that the .ssh/environment file is a good place to set these, and that the .bashrc is shell-specific. Add a bit of text to differentiate cvs -d (setting CVSROOT) from cvs co -d (setting the name of the newly checked out directory). Removed an extra 'Example:' string. Signed-off-by: Scott Collins <scc@ScottCollins.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | git clean: Add test to verify directories aren't removed with a prefixShawn Bohrer2008-04-14
| | | | | | | | | | Signed-off-by: Shawn Bohrer <shawn.bohrer@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | git clean: Don't automatically remove directories when run within subdirectoryShawn Bohrer2008-04-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When git clean is run from a subdirectory it should follow the normal policy and only remove directories if they are passed in as a pathspec, or -d is specified. The fix is to send len which could be shorter than ent->len because we have stripped the trailing '/' that read_directory adds. Additionaly match_one() was modified to allow a name[] that is not NUL terminated. This allows us to check if the name matched the pathspec exactly instead of recursively. Signed-off-by: Shawn Bohrer <shawn.bohrer@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | git-submodule - possibly use branch name to describe a moduleMark Levedahl2008-04-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This changes the search logic for describing a submodule from: - annotated tag - any tag - tag on a subsequent commit - commit id to - annotated tag - any tag - tag on a subsequent commit - local or remote branch - commit id The change is describing with respect to a branch before falling back to the commit id. By itself, git-submodule will maintain submodules as headless checkouts without ever making a local branch. In general, such heads can always be described relative to the remote branch regardless of existence of tags, and so provides a better fallback summary than just the commit id. This requires inserting an extra describe step as --contains is incompatible with --all, but the latter can be used with --always to fall back to a commit ID. Also, --contains implies --tags, so the latter is not needed. Signed-off-by: Mark Levedahl <mlevedahl@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | t7401: squelch garbage outputJunio C Hamano2008-04-12
| | | | | | | | | | | | | | | | The script had an unconditional output done outside of test_expect_* construct, which leaked out and contaminated the output without -v. Squelch it. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Documentation/git-submodule: typofixJunio C Hamano2008-04-12
| | | | | | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Fix config key miscount in url.*.insteadOfDaniel Barkalow2008-04-12
| | | | | | | | | | | | | | Also tighten test to require it to be correct. Signed-off-by: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Merge branch 'maint-1.5.4' into maintJunio C Hamano2008-04-12
|\ \ | |/ | | | | | | | | | | * maint-1.5.4: Docs gitk: Explicitly mention the files that gitk uses (~/.gitk) Document -w option to shortlog bisect: report bad rev better
| * Docs gitk: Explicitly mention the files that gitk uses (~/.gitk)Clifford Caoile2008-04-12
| | | | | | | | | | | | | | gitk creates and uses ~/.gitk Signed-off-by: Clifford Caoile <piyo@users.sourceforge.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * Document -w option to shortlogJunio C Hamano2008-04-12
| | | | | | | | | | | | Noticed by Fredrik Noring. Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * bisect: report bad rev betterChristian Couder2008-04-12
| | | | | | | | | | | | | | | | | | The previous one overwrote the variable used to report the bad input when the input is actually bad, and we did not give a useful enough information. This corrects it. Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Merge branch 'maint-1.5.4' into maintJunio C Hamano2008-04-11
|\ \ | |/ | | | | | | | | | | | | | | * maint-1.5.4: bisect: fix bad rev checking in "git bisect good" revision.c: make --date-order overriddable Fix section about backdating tags in the git-tag docs Document option --only of git commit Documentation/git-request-pull: Fixed a typo ("send" -> "end")
| * bisect: fix bad rev checking in "git bisect good"Christian Couder2008-04-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It seems that "git bisect good" and "git bisect skip" have never properly checked arguments that have been passed to them. As soon as one of them can be parsed as a SHA1, no error or warning would be given. This is because 'git rev-parse --revs-only --no-flags "$@"' always "exit 0" and outputs all the SHA1 it can found from parsing "$@". This patch fix this by using, for each "bisect good" argument, the same logic as for the "bisect bad" argument. While at it, this patch teaches "bisect bad" to give a meaningfull error message when it is passed more than one argument. Note that if "git bisect good" or "git bisect skip" is given some proper revs and then something that is not a proper rev, then the first proper revs will still have been marked as "good" or "skip". Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * revision.c: make --date-order overriddableMichele Ballabio2008-04-11
| | | | | | | | | | | | | | | | | | Jan Engelhardt noticed that while --topo-order can be overridden by a subsequent --date-order, the reverse was not possible. That's because setup_revisions() failed to set revs->lifo properly. Signed-off-by: Michele Ballabio <barra_cuda@katamail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * Fix section about backdating tags in the git-tag docsBjörn Steinbrink2008-04-11
| | | | | | | | | | | | | | | | | | The tagger is equal to the committer, not the author, so GIT_COMMITTER_DATE is the right environment variable to use, not GIT_AUTHOR_DATE. Signed-off-by: Björn Steinbrink <B.Steinbrink@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * Document option --only of git commitJohannes Sixt2008-04-11
| | | | | | | | | | | | | | | | | | | | Its documentation was removed by 6c96753 (Documentation/git-commit: rewrite to make it more end-user friendly, 2006-12-08), even though it is referenced from a few places, including builtin-commit.c (as part of the commentary in the commit message template). Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at> Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * Documentation/git-request-pull: Fixed a typo ("send" -> "end")Dirk Suesserott2008-04-11
| | | | | | | | | | Signed-off-by: Dirk Suesserott <newsletter@dirk.my1.cc> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | git-submodule: Avoid 'fatal: cannot describe' messagePing Yin2008-04-11
| | | | | | | | | | | | | | | | | | | | When "git submodule status" command tries to show the name of the submodule HEAD revision more descriptively, but the submodule repository lacked a suitable tag to do so, it leaked "fatal: cannot describe" message to the UI. Squelch it by using '--always'. Signed-off-by: Ping Yin <pkufranky@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Force the medium pretty format on calls to git logPedro Melo2008-04-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | If a user has customized format.pretty in config, git-svn rebase fails with: Unable to determine upstream SVN information from working tree history because the command expects to read the commit log in the default format. This fixes the command to explicitly ask for the format it wants to read from. Signed-off-by: Pedro Melo <melo@simplicidade.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | git-fetch: fix status output when not storing tracking refJeff King2008-04-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There was code in update_local_ref for handling this case, but it never actually got called. It assumed that storing in FETCH_HEAD meant a blank peer_ref name, but we actually have a NULL peer_ref in this case, so we never even made it to the update_local_ref function. On top of that, the display formatting was different from all of the other cases, probably owing to the fact that nobody had ever actually seen the output. This patch harmonizes the output with the other cases and moves the detection of this case into store_updated_refs, where we can actually trigger it. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Merge branch 'maint-1.5.4' into maintJunio C Hamano2008-04-10
|\ \ | |/ | | | | | | | | | | * maint-1.5.4: core-tutorial.txt: Fix showing the current behaviour. git-archive: ignore prefix when checking file attribute Fix documentation syntax of optional arguments in short options.
| * core-tutorial.txt: Fix showing the current behaviour.Carlos Rica2008-04-10
| | | | | | | | | | | | | | | | | | | | | | | | The --root option from "git diff-tree" won't do nothing when is given to commands like git-whatchanged or git-log, because those always print the initial commit by default. This fixes the tutorial explaining the function of the log.showroot configuration variable. Signed-off-by: Carlos Rica <jasampler@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * git-archive: ignore prefix when checking file attributeRené Scharfe2008-04-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ulrik Sverdrup noticed that git-archive doesn't correctly apply the attribute export-subst when the option --prefix is given, too. When it checked if a file has the attribute turned on, git-archive would try to look up the full path -- including the prefix -- in .gitattributes. That's wrong, as the prefix doesn't need to have any relation to any existing directories, tracked or not. This patch makes git-archive ignore the prefix when looking up if value of the attribute export-subst for a file. Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * Fix documentation syntax of optional arguments in short options.Carlos Rica2008-04-10
| | | | | | | | | | | | | | | | | | | | | | When an argument for an option is optional, like in -n from git-tag, puting a space between the option and the argument is interpreted as a missing argument for the option plus an isolated argument. Documentation now reflects the need to write the parameter following the option -n, as in "git tag -nARG", for instance. Signed-off-by: Carlos Rica <jasampler@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | GIT 1.5.5v1.5.5Junio C Hamano2008-04-07
| | | | | | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Merge git://git.kernel.org/pub/scm/gitk/gitkJunio C Hamano2008-04-07
|\ \ | | | | | | | | | | | | * git://git.kernel.org/pub/scm/gitk/gitk: gitk: Fix changing colors through Edit->Preferences
| * | gitk: Fix changing colors through Edit->PreferencesGerrit Pape2008-04-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With tcl/tk8.5 the lset command seems to behave differently. When changing the background color through Edit->Preferences, the changes are applied, but new dialogs, such as View->New view... barf with Error: unknown color name "{#ffffff}" Additionally when closing gitk, and starting it up again, a bad value has been saved to ~/.gitk, preventing gitk from running properly; it fails with Error in startup script: unknown color name "{#ffffff}" ... This commit fixes the problem by changing the color dialogs to pass the empty string {} as the list index to choosecolor. This causes the lset and lindex commands used by choosecolor to use and set the whole variable (bgcolor, fgcolor or selectbgcolor) rather than treating them as a 1-element list. Tested with tcl/tk8.4 and 8.5. Dmitry Potapov reported this problem through http://bugs.debian.org/472615 Signed-off-by: Gerrit Pape <pape@smarden.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | | git-svn: fix following renamed paths when tracking a single pathEric Wong2008-04-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When using git-svn to follow only a single (empty) path per svn-remote (i.e. not using --stdlayout), following the history of a renamed path was broken in c586879cdfa4f8181a14e953a9152a4639eef333. This reverts the regression for the single (emtpy) path per svn-remote case. To avoid breaking the tests in a committed revision, this is an addendum to a patch originally submitted by Santhosh Kumar Mani <santhoshmani@gmail.com>: > git-svn: add test for renamed directory fetch > > This test tries to fetch a directory which had renames in the > history from a SVN repository. [ew: unneccesary dependency on the starting an HTTP server removed from Santhosh's original test.] Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | Merge branch 'jc/maint-apply-match-beginning'Junio C Hamano2008-04-06
|\ \ \ | | |/ | |/| | | | | | | * jc/maint-apply-match-beginning: Fix "git apply" to correctly enforce "match at the beginning"
| * | Fix "git apply" to correctly enforce "match at the beginning"Junio C Hamano2008-04-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | An earlier commit 4be6096 (apply --unidiff-zero: loosen sanity checks for --unidiff=0 patches, 2006-09-17) made match_beginning and match_end computed incorrectly. If a hunk inserts at the beginning, old position recorded at the hunk is line 0, and if a hunk changes at the beginning, it is line 1. The new test added to t4104 exposes that the old code did not insist on matching at the beginning for a patch to add a line to an empty file. An even older 65aadb9 (apply: force matching at the beginning., 2006-05-24) was equally wrong in that it tried to take hints from the number of leading context lines, to decide if the hunk must match at the beginning, but we can just look at the line number in the hunk to decide. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | Add prefix oriented completions for diff and format-patch commands.Pascal Obry2008-04-06
| | | | | | | | | | | | | | | | | | Signed-off-by: Pascal Obry <pascal@obry.net> Acked-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | test suite: remove useless TERM cruft in "t7005-editor.sh"Christian Couder2008-04-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit 15387e3 (Test suite: reset TERM to its previous value after testing., 2007-10-26), I added a workaround to reset TERM to its previous value before the "test_done" at the end of "t7005-editor.sh" because otherwise "test_done" would have printed the test result with a bad TERM env variable (this resulted in output with no color on konsole). But since commit c2116a1 (test-lib: fix TERM to dumb for test repeatability, 2008-03-06), colored output is printed in a subshell with TERM reset to its original value so the earlier workaround is not needed anymore. Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | Add interactive option in rebase command completion list.Pascal Obry2008-04-06
| | | | | | | | | | | | | | | | | | Signed-off-by: Pascal Obry <pascal@obry.net> Acked-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | Add description of OFS_DELTA to the pack format descriptionPeter Eriksen2008-04-06
| | | | | | | | | | | | | | | | | | Signed-off-by: Peter Eriksen <s022018@student.dtu.dk> Acked-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | git-pack-objects.txt: Make wording slightly less ambiguousPeter Eriksen2008-04-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is a bit confusing on first read, that "The packed archive format (.pack) is designed to be unpackable..." Signed-off-by: Peter Eriksen <s022018@student.dtu.dk> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | git-fetch: Don't trigger a bus error when given the refspec "tag"Kevin Ballard2008-04-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | When git-fetch encounters the refspec "tag" it assumes that the next argument will be a tag name. If there is no next argument, it should die gracefully instead of erroring. Signed-off-by: Kevin Ballard <kevin@sb.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | Revert "gitweb: Add 'status_str' to parse_difftree_raw_line output"Jakub Narebski2008-04-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 6aa6f92fda47cc4ee5f599895e8a5a327fb6f9ab. It caused is_deleted() subroutine to output warnings when dealing with old, legacy gitweb blobdiff URLs without either 'hb' or 'hpb' parameters. This fixes http://bugs.debian.org/469083 Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | Merge git://repo.or.cz/git-guiJunio C Hamano2008-04-04
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | * git://repo.or.cz/git-gui: git-gui: use +/- instead of ]/[ to show more/less context in diff git-gui: Update french translation git-gui: Switch keybindings for [ and ] to bracketleft and bracketright
| * | | git-gui: use +/- instead of ]/[ to show more/less context in diffgitgui-0.10.1Michele Ballabio2008-04-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On some systems, brackets cannot be used as event details (they don't have a keysym), so use +/- instead (both on keyboard and keypad) and add ctrl-= as a synonym of ctrl-+ for convenience. [sp: Had to change accelerator to show only "$M1T-="; the original version included "$M1T-+ $M1T-=" but this is not drawn at all on Mac OS X.] Signed-off-by: Michele Ballabio <barra_cuda@katamail.com> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
| * | | git-gui: Update french translationChristian Couder2008-04-04
| | | | | | | | | | | | | | | | Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
| * | | git-gui: Switch keybindings for [ and ] to bracketleft and bracketrightShawn O. Pearce2008-04-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Thanks to Michele Ballabio for the quick fix. This resolves the error introduced by c91ee2bd61. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
* | | | GIT 1.5.5-rc3v1.5.5-rc3Junio C Hamano2008-04-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The rate of fixes that trickle in has slowed and we are definitely getting there. Hopefully one final round and we will have the final 1.5.5 soon. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | | Merge branch 'js/filter-branch'Junio C Hamano2008-04-02
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | * js/filter-branch: filter-branch: Fix renaming a directory in the tree-filter filter-branch: Test renaming directories in a tree-filter
| * | | | filter-branch: Fix renaming a directory in the tree-filterveillette@yahoo.ca2008-03-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit d89c1df (filter-branch: don't use xargs -0, 2008-03-12) replaced a 'ls-files | xargs rm' pipeline by 'git clean'. 'git clean' however does not recurse and remove directories by default. Now, consider a tree-filter that renames a directory. 1. For the first commit everything works as expected 2. Then filter-branch checks out the files for the next commit. This leaves the new directory behind because there is no real "branch switching" involved that would notice that the directory can be removed. 3. Then filter-branch invokes 'git clean' to remove exactly those left-overs. But here it does not remove the directory. 4. The next tree-filter does not work as expected because there already exists a directory with the new name. Just add -d to 'git clean', so that empty directories are removed. Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at> Signed-off-by: Junio C Hamano <gitster@pobox.com>