aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* 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>
* filter-branch: Test renaming directories in a tree-filterJohannes Sixt2008-03-31
| | | | | | | | | | | | | | | This test currently fails. If b is a directory then 'mv a b' is not a plain "rename", but really a "move", so we must also test that the directory does not exist with the old name in the directory with the new name. There's also some cleanup in the corresponding "rename file" test to avoid spurious shell syntax errors and "ambigous ref" error from 'git show' (but these should show up only if the test would fail anyway). Plus we also test for the non-existence of the old file. Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
* GIT 1.5.5-rc2v1.5.5-rc2Junio C Hamano2008-03-27
|\ | | | | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * GIT 1.5.4.5v1.5.4.5Junio C Hamano2008-03-27
| | | | | | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | builtin-prune: protect objects listed on the command lineJunio C Hamano2008-03-27
| | | | | | | | | | | | | | Finally, this resurrects the documented behaviour to protect other objects listed on the command line from getting pruned. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | builtin-prune.c: use parse_options()Michele Ballabio2008-03-27
| | | | | | | | | | | | | | | | Using the OPT_DATE() introduced earlier, this updates builtin-prune to use parse_options(). Signed-off-by: Michele Ballabio <barra_cuda@katamail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Add tests for git-pruneMichele Ballabio2008-03-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | It seems that git prune changed behaviour with respect to revisions added from command line, probably when it became a builtin. Currently, it prints a short usage and exits: instead, it should take those revisions into account and not prune them. So add a couple of test to point this out. We'll be fixing this by switching to parse_options(), so add tests to detect bogus command line parameters as well, to keep ourselves from introducing regressions. Signed-off-by: Michele Ballabio <barra_cuda@katamail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | parse-options.c: introduce OPT_DATEMichele Ballabio2008-03-27
| | | | | | | | | | | | | | | | | | There are quite a few places that will need to call approxidate(), when they'll adopt the parse-options system, so this patch adds the function parse_opt_approxidate_cb(), used by OPT_DATE. Signed-off-by: Michele Ballabio <barra_cuda@katamail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Update draft release notes for 1.5.5Junio C Hamano2008-03-27
| | | | | | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Merge branch 'maint'Junio C Hamano2008-03-27
|\ \ | |/ | | | | | | | | | | | | | | | | | | * maint: Update draft release notes for 1.5.4.5 Documentation: clarify use of .git{ignore,attributes} versus .git/info/* t/t3800-mktag.sh: use test_must_fail rather than '!' Conflicts: t/t3800-mktag.sh
| * Update draft release notes for 1.5.4.5Junio C Hamano2008-03-27
| | | | | | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * Merge branch 'jc/maint-fetch-regression-1.5.4' into maintJunio C Hamano2008-03-27
| |\ | | | | | | | | | | | | | | | | | | * jc/maint-fetch-regression-1.5.4: git-fetch test: test tracking fetch results, not just FETCH_HEAD Fix branches file configuration Tighten refspec processing
| * | Documentation: clarify use of .git{ignore,attributes} versus .git/info/*Jeff King2008-03-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gitignore patterns can be read from three different files, while gitattributes can come from two files. Let's provide some hints to the user about the differences and how they are typically used. Suggested by Toby Corkindale, but gratuitously reworded by Jeff King. Signed-off-by: Toby Corkindale <toby.corkindale@rea-group.com> Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * | t/t3800-mktag.sh: use test_must_fail rather than '!'Brandon Casey2008-03-26
| | | | | | | | | | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | test_must_fail: 129 is a valid error code from usage()Junio C Hamano2008-03-27
| | | | | | | | | | | | | | | | | | | | | | | | When a git command is run under test_must_fail to make sure that the argument parser catches bogus command line, it exits with 129. We need to catch it as a valid "graceful error exit". Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | imap-send: properly error out if imap.host is not set in configGerrit Pape2008-03-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If no imap host is specified in the git config, git imap-send used to try to lookup a null pointer through gethostbyname(), causing a segfault. Since setting the imap.host variable is mandatory, imap-send now properly fails with an explanatory error message. The problem has been reported by picca through http://bugs.debian.org/472632 Signed-off-by: Gerrit Pape <pape@smarden.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | t9600-cvsimport.sh: set HOME before checking for cvsps availabilityFrank Lichtenheld2008-03-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This actually sounds like a bug in cvsps, which requires an existing home directory when asked for the usage through -h $ HOME=/nonexistent cvsps -h Cannot create the cvsps directory '.cvsps': No such file or directory This made t9600 think that cvsps is not available if HOME did not exist, causing the tests to be skipped $ HOME=/nonexistent sh t9600-cvsimport.sh * skipping cvsimport tests, cvsps not found * passed all 0 test(s) Now t9600 sets HOME to the current working directory before checking for the availability of the cvsps program. This issue has been discovered by Marco Rodrigues, and fixed by Frank Lichtenheld through http://bugs.debian.org/471969 Signed-off-by: Gerrit Pape <pape@smarden.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | Always set *nongit_ok in setup_git_directory_gently()SZEDER Gábor2008-03-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | setup_git_directory_gently() only modified the value of its *nongit_ok argument if we were not in a git repository. Now it will always set it to 0 when we are inside a repository. Also remove now unnecessary initializations in the callers of this function. Signed-off-by: SZEDER Gábor <szeder@ira.uka.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | Merge branch 'jc/maint-fetch-regression-1.5.4'Junio C Hamano2008-03-26
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | * jc/maint-fetch-regression-1.5.4: git-fetch test: test tracking fetch results, not just FETCH_HEAD Fix branches file configuration Tighten refspec processing Fix the wrong output of `git-show v1.3.0~155^2~4` in documentation.
| * | git-fetch test: test tracking fetch results, not just FETCH_HEADJunio C Hamano2008-03-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We really should have done this long time ago. Existing t5515 test was written for the specific purpose of catching regression to the contents of generated FETCH_HEAD file, but it also is a good place to make sure various fetch configurations do fetch what they intend to fetch (and nothing else). Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * | Fix branches file configurationDaniel Barkalow2008-03-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | Fetched remote branch from .git/branches/foo should fetch into refs/heads/foo. Also when partial URL is given, the fetched head should always be remote HEAD, and the result should not be stored anywhere. Signed-off-by: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * | Tighten refspec processingDaniel Barkalow2008-03-26
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This changes the pattern matching code to not store the required final / before the *, and then to require each side to be a valid ref (or empty). In particular, any refspec that looks like it should be a pattern but doesn't quite meet the requirements will be found to be invalid as a fallback non-pattern. This was cherry picked from commit ef00d15 (Tighten refspec processing, 2008-03-17), and two fix-up commits 46220ca (remote.c: Fix overtight refspec validation, 2008-03-20) and 7d19da4 (refspec: allow colon-less wildcard "refs/category/*", 2008-03-25) squashed in. Signed-off-by: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * Fix the wrong output of `git-show v1.3.0~155^2~4` in documentation.Guanqun Lu2008-03-26
| | | | | | | | | | | | | | | | Texts between ~ and ~ will be subscripted during the asciidoc translation. Signed-off-by: Guanqun Lu <Guanqun.Lu@Gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> (cherry picked from commit 0c829391cfcdc57172765322575804a7ad5f3116)
* | refspec: allow colon-less wildcard "refs/category/*"Junio C Hamano2008-03-25
| | | | | | | | | | | | | | | | "git push --tags elsewhere" is implemented in terms of wildcarded refspec "refs/tags/*" these days, and the user wants to push the tags under the same name to the other branch. This resurrects the support for it. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | init: show "Reinit" message even in an (existing) empty repositoryJohannes Schindelin2008-03-25
| | | | | | | | | | | | | | | | | | Earlier, git-init tested for a valid HEAD ref, but if the repository was empty, there was none. Instead, test for the existence of the file $GIT_DIR/HEAD. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Documentation/git-checkout: Update summary to reflect current abilitiesJulian Phillips2008-03-25
| | | | | | | | | | | | | | | | | | | | For a while now, git-checkout has been more powerful than the man-page summary would suggest (the main text does describe the new features), so update the summary to hopefully better reflect the current functionality. Also update the glossary description of the word checkout. Signed-off-by: Julian Phillips <julian@quantumfyre.co.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Documentation: git-tag '-m'/'-F' implies '-a'Dirk Süsserott2008-03-24
| |
* | builtin-remote: Fix missing newline at end of listing of pushed branchesJohannes Sixt2008-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without this the output of 'git remote show' does not end with a new-line: bash> git remote show repo * remote repo URL: repo.or.cz:/srv/git/kdbg.git Tracked remote branches maint master mob Local branch pushed with 'git push' +master:masterbash> Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at> Acked-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Fix the wrong output of `git-show v1.3.0~155^2~4` in documentation.Guanqun Lu2008-03-23
| | | | | | | | | | | | | | Texts between ~ and ~ will be subscripted during the asciidoc translation. Signed-off-by: Guanqun Lu <Guanqun.Lu@Gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | RelNotes: mention checkout/branch's --track option, tooJohannes Schindelin2008-03-23
| | | | | | | | | | | | | | | | | | checkout and branch recently learnt to track local branches when branch.autosetupmerge = always, but they _also_ learnt to do that when asked explicitely with the option "--track". Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | GIT 1.5.5-rc1v1.5.5-rc1Junio C Hamano2008-03-23
| | | | | | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | gc --auto: raise default auto pack limit from 20 to 50Junio C Hamano2008-03-23
| | | | | | | | | | | | | | | | | | Recent discussion on the list, with the improvement f7c22cc (always start looking up objects in the last used pack first, 2007-05-30) brought in, reached the concensus that the current default 20 is too low. Reference: http://thread.gmane.org/gmane.comp.version-control.git/77586 Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Merge branch 'git-p4' of git://repo.or.cz/git/git-p4Junio C Hamano2008-03-23
|\ \ | | | | | | | | | | | | | | | | | | * 'git-p4' of git://repo.or.cz/git/git-p4: git-p4: Use P4EDITOR environment variable when set git-p4: Unset P4DIFF environment variable when using 'p4 -du diff' git-p4: Optimize the fetching of data from perforce.
| * | git-p4: Use P4EDITOR environment variable when setShawn Bohrer2008-03-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | Perforce allows you to set the P4EDITOR environment variable to your preferred editor for use in perforce. Since we are displaying a perforce changelog to the user we should use it when it is defined. Signed-off-by: Shawn Bohrer <shawn.bohrer@gmail.com> Signed-off-by: Simon Hausmann <simon@lst.de>
| * | git-p4: Unset P4DIFF environment variable when using 'p4 -du diff'Shawn Bohrer2008-03-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A custom diffing utility can be specified for the 'p4 diff' command by setting the P4DIFF environment variable. However when using a custom diffing utility such as 'vimdiff' passing options like -du can cause unexpected behavior. Since the goal is to generate a unified diff of the changes and attach them to the bottom of the p4 submit log we should unset P4DIFF if it has been set in order to generate the diff properly. Signed-off-by: Shawn Bohrer <shawn.bohrer@gmail.com> Signed-off-by: Simon Hausmann <simon@lst.de>
| * | git-p4: Optimize the fetching of data from perforce.Marius Storm-Olsen2008-03-13
| | | | | | | | | | | | | | | | | | | | | Use shallow copies in loop, and join content at the end. Then do the substitution, if needed. Signed-off-by: Marius Storm-Olsen <marius@trolltech.com> Signed-off-by: Simon Hausmann <simon@lst.de>
* | | remote.c: Fix overtight refspec validationJunio C Hamano2008-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We tightened the refspec validation code in an earlier commit ef00d15 (Tighten refspec processing, 2008-03-17) per my suggestion, but the suggestion was misguided to begin with and it broke this usage: $ git push origin HEAD~12:master The syntax of push refspecs and fetch refspecs are similar in that they are both colon separated LHS and RHS (possibly prefixed with a + to force), but the similarity ends there. For example, LHS in a push refspec can be anything that evaluates to a valid object name at runtime (except when colon and RHS is missing, or it is a glob), while it must be a valid-looking refname in a fetch refspec. To validate them correctly, the caller needs to be able to say which kind of refspecs they are. It is unreasonable to keep a single interface that cannot tell which kind it is dealing with, and ask it to behave sensibly. This commit separates the parsing of the two into different functions, and clarifies the code to implement the parsing proper (i.e. splitting into two parts, making sure both sides are wildcard or neither side is). This happens to also allow pushing a commit named with the esoteric "look for that string" syntax: $ git push ../test.git ':/remote.c: Fix overtight refspec:master' Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | fast-import: Document the effect of "merge" with no "from" in a commitEyvind Bernhardsen2008-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The fast-import documentation currently does not document the behaviour of "merge" when there is no "from" in a commit. This patch adds a description of what happens: the commit is created with a parent, but no files. This behaviour is equivalent to "from" followed by "filedeleteall". Signed-off-by: Eyvind Bernhardsen <eyvind-git@orakel.ntnu.no> Acked-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | Make git-svn tests behave better on OS XKevin Ballard2008-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | Give lib-git-svn.sh a few alternate paths to look for apache2. Explicitly define the LockFile so httpd will actually start under OS X Signed-off-by: Kevin Ballard <kevin@sb.org> Acked-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | Improve description of git filter-branch.Ralf Wildenhues2008-03-22
| | | | | | | | | | | | | | | Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | t/t7003-filter-branch.sh: use test_must_fail rather than '!'Brandon Casey2008-03-22
| | | | | | | | | | | | | | | Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | Don't try and percent-escape existing percent escapes in git-svn URIsKevin Ballard2008-03-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git-svn project names are percent-escaped ever since f5530b8 (git-svn: support for funky branch and project names over HTTP(S), 2007-11-11). Unfortunately this breaks the scenario where the user hands git-svn an already-escaped URI. Fix the regexp to skip over what looks like existing percent escapes, and test this scenario. Signed-off-by: Kevin Ballard <kevin@sb.org> Acked-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | remote show: do not show symbolic refsJohannes Schindelin2008-03-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For symbolic refs, a sane notion of being "stale" is that the ref they point to no longer exists. Since this is checked already, "remote show" does not need to show them at all. Incidentally, this fixes the issue that "HEAD" was shown as a stale ref by "remote show" in a freshly cloned repository. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | Document the sendemail.smtpserverport config variableKevin Ballard2008-03-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add sendemail.smtpserverport to the Configuration section of the git-send-email manpage. It should probably be referenced in the --smtp-server-port option as well. Signed-off-by: Kevin Ballard <kevin@sb.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | Add --reverse to the git-rev-list usage stringKevin Ballard2008-03-19
| | | | | | | | | | | | | | | | | | | | | | | | git-rev-list accepts --reverse, as documented in the manpage, but the usage string does not list it. Signed-off-by: Kevin Ballard <kevin@sb.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | make it easier for people who just want to get rid of 'git gc --auto'Nicolas Pitre2008-03-19
| | | | | | | | | | | | | | | | | | | | | | | | Give a direct hint to those who feel highly annoyed by the auto gc behavior. Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | builtin-gc.c: allow disabling all auto-gc'ing by assigning 0 to gc.autoBrandon Casey2008-03-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The gc.auto configuration variable is somewhat ambiguous now that there is also a gc.autopacklimit setting. Some users may assume that it controls all auto-gc'ing. Also, now users must set two configuration variables to zero when they want to disable autopacking. Since it is unlikely that users will want to autopack based on some threshold of pack files when they have disabled autopacking based on the number of loose objects, be nice and allow a setting of zero for gc.auto to disable all autopacking. Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | Documentation/git-merge: document subtree strategy.Miklos Vajna2008-03-19
| | | | | | | | | | | | | | | | | | | | | | | | There was already some documentation about subtree under Documentation/howto but it was missing from git-merge manpage. Signed-off-by: Miklos Vajna <vmiklos@frugalware.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | Fix tag followingDaniel Barkalow2008-03-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before the second fetch-pack connection in the same process, unmark all of the objects marked in the first connection, in order that we'll list them as things we have instead of thinking we've already mentioned them. Signed-off-by: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | Make revision limiting more robust against occasional bad commit datesLinus Torvalds2008-03-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The revision limiter uses the commit date to decide when it has seen enough commits to finalize the revision list, but that can get confused if there are incorrect dates far in the past on some commits. This makes the logic a bit more robust by - we always walk an extra SLOP commits from the source list even if we decide that the source list is probably all done (unless the source is entirely empty, of course, because then we really can't do anything at all) - we keep track of the date of the last commit we added to the destination list (this will *generally* be the oldest entry we've seen so far) - we compare that with the youngest entry (the first one) of the source list, and if the destination is older than the source, we know we want to look at the source. which causes occasional date mishaps to be handled cleanly. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>