64fdc08 | Junio C Hamano | 21 July 2010, 19:55:50 UTC | Git 1.7.2 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 21 July 2010, 19:55:50 UTC |
6e6842e | Junio C Hamano | 21 July 2010, 19:47:48 UTC | tests: correct "does reflog exist?" tests These two tests weren't about how "git reflog show <branch>" exits when there is no reflog, but were about "checkout" and "branch" create or not create reflog when creating a new <branch>. Update the tests to check what we are interested in, using "git rev-parse --verify". Also lose tests based on "test -f .git/logs/refs/heads/<branch>" from nearby, to avoid exposing this particular implementation detail unnecessarily. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 21 July 2010, 19:54:48 UTC |
b1edaf6 | Brandon Casey | 20 July 2010, 21:55:31 UTC | t/: work around one-shot variable assignment with test_must_fail See e2007832552ccea9befed9003580c494f09e666e Signed-off-by: Junio C Hamano <gitster@pobox.com> | 21 July 2010, 18:54:34 UTC |
bdcaa32 | Jonathan Nieder | 21 July 2010, 00:01:01 UTC | t/README: correct an exception when breaking a && chain in tests The correct advice should have been taken from c289c31 (t/t7006: ignore return status of shell's unset builtin, 2010-06-02). A real-life issue we experienced was with "unset", not with "export" (exporting an unset variable may have similar portability issues, though). Signed-off-by: Junio C Hamano <gitster@pobox.com> | 21 July 2010, 18:52:26 UTC |
77b5be2 | Brandon Casey | 20 July 2010, 18:27:55 UTC | t/{t5541,lib-httpd}: replace problematic '!()' notation with test_must_fail The '!()' notation is interpreted as a pattern-list on Ksh. The Ksh man page describe it as follows: !(pattern-list) Matches anything except one of the given patterns. Ksh performs a file glob using the pattern-list and then tries to execute the first file in the list. If a space is added between the '!' and the open parens, then Ksh will not interpret it as a pattern list, but in this case, it is preferred to use test_must_fail, so lets do so. Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 20 July 2010, 18:37:45 UTC |
460d562 | Brandon Casey | 20 July 2010, 15:24:47 UTC | t/t3700: convert two uses of negation operator '!' to use test_must_fail These two lines use the negation '!' operator to negate the result of a simple command. Since these commands do not contain any pipes or other complexities, the test_must_fail function can be used and is preferred since it will additionally detect termination due to a signal. This was noticed because the second use of '!' does not include a space between the '!' and the opening parens. Ksh interprets this as follows: !(pattern-list) Matches anything except one of the given patterns. Ksh performs a file glob using the pattern-list and then tries to execute the first file in the list. If a space is added between the '!' and the open parens, then Ksh will not interpret it as a pattern list, but in this case, it is preferred to use test_must_fail, so lets do so. Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 20 July 2010, 18:37:26 UTC |
5f7baac | Junio C Hamano | 20 July 2010, 18:29:30 UTC | Merge branch 'maint' * maint: t/README: clarify test_must_fail description Check size of path buffer before writing into it Conflicts: t/README | 20 July 2010, 18:29:30 UTC |
971ecbd | Brandon Casey | 20 July 2010, 17:17:12 UTC | t/README: clarify test_must_fail description Some have found the wording of the description to be somewhat ambiguous with respect to when it is desirable to use test_must_fail instead of "! <git-command>". Tweak the wording somewhat to hopefully clarify that it is _because_ test_must_fail can detect segmentation fault that it is desirable to use it instead of "! <git-command>". Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 20 July 2010, 18:26:39 UTC |
3c9d041 | Greg Brockman | 20 July 2010, 04:46:21 UTC | Check size of path buffer before writing into it This prevents a buffer overrun that could otherwise be triggered by creating a file called '.git' with contents gitdir: (something really long) Signed-off-by: Greg Brockman <gdb@mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 20 July 2010, 16:17:39 UTC |
c5212b8 | Junio C Hamano | 19 July 2010, 18:21:08 UTC | Merge branch 'maint' * maint: update-server-info: Shorten read_pack_info_file() Documentation: Explain git-mergetool's use of temporary files | 19 July 2010, 18:21:08 UTC |
c173dad | Ralf Thielow | 19 July 2010, 16:26:12 UTC | update-server-info: Shorten read_pack_info_file() The correct responses to a D and a T line in .git/objects/info/packs are the same, so combine their case arms. In both cases we already ‘goto’ out of the switch so while at it, remove a redundant ‘break’ to avoid yet another line of code. Signed-off-by: Ralf Thielow <ralf.thielow@googlemail.com> Reviewed-by: Jonathan Nieder <jrnieder <at> gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 19 July 2010, 18:13:52 UTC |
f0e5a4b | Ævar Arnfjörð Bjarmason | 17 July 2010, 15:33:15 UTC | git add: Add --ignore-missing to SYNOPSIS All the git add options were listed in the synopsis until the --ignore-missing option was added. Change that so that the git add documentation now has the complete listing. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 19 July 2010, 18:11:46 UTC |
1f74574 | Ævar Arnfjörð Bjarmason | 17 July 2010, 15:53:45 UTC | git submodule add: Remove old docs about implicit -f git submodule add no longer implicitly adds with --force. Remove references to the old functionality in the documentation. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Acked-by: Jens Lehmann <Jens.Lehmann@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 19 July 2010, 18:11:07 UTC |
d27b876 | Jens Lehmann | 17 July 2010, 15:11:43 UTC | git submodule add: Require the new --force option to add ignored paths To make the behavior of "git submodule add" more consistent with "git add" ignored submodule paths should not be silently added when they match an entry in a .gitignore file. To be able to override that default behavior in the same way as we can do that for "git add", the new option "--force" is introduced. Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de> Acked-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 19 July 2010, 18:10:43 UTC |
8fbe9b3 | Junio C Hamano | 19 July 2010, 18:09:38 UTC | Merge branch 'jl/add-n-ignore-missing' * jl/add-n-ignore-missing: git add: Add the "--ignore-missing" option for the dry run | 19 July 2010, 18:09:38 UTC |
d1cc462 | David Aguilar | 18 July 2010, 01:46:48 UTC | Documentation: Explain git-mergetool's use of temporary files 'git mergetool' creates '*.orig' backup files in its default configuration. Mention this in its documentation. Signed-off-by: David Aguilar <davvid@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 19 July 2010, 16:16:09 UTC |
8ac3a66 | Sergey Vlasov | 18 July 2010, 12:17:49 UTC | git-svn: write memoized data explicitly to avoid Storable bug Apparently using the Storable module during global destruction is unsafe - there is a bug which can cause segmentation faults: http://rt.cpan.org/Public/Bug/Display.html?id=36087 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=482355 The persistent memoization support introduced in commit 8bff7c538 relied on global destruction to write cached data, which was leading to segfaults in some Perl configurations. Calling Memoize::unmemoize in the END block forces the cache writeout to be performed earlier, thus avoiding the bug. Signed-off-by: Sergey Vlasov <vsu@altlinux.ru> Acked-by: Eric Wong <normalperson@yhbt.net> | 19 July 2010, 06:31:04 UTC |
24e7a5b | Junio C Hamano | 16 July 2010, 22:45:35 UTC | Merge branch 'jc/diff-merge-base-multi' * jc/diff-merge-base-multi: diff A...B: do not limit the syntax too narrowly | 16 July 2010, 22:45:35 UTC |
7ea3ddf | Thomas Rast | 16 July 2010, 09:37:44 UTC | Only run aggregate-results over actual counts The current make target 'aggregate-results' scanned all files matching test-results/t*-*. Normally these are only the test counts (and the exit values, which are ignored), but with --tee the suite also dumps all output. Furthermore, with --verbose t1450 contains several lines starting with "broken link from ..." which matches the criteria used by aggregate-results.sh. Rename the counts output files to *.counts, and only scan those. Signed-off-by: Thomas Rast <trast@student.ethz.ch> Acked-by: Sverre Rabbelier <srabbelier@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 16 July 2010, 20:25:01 UTC |
e605164 | Jonathan Nieder | 15 July 2010, 16:25:39 UTC | Add a sample user for the svndump library The svn-fe tool takes a Subversion dump file as input and produces a fast-import stream as output. This can be useful as a low-level tool in building other importers, or for debugging the vcs-svn library. make svn-fe make svn-fe.1 to test. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 16 July 2010, 20:21:47 UTC |
7a0e4d7 | Junio C Hamano | 16 July 2010, 19:08:24 UTC | diff A...B: do not limit the syntax too narrowly Earlier we tried to make sure that the trees we get are what A...B syntax produced, by checking that earlier ones are all marked uninteresting (which has to be true as they are merge bases), there are two remaining ones that are interesting, and they are marked as non-symmetric-left and symmetric-left respectively. The "the last two must be interesting" condition is however wrong when one is an ancestor of the other between A and B (i.e. fast-forward). In such a case, one of them is marked uninteresting. | 16 July 2010, 19:08:27 UTC |
53b3042 | Junio C Hamano | 15 July 2010, 19:09:14 UTC | Merge branch 'jn/paginate-fix' * jn/paginate-fix: git --paginate: paginate external commands again git --paginate: do not commit pager choice too early tests: local config file should be honored from subdirs of toplevel t7006: test pager configuration for several git commands t7006 (pager): introduce helper for parameterized tests Conflicts: t/t7006-pager.sh | 15 July 2010, 19:09:14 UTC |
ea56a7e | Junio C Hamano | 15 July 2010, 19:08:41 UTC | Merge branch 'wp/merge-tree-fix' * wp/merge-tree-fix: merge-tree: fix where two branches share no changes add basic tests for merge-tree | 15 July 2010, 19:08:41 UTC |
4bd874c | Junio C Hamano | 15 July 2010, 19:08:36 UTC | Merge branch 'js/merge-rr-fix' * js/merge-rr-fix: MERGE_RR is in .git, not .git/rr-cache | 15 July 2010, 19:08:36 UTC |
4cd1b99 | Junio C Hamano | 15 July 2010, 19:08:25 UTC | Merge branch 'jc/diff-merge-base-multi' * jc/diff-merge-base-multi: diff A...B: give one possible diff when there are more than one merge-base | 15 July 2010, 19:08:25 UTC |
a8b7fcf | Junio C Hamano | 15 July 2010, 19:08:11 UTC | Merge branch 'ns/merge-recursive-uptodate' * ns/merge-recursive-uptodate: merge-recursive: use "up-to-date" instead of "uptodate" in error message for consistency | 15 July 2010, 19:08:11 UTC |
c257bbb | Junio C Hamano | 15 July 2010, 19:08:04 UTC | Merge branch 'jn/tests' * jn/tests: t3000 (ls-files -o): modernize style | 15 July 2010, 19:08:04 UTC |
90a0f1b | Junio C Hamano | 15 July 2010, 19:07:56 UTC | Merge branch 'eb/doc-log-manpage' * eb/doc-log-manpage: Reorganize `git-log' man page to clarify common diff options. | 15 July 2010, 19:07:56 UTC |
a7d7853 | Junio C Hamano | 15 July 2010, 19:07:18 UTC | Merge branch 'jn/grep-open' * jn/grep-open: grep -O: Do not pass color sequences as filenames to pager | 15 July 2010, 19:07:18 UTC |
cb597ad | Junio C Hamano | 15 July 2010, 19:07:01 UTC | Merge branch 'mg/revision-doc' * mg/revision-doc: Documentation: link to gitrevisions rather than git-rev-parse Documentation: gitrevisions Documentation: split off rev doc into include file | 15 July 2010, 19:07:01 UTC |
bff6e86 | Junio C Hamano | 15 July 2010, 19:06:55 UTC | Merge branch 'jk/maint-status-keep-index-timestamp' * jk/maint-status-keep-index-timestamp: do not write out index when status does not have to | 15 July 2010, 19:06:55 UTC |
754e66b | Junio C Hamano | 15 July 2010, 19:06:48 UTC | Merge branch 'jc/rebase-i-commit-msg-fix' * jc/rebase-i-commit-msg-fix: rebase-i: do not get fooled by a log message ending with backslash rebase-i: style fix | 15 July 2010, 19:06:48 UTC |
8498657 | Junio C Hamano | 15 July 2010, 19:06:25 UTC | Merge branch 'ab/submodule-add-f' * ab/submodule-add-f: git submodule: add submodules with git add -f <path> | 15 July 2010, 19:06:25 UTC |
aa57328 | Junio C Hamano | 15 July 2010, 19:06:11 UTC | Merge branch 'bc/maint-makefile-fixes' * bc/maint-makefile-fixes: Makefile: work around ksh's failure to handle missing list argument to for loop Makefile: remove some unnecessary curly braces | 15 July 2010, 19:06:11 UTC |
c255a70 | Junio C Hamano | 15 July 2010, 19:04:32 UTC | Merge branch 'maint' * maint: Documentation: add submodule.* to the big configuration variable list gitmodules.5: url can be a relative path gitweb: fix esc_url | 15 July 2010, 19:04:32 UTC |
0ad0a61 | Jonathan Nieder | 15 July 2010, 07:51:19 UTC | Documentation: add submodule.* to the big configuration variable list The url, path, and the update items in [submodule "foo"] stanzas are nicely explained in the .gitmodules and ‘git submodule’ documentation. Point there from the config documentation. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Acked-by: Johan Herland <johan@herland.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 15 July 2010, 19:00:50 UTC |
47dc5d5 | Jonathan Nieder | 15 July 2010, 07:41:55 UTC | gitmodules.5: url can be a relative path There is already excellent documentation for this facility in git-submodule.1, but it is not so discoverable. Relative paths in .gitmodules can be useful for serving the same repository over multiple protocols, for example. Thanks to Peter for pointing this out. Cc: Peter Krefting <peter@softwolves.pp.se> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Acked-by: Johan Herland <johan@herland.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 15 July 2010, 18:59:57 UTC |
109988f | Pavan Kumar Sunkara | 15 July 2010, 07:29:01 UTC | gitweb: fix esc_url Earlier, 452e225 (gitweb: fix esc_param, 2009-10-13) fixed CGI escaping rules used in esc_url. A very similar logic exists in esc_param and needs to be fixed the same way. Signed-off-by: Pavan Kumar Sunkara <pavan.sss1991@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 15 July 2010, 18:59:37 UTC |
030149a | Jonathan Nieder | 14 July 2010, 22:55:12 UTC | git --paginate: paginate external commands again 73e25e7c (git --paginate: do not commit pager choice too early, 2010-06-26) failed to take some cases into account. 1b. Builtins that do not use RUN_SETUP (like git config) do not find GIT_DIR set correctly when the pager is launched from run_builtin(). So the core.pager configuration is not honored from subdirectories of the toplevel for them. 4a. External git commands (like git request-pull) relied on the early pager launch to take care of handling the -p option. Ever since 73e25e7c, they do not honor the -p option at all. 4b. Commands invoked through ! aliases (like ls) were also relying on the early pager launch. Fix (4a) by launching the pager (if requested) before running such a “dashed external”. For simplicity, this still does not search for a .git directory before running the external command; when run from a subdirectory of the toplevel, therefore, the “[core] pager” configuration is still not honored. Fix (4b) by launching pager if requested before carrying out such an alias. Actually doing this has no effect, since the pager (if any) would have already been launched in a failed attempt to try a dashed external first. The choice-of-pager-not-honored-from- subdirectory bug still applies here, too. (1b) is not a regression. There is no need to fix it yet. Noticed by Junio. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 14 July 2010, 23:07:34 UTC |
3ca399d | Jay Soffian | 14 July 2010, 17:18:11 UTC | MERGE_RR is in .git, not .git/rr-cache 0af0ac7 (Move MERGE_RR from .git/rr-cache/ into .git/) moved the location of MERGE_RR but I found a few references to the old location. Signed-off-by: Jay Soffian <jaysoffian@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 14 July 2010, 20:04:25 UTC |
21baa6e | Will Palmer | 14 July 2010, 17:04:07 UTC | merge-tree: fix where two branches share no changes 15b4f7a (merge-tree: use ll_merge() not xdl_merge(), 2010-01-16) introduced a regression to merge-tree to cause it to segfault when merging files which existed in one branch, but not in the other or in the merge-base. This was caused by referencing entry->path at a time when entry was known to be possibly-NULL. To correct the problem, we save the path of the entry we came in with, as the path should be the same among all the stages no matter which sides are involved in the merge. Signed-off-by: Will Palmer <wmpalmer@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 14 July 2010, 19:56:49 UTC |
f32e985 | Will Palmer | 14 July 2010, 17:04:06 UTC | add basic tests for merge-tree merge-tree had no test cases, so here we add some very basic tests for it, including some known-breakages. [jc: with obvious/trivial fixups] Signed-off-by: Will Palmer <wmpalmer@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 14 July 2010, 19:55:15 UTC |
fc05157 | Junio C Hamano | 14 July 2010, 16:42:24 UTC | Git 1.7.2-rc3 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 14 July 2010, 16:42:24 UTC |
c9a9766 | Junio C Hamano | 14 July 2010, 16:34:23 UTC | Merge branch 'jc/read-tree-cache-tree-fix' * jc/read-tree-cache-tree-fix: Fix "read-tree -m A B" priming the cache-tree | 14 July 2010, 16:34:23 UTC |
c7d1d1b | Raja R Harinath | 13 July 2010, 09:02:00 UTC | Use dev_t for device id (st_dev) from stat in setup_git_directory_gently() The original declaration was int, which seems to cause trouble on my machine. It causes spurious "filesystem boundary" errors when running the testsuite. The cause seems to be $ stat -c%d . 2147549952 which is too large for a 32-bit int type. Using the correct type, dev_t, solves the issue. (Because I'm paranoid and forgetful, I checked -- yes, Unix v7 had dev_t.) Other uses of st_dev seem to be reasonably safe. fill_stat_cache_info truncates it to an 'unsigned int', but that value seems to be used only to validate the cache, and only if USE_STDEV is defined. Signed-off-by: Raja R Harinath <harinath@hurrynot.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 14 July 2010, 14:57:08 UTC |
c008c0f | Junio C Hamano | 13 July 2010, 00:27:46 UTC | diff A...B: give one possible diff when there are more than one merge-base We instead showed a combined diff that explains one of the randomly chosen merge-base as if it were the result of merging all the other merge bases and two tips given, which made no sense at all. An alternative is to simply fail such a request, telling the user that there are criss-cross merges, but it wouldn't be so helpful. Noticed by James Pickens. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 13 July 2010, 20:53:20 UTC |
449aeb1 | Junio C Hamano | 13 July 2010, 16:14:35 UTC | Merge branch 'maint' * maint: git fetch documentation: describe short '-p' synonym to '--prune' option format-patch: document the format.to configuration setting | 13 July 2010, 16:14:35 UTC |
1b79d1c | Oren Held | 13 July 2010, 12:01:40 UTC | git fetch documentation: describe short '-p' synonym to '--prune' option It's already implemented, just undocumented. Signed-off-by: Oren Held <orenhe@il.ibm.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 13 July 2010, 16:13:34 UTC |
312a30e | Miklos Vajna | 12 July 2010, 18:58:38 UTC | format-patch: document the format.to configuration setting [jc: with simplification from Jonathan Nieder] Signed-off-by: Miklos Vajna <vmiklos@frugalware.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 13 July 2010, 16:02:59 UTC |
108da0d | Jens Lehmann | 09 July 2010, 22:18:38 UTC | git add: Add the "--ignore-missing" option for the dry run Sometimes it is useful to know if a file or directory will be ignored before it is added to the work tree. An example is "git submodule add", where it would be really nice to be able to fail with an appropriate error message before the submodule is cloned and checked out. Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 July 2010, 22:13:54 UTC |
637ab29 | Michael J Gruber | 12 July 2010, 10:33:49 UTC | test-lib: TAP compliance for skipping tests on request Make the output TAP compliant for tests skipped on request (GIT_SKIP_TESTS). Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Acked-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 July 2010, 14:53:08 UTC |
47e67d4 | Michael J Gruber | 12 July 2010, 10:32:18 UTC | test-lib: simplify GIT_SKIP_TESTS loop 04ece59 (GIT_SKIP_TESTS: allow users to omit tests that are known to break, 2006-12-28) introduced GIT_SKIP_TESTS, and since then we have had two nested loops iterating over GIT_SKIP_TESTS with the same loop variable. Reduce this to one loop. Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 July 2010, 14:52:52 UTC |
609eb9f | Junio C Hamano | 12 July 2010, 06:47:29 UTC | Merge branch 'maint' * maint: Documentation: Spelling fix in protocol-capabilities.txt checkout: accord documentation to what git does t0005: work around strange $? in ksh when program terminated by a signal | 12 July 2010, 06:47:29 UTC |
bcefed4 | Jonathan Nieder | 11 July 2010, 04:20:25 UTC | t3000 (ls-files -o): modernize style This script is part of the second batch of tests, from the same day the test infrastructure was added to git. Update it to use a more modern style in the spirit of v1.6.4-rc0~45^2~2 (2009-05-22). In particular: - Put setup code inside test assertions, to avoid unexpected breakages and avoid stray output without -v (as t/README recommends); and - Put the test title on the same line as the "test_expect_success", and end the line with a single-quote to begin the body of the test which is one multi-line string. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 July 2010, 06:14:17 UTC |
5d1e341 | Fredrik Skolmli | 10 July 2010, 00:00:01 UTC | Documentation: Spelling fix in protocol-capabilities.txt Signed-off-by: Fredrik Skolmli <fredrik@frsk.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 10 July 2010, 00:36:28 UTC |
5e5ffa0 | Nicolas Sebrecht | 09 July 2010, 20:27:49 UTC | merge-recursive: use "up-to-date" instead of "uptodate" in error message for consistency Signed-off-by: Nicolas Sebrecht <nicolas.s.dev@gmx.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 09 July 2010, 23:28:46 UTC |
142183d | Nicolas Sebrecht | 09 July 2010, 20:27:48 UTC | checkout: accord documentation to what git does Signed-off-by: Nicolas Sebrecht <nicolas.s.dev@gmx.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 09 July 2010, 23:28:21 UTC |
0e418e5 | Johannes Sixt | 09 July 2010, 07:05:16 UTC | t0005: work around strange $? in ksh when program terminated by a signal ksh93 is known to report $? of programs that terminated by a signal as 256 + signal number instead of 128 + signal number like other POSIX compliant shells (ksh's behavior is still POSIX compliant in this regard). Signed-off-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 09 July 2010, 23:27:31 UTC |
037c43c | Junio C Hamano | 09 July 2010, 01:55:50 UTC | Merge remote branch 'ko/master' into jc/read-tree-cache-tree-fix * ko/master: (2325 commits) Git 1.7.2-rc2 backmerge a few more fixes to 1.7.1.X series fix git branch -m in presence of cross devices t/t0006: specify timezone as EST5 not EST to comply with POSIX add missing && to submodule-merge testcase t/README: document more test helpers test-date: fix sscanf type conversion xdiff: optimise for no whitespace difference when ignoring whitespace. gitweb: Move evaluate_gitweb_config out of run_request parse_date: fix signedness in timezone calculation t0006: test timezone parsing rerere.txt: Document forget subcommand t/README: proposed rewording... t/README: Document the do's and don'ts of tests t/README: Add a section about skipping tests t/README: Document test_expect_code t/README: Document test_external* t/README: Document the prereq functions, and 3-arg test_* t/README: Typo: paralell -> parallel t/README: The trash is in 't/trash directory.$name' ... Conflicts: builtin-read-tree.c | 09 July 2010, 01:55:50 UTC |
e13f38a | Bo Yang | 08 July 2010, 15:12:34 UTC | diff.c: fix a graph output bug When --graph is in effect, the line-prefix typically has colored graph line segments and ends with reset. The color sequence "set" given to this function is for showing the metainfo part of the patch text and (1) it should not be applied to the graph lines, and (2) it will be reset at the end of line_prefix so it won't be in effect anyway. Signed-off-by: Bo Yang <struggleyb.nku@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 09 July 2010, 01:09:14 UTC |
e8344e8 | Ævar Arnfjörð Bjarmason | 08 July 2010, 01:16:06 UTC | tests: Use skip_all=* to skip tests Change tests to skip with skip_all=* + test_done instead of using say + test_done. This is a follow-up to "tests: Skip tests in a way that makes sense under TAP" (fadb5156e4). I missed these cases when prepearing that patch, hopefully this is all of them. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 09 July 2010, 00:53:12 UTC |
b1f4751 | Junio C Hamano | 09 July 2010, 00:27:43 UTC | Fix "read-tree -m A B" priming the cache-tree In 456156d a shortcut to priming the index tree reference was introduced, but the justification for it was completely bogus. "read-tree -m A B" is to take the index (and the working tree) that is largely based on (but does not have to match exactly) A and update it to B, while carrying the local change that does not overlap the difference between A and B, so there is no reason to expect that the resulting index should match the tree B. Noticed and test provided by Heiko Voigt. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 09 July 2010, 00:27:43 UTC |
4ded691 | Eli Barzilay | 08 July 2010, 02:14:31 UTC | Reorganize `git-log' man page to clarify common diff options. This will reduce considerably the common confusion where people miss the `--follow' option, and wonder why `-M'/`-C' is not working. * Move the diff options include to after the log-specific flags, and add a "Common diff options" subtitle before them. (These options apply only when patches are shown, which is not a common use case among newbies, so having them first is confusing.) * Move the `--follow' description to the top of the listed options. The options before that seem less important: `--full-diff' applies only when patches are shown, `--source' and `--decorate' are less useful with many common commit specifications. * Clarify that `--follow' works only for a single path argument. Signed-off-by: Eli Barzilay <eli@barzilay.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 09 July 2010, 00:00:09 UTC |
4ecb793 | Jonathan Nieder | 08 July 2010, 13:36:02 UTC | t9118 (git-svn): prevent early failure from taking down later tests When test #2 fails, the cwd is project/, causing all the remaining tests in the same script to get confused and fail. So in the spirit of v1.7.1.1~53^2~10 (t5550-http-fetch: Use subshell for repository operations, 2010-04-17), use a subshell for svn working copy operations. This way, the cwd will reliably return to the top of the trash directory and later tests can still be run when a command has failed. Reported-by: A Large Angry SCM <gitzilla@gmail.com> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Acked-by: Eric Wong <normalperson@yhbt.net> | 08 July 2010, 20:57:53 UTC |
08fd28b | Michael J Gruber | 08 July 2010, 19:16:35 UTC | t9118: avoid PEG revision identifier in tests @ is SVN's identifier for PEG revisions. But SVN's treatment of PEG identifiers in copy target URLs changed in r954995/r952973, i.e. between 1.6.11 and 1.6.12. They get eaten now (which is considered the right way). Therefore, avoid the @ in the tests with funky branch names. Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Acked-by: Eric Wong <normalperson@yhbt.net> | 08 July 2010, 20:35:42 UTC |
e7b082a | Nazri Ramliy | 03 July 2010, 02:55:06 UTC | grep -O: Do not pass color sequences as filenames to pager With a .gitconfig like this: [color] ui = auto [color "grep"] filename = magenta if stdout is a terminal, the grep machinery will output the color sequence \e[36m before each filename in its output. In the case of "git grep -O foo", output is argv for the pager. Disable color when calling the grep machinery in this case. Signed-off-by: Nazri Ramliy <ayiehere@gmail.com> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 07 July 2010, 18:23:17 UTC |
9918285 | Junio C Hamano | 07 July 2010, 18:19:42 UTC | Git 1.7.2-rc2 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 07 July 2010, 18:19:42 UTC |
2a16315 | Junio C Hamano | 07 July 2010, 18:18:44 UTC | Merge branch 'ab/tap' * ab/tap: t/README: document more test helpers t/README: proposed rewording... t/README: Document the do's and don'ts of tests t/README: Add a section about skipping tests t/README: Document test_expect_code t/README: Document test_external* t/README: Document the prereq functions, and 3-arg test_* t/README: Typo: paralell -> parallel t/README: The trash is in 't/trash directory.$name' t/t9700/test.pl: don't access private object members, use public access methods t9700: Use Test::More->builder, not $Test::Builder::Test tests: Say "pass" rather than "ok" on empty lines for TAP tests: Skip tests in a way that makes sense under TAP test-lib: output a newline before "ok" under a TAP harness test-lib: Make the test_external_* functions TAP-aware test-lib: Adjust output to be valid TAP format | 07 July 2010, 18:18:44 UTC |
fcd91f8 | Junio C Hamano | 07 July 2010, 18:18:26 UTC | Merge branch 'maint' * maint: backmerge a few more fixes to 1.7.1.X series rev-parse: fix --parse-opt --keep-dashdash --stop-at-non-option fix git branch -m in presence of cross devices Conflicts: RelNotes builtin/rev-parse.c | 07 July 2010, 18:18:26 UTC |
c30e742 | Junio C Hamano | 07 July 2010, 17:36:19 UTC | backmerge a few more fixes to 1.7.1.X series Signed-off-by: Junio C Hamano <gitster@pobox.com> | 07 July 2010, 18:16:32 UTC |
878bd80 | Junio C Hamano | 07 July 2010, 18:13:40 UTC | Merge branch 'maint-1.6.4' into maint * maint-1.6.4: rev-parse: fix --parse-opt --keep-dashdash --stop-at-non-option | 07 July 2010, 18:13:40 UTC |
2998138 | Uwe Kleine-König | 06 July 2010, 14:46:05 UTC | rev-parse: fix --parse-opt --keep-dashdash --stop-at-non-option The ?: operator has a lower priority than |, so the implicit associativity made the 6th argument of parse_options be PARSE_OPT_KEEP_DASHDASH if keep_dashdash was true discarding PARSE_OPT_STOP_AT_NON_OPTION and PARSE_OPT_SHELL_EVAL. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 07 July 2010, 18:11:50 UTC |
8e99859 | Junio C Hamano | 07 July 2010, 17:34:04 UTC | Merge branch 'mg/doc-rev-parse-treepath-syntax' into maint * mg/doc-rev-parse-treepath-syntax: git-rev-parse.txt: Add more examples for caret and colon git-rev-parse.txt: Document ":path" specifier | 07 July 2010, 17:34:04 UTC |
56bface | Junio C Hamano | 07 July 2010, 17:25:15 UTC | Merge branch 'tr/receive-pack-aliased-update-fix' into maint * tr/receive-pack-aliased-update-fix: check_aliased_update: strcpy() instead of strcat() to copy receive-pack: detect aliased updates which can occur with symrefs receive-pack: switch global variable 'commands' to a parameter Conflicts: t/t5516-fetch-push.sh | 07 July 2010, 17:25:15 UTC |
765c225 | Pierre Habouzit | 07 July 2010, 07:47:20 UTC | fix git branch -m in presence of cross devices When you have for example a bare repository stored on NFS, and that you create new workdirs locally (using contrib's git-new-workdir), logs/refs is a symlink to a different device. Hence when the reflogs are renamed, all must happen below logs/refs or one gets cross device rename errors like: git branch -m foo error: unable to move logfile logs/refs/heads/master to tmp-renamed-log: Invalid cross-device link fatal: Branch rename failed The fix is hence to use logs/refs/.tmp-renamed-log as a temporary log name, instead of just tmp-renamed-log. Signed-off-by: Pierre Habouzit <madcoder@debian.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 07 July 2010, 16:17:00 UTC |
0cc4da3 | Brandon Casey | 06 July 2010, 23:34:20 UTC | t/t0006: specify timezone as EST5 not EST to comply with POSIX POSIX requires that both the timezone "standard" and "offset" be specified in the TZ environment variable. This causes a problem on IRIX which does not understand the timezone 'EST'. Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 07 July 2010, 16:13:17 UTC |
d5f5d0a | Junio C Hamano | 07 July 2010, 04:53:11 UTC | do not write out index when status does not have to Some codepaths, such as "git status" and "git commit --dry-run", tried to opportunisticly refresh the index and write the result out. But they did so without checking if there was actually any change that needs to be written out. Noticed by Jeff King and Daniel at Rutgers.edu Signed-off-by: Junio C Hamano <gitster@pobox.com> | 07 July 2010, 04:53:11 UTC |
78db709 | Junio C Hamano | 07 July 2010, 04:29:21 UTC | Merge branch 'maint' * maint: add missing && to submodule-merge testcase test-date: fix sscanf type conversion | 07 July 2010, 04:29:21 UTC |
420432d | Heiko Voigt | 06 July 2010, 19:34:31 UTC | add missing && to submodule-merge testcase Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 07 July 2010, 04:28:55 UTC |
c966745 | Jonathan Nieder | 06 July 2010, 20:04:10 UTC | t/README: document more test helpers There is no documentation in t/README for test_must_fail, test_might_fail, test_cmp, or test_when_finished. Reported-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 07 July 2010, 04:26:11 UTC |
49a43f5 | Brandon Casey | 06 July 2010, 21:56:51 UTC | Makefile: work around ksh's failure to handle missing list argument to for loop ksh does not like it when the list argument is missing in a 'for' loop. This can happen when NO_CURL is set which causes REMOTE_CURL_ALIASES to be unset. In this case, the 'for' loop in the Makefile is expanded to look like this: for p in ; do and ksh complains like this: /bin/ksh: syntax error at line 15 : `;' unexpected The existing attempt to work around this issue, introduced by 70b89f87, tried to protect the 'for' loop by first testing whether REMOTE_CURL_ALIASES was empty, but this does not work since, as Johannes Sixt explains, "Before the test for emptyness can happen, the complete statement must be parsed, but ksh finds a syntax error in the statement and, therefore, cannot even begin to execute the statement. (ksh doesn't follow POSIX in this regard, where this would not be a syntax error.)". Make's $(foreach) function could be used to avoid this shell glitch, but since it has already caused a problem once before by generating a command line that exceeded the maximum argument list length on IRIX, let's adopt Bruce Stephens's suggestion for working around this issue in the same way the OpenSSL folks have done it. This solution first assigns the contents of the REMOTE_CURL_ALIASES make variable to a shell variable and then supplies the shell variable as the list argument in the 'for' loop. This satisfies ksh and has the expected behavior even if $(REMOTE_CURL_ALIASES) is empty. Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 07 July 2010, 04:18:21 UTC |
d66ee04 | Jeff King | 06 July 2010, 07:54:33 UTC | test-date: fix sscanf type conversion Reading into a time_t isn't portable, since we don't know the exact type. Instead, use an unsigned long, which is what show_date wants, anyway. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 06 July 2010, 15:42:15 UTC |
5b5275f | Junio C Hamano | 06 July 2010, 06:33:07 UTC | Merge branch 'maint' * maint: xdiff: optimise for no whitespace difference when ignoring whitespace. | 06 July 2010, 06:33:07 UTC |
b4cf0f1 | Dylan Reid | 06 July 2010, 03:11:17 UTC | xdiff: optimise for no whitespace difference when ignoring whitespace. In xdl_recmatch, do the memcmp to check if the two lines are equal before checking if whitespace flags are set. If the lines are identical, then there is no need to check if they differ only in whitespace. This makes the common case (there is no whitespace difference) faster. It costs the case where lines are the same length and contain whitespace differences, but the common case is more than 20% faster. Signed-off-by: Dylan Reid <dgreid@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 06 July 2010, 06:27:41 UTC |
57f2b6b | Junio C Hamano | 06 July 2010, 06:08:36 UTC | rebase-i: do not get fooled by a log message ending with backslash Signed-off-by: Junio C Hamano <gitster@pobox.com> | 06 July 2010, 06:23:37 UTC |
41f556b | Junio C Hamano | 06 July 2010, 05:16:15 UTC | rebase-i: style fix Case arms should align with "case" and "esac". Do not cat a file into a pipeline; just make the downstream command read from the file. Having a while statement as a downstream of a pipe is fine, but the loop should begin on its own line. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 06 July 2010, 06:22:52 UTC |
f028cda | Michael J Gruber | 05 July 2010, 16:11:41 UTC | Documentation: link to gitrevisions rather than git-rev-parse Currently, whenever we need documentation for revisions and ranges, we link to the git-rev-parse man page, i.e. a plumbing man page, which has this along with the documentation of all rev-parse modes. Link to the new gitrevisions man page instead in all cases except - when the actual git-rev-parse command is referred to or - in very technical context (git-send-pack). Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 05 July 2010, 20:39:13 UTC |
1ed6f2c | Michael J Gruber | 05 July 2010, 16:11:40 UTC | Documentation: gitrevisions Create a new man page gitrevisions(7) which contains the revsions and ranges documentation but not more. This uses (per include) the same bits as the pertaining section of git-rev-parse(1). Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 05 July 2010, 20:39:02 UTC |
5a8f311 | Michael J Gruber | 05 July 2010, 16:11:39 UTC | Documentation: split off rev doc into include file Currently, the documentation for revisions and ranges sits in the git-rev-parse man page, i.e. a plumbing man page, along with the documentation of all rev-parse modes. Split off the revisions and ranges section into an included file to prepare for restructuring. Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 05 July 2010, 20:38:10 UTC |
869d588 | Jakub Narebski | 05 July 2010, 18:52:43 UTC | gitweb: Move evaluate_gitweb_config out of run_request Move evaluate_gitweb_config() and evaluate_git_version() out of run_request() to run(), making them not run one for each request. This changes how git behaves in FastCGI case. This change makes it impossible to have config which changes with request, but I don't think anyone relied on such (hidden action) behavior. While at it, reset timer and number of git commands at beginning of run_request() in new reset_timer() subroutine. This fixes case when gitweb was run using FastCGI interface: time is reported for request, and not for single run of gitweb script. This changes slightly behavior in non-FastCGI case: the number of git commands reported is 1 less (running `git --version` one per gitweb is not counted now). Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 05 July 2010, 20:28:20 UTC |
9ba0f03 | Jeff King | 04 July 2010, 11:00:17 UTC | parse_date: fix signedness in timezone calculation When no timezone is specified, we deduce the offset by subtracting the result of mktime from our calculated timestamp. However, our timestamp is stored as an unsigned integer, meaning we perform the subtraction as unsigned. For a negative offset, this means we wrap to a very high number, and our numeric timezone is in the millions of hours. You can see this bug by doing: $ TZ=EST \ GIT_AUTHOR_DATE='2010-06-01 10:00' \ git commit -a -m foo $ git cat-file -p HEAD | grep author author Jeff King <peff@peff.net> 1275404416 +119304128 Instead, we should perform this subtraction as a time_t, the same type that mktime returns. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 05 July 2010, 18:57:07 UTC |
ad9d8e8 | Junio C Hamano | 05 July 2010, 18:56:53 UTC | Merge branch 'maint' * maint: t0006: test timezone parsing rerere.txt: Document forget subcommand Documentation/git-gc.txt: add reference to githooks | 05 July 2010, 18:56:53 UTC |
6b09778 | Jeff King | 04 July 2010, 10:48:35 UTC | t0006: test timezone parsing Previously, test-date simply ignored the parsed timezone and told show_date() to use UTC. Instead, let's print out what we actually parsed. While we're at it, let's make it easy for tests to work in a specific timezone. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 05 July 2010, 18:54:50 UTC |
31991b0 | Ævar Arnfjörð Bjarmason | 05 July 2010, 17:33:03 UTC | git submodule: add submodules with git add -f <path> Change `git submodule add' to add the new submodule <path> with `git add --force'. I keep my /etc in .git with a .gitignore that contains just "*". I.e. `git status' will ignore everything that isn't in the tree already. When I do: git submodule add <url> hlagh git-submodule will get as far as checking out the remote repository into hlagh, but it'll die right afterwards when it fails to add the new path: The following paths are ignored by one of your .gitignore files: hlagh Use -f if you really want to add them. fatal: no files added Failed to add submodule 'hlagh' Currently there's no way to add a submodule in this situation other than to remove the ignored path from the .gitignore while I'm at it. That's silly, when you run `git submodule add' you're explicitly saying that you want to add something *new* to the repository. Instead it should just add the path with `git add --force'. Initially I implemented this by adding new -f and --force options to `git submodule add'. But if the --force option isn't supplied it'll get as far as cloning `hlagh', but won't add it. So the first thing the user has to do is to remove `hlagh' and then try again with the --force option. That sucks, it should just add the path to begin with. I can't think of any usecase where you've gone through the trouble of typing out `git submodule add ..', but wish to be overriden by a `gitignore'. The submodule semantics should be more like `git init', not `git add'. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 05 July 2010, 18:53:59 UTC |
2c64034 | Michael J Gruber | 05 July 2010, 13:15:20 UTC | rerere.txt: Document forget subcommand dea4562 (rerere forget path: forget recorded resolution, 2009-12-25) introduced the forget subcommand for rerere. Document it. Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 05 July 2010, 18:51:20 UTC |
6fd4529 | Junio C Hamano | 05 July 2010, 18:37:30 UTC | t/README: proposed rewording... Signed-off-by: Junio C Hamano <gitster@pobox.com> | 05 July 2010, 18:37:30 UTC |
20873f4 | Ævar Arnfjörð Bjarmason | 02 July 2010, 14:59:49 UTC | t/README: Document the do's and don'ts of tests Add a "Do's, don'ts & things to keep in mind" subsection to the "Writing Tests" documentation. Much of this is based on Junio C Hamano's "Test your stuff" section in <7vhbkj2kcr.fsf@alter.siamese.dyndns.org>. I turned it into a list of do's and don'ts to make it easier to skim it, and integrated my note that a TAP harness will get confused if you print "ok" or "not ok" at the beginning of a line. Thad had to be fixed in 335f87871fe5aa6b3fd55b2b4e80f16fe9681483 when TAP support was introduced. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 05 July 2010, 18:23:47 UTC |
b5500d1 | Ævar Arnfjörð Bjarmason | 02 July 2010, 14:59:48 UTC | t/README: Add a section about skipping tests Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 05 July 2010, 18:23:45 UTC |
97d9fd9 | Ævar Arnfjörð Bjarmason | 02 July 2010, 14:59:47 UTC | t/README: Document test_expect_code test_expect_code (which was introduced in d3bfdb75) never had any documentation. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 05 July 2010, 18:23:43 UTC |
2fac6a4 | Ævar Arnfjörð Bjarmason | 02 July 2010, 14:59:46 UTC | t/README: Document test_external* There was do documentation for the test_external_without_stderr and test_external functions. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 05 July 2010, 18:23:41 UTC |