6320526 | Junio C Hamano | 23 September 2011, 21:38:39 UTC | Git 1.7.6.4 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 23 September 2011, 21:43:05 UTC |
a0b1cb6 | Junio C Hamano | 23 September 2011, 21:30:49 UTC | Merge branch 'cb/maint-ls-files-error-report' into maint * cb/maint-ls-files-error-report: t3005: do not assume a particular order of stdout and stderr of git-ls-files ls-files: fix pathspec display on error | 23 September 2011, 21:30:49 UTC |
85b3c75 | Allan Caffee | 01 August 2011, 01:52:41 UTC | describe: Refresh the index when run with --dirty When running git describe --dirty the index should be refreshed. Previously the cached index would cause describe to think that the index was dirty when, in reality, it was just stale. The issue was exposed by python setuptools which hardlinks files into another directory when building a distribution. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 23 September 2011, 21:28:17 UTC |
84b0514 | Junio C Hamano | 23 September 2011, 21:27:33 UTC | Merge branch 'jc/maint-clone-alternates' into maint * jc/maint-clone-alternates: clone: clone from a repository with relative alternates clone: allow more than one --reference | 23 September 2011, 21:27:33 UTC |
406c1c4 | Junio C Hamano | 23 September 2011, 21:21:39 UTC | Merge branch 'nd/maint-clone-gitdir' into maint * nd/maint-clone-gitdir: clone: allow to clone from .git file read_gitfile_gently(): rename misnamed function to read_gitfile() | 23 September 2011, 21:21:39 UTC |
be5acb3 | Junio C Hamano | 23 September 2011, 21:20:51 UTC | Merge branch 'mh/check-ref-format-print-normalize' into maint * mh/check-ref-format-print-normalize: Forbid DEL characters in reference names check-ref-format --print: Normalize refnames that start with slashes | 23 September 2011, 21:20:51 UTC |
503359f | Junio C Hamano | 23 September 2011, 21:16:22 UTC | Merge branch 'mg/branch-set-upstream-previous' into maint * mg/branch-set-upstream-previous: branch.c: use the parsed branch name | 23 September 2011, 21:16:22 UTC |
40ffc49 | Junio C Hamano | 23 September 2011, 21:11:18 UTC | Merge branch 'gb/maint-am-patch-format-error-message' into maint * gb/maint-am-patch-format-error-message: am: format is in $patch_format, not parse_patch | 23 September 2011, 21:11:18 UTC |
e622f41 | Jay Soffian | 19 September 2011, 23:40:52 UTC | git-mergetool: check return value from read Mostly fixed already by 6b44577 (mergetool: check return value from read, 2011-07-01). Catch two uses it missed. Signed-off-by: Jay Soffian <jaysoffian@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 20 September 2011, 00:41:49 UTC |
740a8fc | Junio C Hamano | 12 September 2011, 17:33:03 UTC | Git 1.7.6.3 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 September 2011, 17:33:40 UTC |
8702fee | Junio C Hamano | 12 September 2011, 17:19:57 UTC | Merge branch 'jl/maint-fetch-submodule-check-fix' into maint * jl/maint-fetch-submodule-check-fix: fetch: skip on-demand checking when no submodules are configured | 12 September 2011, 17:19:57 UTC |
c2d5358 | Junio C Hamano | 12 September 2011, 05:08:56 UTC | Prepare for 1.7.6.3 maintenance release Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 September 2011, 05:33:27 UTC |
e1fd529 | Junio C Hamano | 12 September 2011, 05:33:24 UTC | Merge branch 'ms/reflog-show-is-default' into maint * ms/reflog-show-is-default: reflog: actually default to subcommand 'show' | 12 September 2011, 05:33:24 UTC |
2f19a52 | Junio C Hamano | 12 September 2011, 05:33:20 UTC | Merge branch 'jk/reset-reflog-message-fix' into maint * jk/reset-reflog-message-fix: reset: give better reflog messages | 12 September 2011, 05:33:20 UTC |
5d4fcd9 | Junio C Hamano | 12 September 2011, 05:33:16 UTC | Merge branch 'vi/make-test-vector-less-specific' into maint * vi/make-test-vector-less-specific: tests: cleanup binary test vector files | 12 September 2011, 05:33:16 UTC |
fcfc2d5 | Junio C Hamano | 12 September 2011, 04:54:32 UTC | Merge branch 'jk/tag-contains-ab' (early part) into maint * 'jk/tag-contains-ab' (early part): tag: speed up --contains calculation | 12 September 2011, 04:54:32 UTC |
908bb1a | Junio C Hamano | 12 September 2011, 04:53:47 UTC | Merge branch 'dz/connect-error-report' into maint * dz/connect-error-report: Do not log unless all connect() attempts fail | 12 September 2011, 04:53:47 UTC |
b3038a5 | Junio C Hamano | 12 September 2011, 04:53:39 UTC | Merge branch 'jc/maint-mergetool-read-fix' into maint * jc/maint-mergetool-read-fix: mergetool: check return value from read | 12 September 2011, 04:53:39 UTC |
eff7c32 | Junio C Hamano | 12 September 2011, 04:53:13 UTC | Merge branch 'jk/maint-config-param' into maint * jk/maint-config-param: config: use strbuf_split_str instead of a temporary strbuf strbuf: allow strbuf_split to work on non-strbufs config: avoid segfault when parsing command-line config config: die on error in command-line config fix "git -c" parsing of values with equals signs strbuf_split: add a max parameter | 12 September 2011, 04:53:13 UTC |
7baf32a | Junio C Hamano | 12 September 2011, 04:52:18 UTC | Merge branch 'jn/doc-dashdash' into maint * jn/doc-dashdash: Documentation/i18n: quote double-dash for AsciiDoc Documentation: quote double-dash for AsciiDoc Conflicts: Documentation/git-mergetool--lib.txt | 12 September 2011, 04:52:18 UTC |
3fc44a1 | Junio C Hamano | 12 September 2011, 04:51:10 UTC | Merge branch 'jk/maint-1.7.2-status-ignored' into maint * jk/maint-1.7.2-status-ignored: git status --ignored: tests and docs status: fix bug with missing --ignore files Conflicts: Documentation/git-status.txt t/t7508-status.sh | 12 September 2011, 04:51:10 UTC |
30962fb | Sverre Rabbelier | 11 September 2011, 12:38:10 UTC | SubmittingPathces: remove Cogito reference Removing Cogito leaves just git and StGit, which is a rather incomplete list of git diff tools available. Sidestep the problem of deciding what tools to mention by not mentioning any. Signed-off-by: Sverre Rabbelier <srabbelier@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 September 2011, 03:53:00 UTC |
18322ba | Jens Lehmann | 09 September 2011, 18:22:03 UTC | fetch: skip on-demand checking when no submodules are configured It makes no sense to do the - possibly very expensive - call to "rev-list <new-ref-sha1> --not --all" in check_for_new_submodule_commits() when there aren't any submodules configured. Leave check_for_new_submodule_commits() early when no name <-> path mappings for submodules are found in the configuration. To make that work reading the configuration had to be moved further up in cmd_fetch(), as doing that after the actual fetch of the superproject was too late. Reported-by: Martin Fick <mfick@codeaurora.org> Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 09 September 2011, 20:59:20 UTC |
509d597 | Junio C Hamano | 06 September 2011, 18:41:02 UTC | Git 1.7.6.2 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 06 September 2011, 18:41:02 UTC |
5a277f3 | Junio C Hamano | 06 September 2011, 18:06:32 UTC | Revert "Merge branch 'cb/maint-quiet-push' into maint" This reverts commit ffa69e61d3c5730bd4b65a465efc130b0ef3c7df, reversing changes made to 4a13c4d14841343d7caad6ed41a152fee550261d. Adding a new command line option to receive-pack and feed it from send-pack is not an acceptable way to add features, as there is no guarantee that your updated send-pack will be talking to updated receive-pack. New features need to be added via the capability mechanism negotiated over the protocol. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 06 September 2011, 18:10:41 UTC |
b15b5b1 | Thomas Rast | 30 August 2011, 09:21:07 UTC | Documentation: clarify effects of -- <path> arguments 'git log -- <path>' does not "show commits that affect the specified paths" in a literal sense unless --full-history is given (for example, a file that only existed on a side branch will turn up no commits at all!). Reword it to specify the actual intent of the filtering, and point to the "History Simplification" section. Signed-off-by: Thomas Rast <trast@student.ethz.ch> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 30 August 2011, 17:05:21 UTC |
dff4b0e | Giuseppe Bilotta | 29 August 2011, 15:22:06 UTC | am: format is in $patch_format, not parse_patch The error message given when the patch format was not recognized was wrong, since the variable checked was $parse_patch rather than $patch_format. Fix by checking the non-emptyness of the correct variable. Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 29 August 2011, 16:07:54 UTC |
385ceec | Johannes Sixt | 28 August 2011, 07:34:56 UTC | t3005: do not assume a particular order of stdout and stderr of git-ls-files There is no guarantee that stderr is flushed before stdout when both channels are redirected to a file. Check the channels using independent files. Signed-off-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 29 August 2011, 05:19:27 UTC |
f3738c1 | Michael Haggerty | 27 August 2011, 04:12:44 UTC | Forbid DEL characters in reference names DEL is an ASCII control character and therefore should not be permitted in reference names. Add tests for this and other unusual characters. Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 27 August 2011, 18:47:49 UTC |
cd2b8ae | Junio C Hamano | 25 August 2011, 21:46:52 UTC | whitespace: have SP on both sides of an assignment "=" I've deliberately excluded the borrowed code in compat/nedmalloc directory. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 25 August 2011, 21:47:07 UTC |
f877fd8 | Pang Yan Han | 25 August 2011, 15:40:50 UTC | update-ref: whitespace fix Signed-off-by: Pang Yan Han <pangyanhan@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 25 August 2011, 21:42:11 UTC |
2f633f4 | Michael Haggerty | 25 August 2011, 19:19:24 UTC | check-ref-format --print: Normalize refnames that start with slashes When asked if "refs///heads/master" is valid, check-ref-format says "Yes, it is well formed", and when asked to print canonical form, it shows "refs/heads/master". This is so that it can be tucked after "$GIT_DIR/" to form a valid pathname for a loose ref, and we normalize a pathname like "$GIT_DIR/refs///heads/master" to de-dup the slashes in it. Similarly, when asked if "/refs/heads/master" is valid, check-ref-format says "Yes, it is Ok", but the leading slash is not removed when printing, leading to "$GIT_DIR//refs/heads/master". Fix it to make sure such leading slashes are removed. Add tests that such refnames are accepted and normalized correctly. Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 25 August 2011, 20:39:38 UTC |
ccef604 | Junio C Hamano | 24 August 2011, 19:16:58 UTC | Git 1.7.6.1 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 24 August 2011, 19:16:58 UTC |
c43a1be | Junio C Hamano | 24 August 2011, 19:16:15 UTC | Merge branch 'jc/maint-smart-http-race-upload-pack' into maint * jc/maint-smart-http-race-upload-pack: get_indexed_object can return NULL if nothing is in that slot; check for it | 24 August 2011, 19:16:15 UTC |
2a74532 | Brian Harring | 24 August 2011, 05:47:17 UTC | get_indexed_object can return NULL if nothing is in that slot; check for it This fixes a segfault introduced by 051e400; via it, no longer able to trigger the http/smartserv race. Signed-off-by: Brian Harring <ferringb@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 24 August 2011, 17:50:33 UTC |
b0b35a6 | Junio C Hamano | 23 August 2011, 22:28:18 UTC | Update draft release notes for 1.7.6.1 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 23 August 2011, 22:28:18 UTC |
c9321a0 | Junio C Hamano | 23 August 2011, 22:27:30 UTC | Merge branch 'jc/maint-combined-diff-work-tree' into maint * jc/maint-combined-diff-work-tree: diff -c/--cc: do not mistake "resolved as deletion" as "use working tree" Conflicts: combine-diff.c | 23 August 2011, 22:27:30 UTC |
36bad9d | Junio C Hamano | 23 August 2011, 22:20:06 UTC | Merge branch 'cb/maint-exec-error-report' into maint * cb/maint-exec-error-report: notice error exit from pager error_routine: use parent's stderr if exec fails | 23 August 2011, 22:20:06 UTC |
ffa69e6 | Junio C Hamano | 23 August 2011, 22:19:45 UTC | Merge branch 'cb/maint-quiet-push' into maint * cb/maint-quiet-push: receive-pack: do not overstep command line argument array propagate --quiet to send-pack/receive-pack Conflicts: Documentation/git-receive-pack.txt Documentation/git-send-pack.txt | 23 August 2011, 22:19:45 UTC |
4a13c4d | Junio C Hamano | 23 August 2011, 22:17:50 UTC | Merge branch 'jc/maint-smart-http-race-upload-pack' into maint * jc/maint-smart-http-race-upload-pack: helping smart-http/stateless-rpc fetch race | 23 August 2011, 22:17:50 UTC |
02c2c60 | Junio C Hamano | 23 August 2011, 22:17:14 UTC | Merge branch 'jc/no-gitweb-test-without-cgi-etc' into maint * jc/no-gitweb-test-without-cgi-etc: t/gitweb-lib.sh: skip gitweb tests when perl dependencies are not met | 23 August 2011, 22:17:14 UTC |
e6baf4a | Junio C Hamano | 23 August 2011, 01:05:16 UTC | clone: clone from a repository with relative alternates Cloning from a local repository blindly copies or hardlinks all the files under objects/ hierarchy. This results in two issues: - If the repository cloned has an "objects/info/alternates" file, and the command line of clone specifies --reference, the ones specified on the command line get overwritten by the copy from the original repository. - An entry in a "objects/info/alternates" file can specify the object stores it borrows objects from as a path relative to the "objects/" directory. When cloning a repository with such an alternates file, if the new repository is not sitting next to the original repository, such relative paths needs to be adjusted so that they can be used in the new repository. This updates add_to_alternates_file() to take the path to the alternate object store, including the "/objects" part at the end (earlier, it was taking the path to $GIT_DIR and was adding "/objects" itself), as it is technically possible to specify in objects/info/alternates file the path of a directory whose name does not end with "/objects". Signed-off-by: Junio C Hamano <gitster@pobox.com> | 23 August 2011, 16:56:14 UTC |
dbc92b0 | Junio C Hamano | 23 August 2011, 01:05:15 UTC | clone: allow more than one --reference Also add a test to expose a long-standing bug that is triggered when cloning with --reference option from a local repository that has its own alternates. The alternate object stores specified on the command line are lost, and only alternates copied from the source repository remain. The bug will be fixed in the next patch. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 23 August 2011, 01:57:20 UTC |
1be9d84 | Heiko Voigt | 22 August 2011, 20:36:45 UTC | add technical documentation about ref iteration Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 22 August 2011, 22:01:14 UTC |
9b0ebc7 | Nguyễn Thái Ngọc Duy | 21 August 2011, 11:58:09 UTC | clone: allow to clone from .git file Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 22 August 2011, 21:20:11 UTC |
13d6ec9 | Junio C Hamano | 22 August 2011, 21:04:56 UTC | read_gitfile_gently(): rename misnamed function to read_gitfile() The function was not gentle at all to the callers and died without giving them a chance to deal with possible errors. Rename it to read_gitfile(), and update all the callers. As no existing caller needs a true "gently" variant, we do not bother adding one at this point. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 22 August 2011, 21:04:56 UTC |
885b797 | Michael Haggerty | 22 August 2011, 10:33:52 UTC | Do not use C++-style comments Detected by "gcc -std=iso9899:1990 ...". This patch applies against "maint". Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 22 August 2011, 17:07:07 UTC |
e9d4f74 | Michael J Gruber | 19 August 2011, 11:45:43 UTC | branch.c: use the parsed branch name When setting up tracking info, branch.c uses the given branch specifier ("name"). Use the parsed name ("ref.buf") instead so that git branch --set-upstream @{-1} foo sets up tracking info for the previous branch rather than for a branch named "@{-1}". Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 19 August 2011, 18:01:36 UTC |
ec09954 | Nguyễn Thái Ngọc Duy | 18 August 2011, 13:36:03 UTC | fetch-pack: check for valid commit from server A malicious server can return ACK with non-existent SHA-1 or not a commit. lookup_commit() in this case may return NULL. Do not let fetch-pack crash by accessing NULL address in this case. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 18 August 2011, 19:25:54 UTC |
a47a645 | Nguyễn Thái Ngọc Duy | 17 August 2011, 12:22:13 UTC | checkout-index: remove obsolete comment The first paragraph about flag order is no longer true and is mentioned in git-checkout-index.txt. The rest is also mentioned in git-checkout-index.txt. Remove it and keep uptodate document in one place. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 17 August 2011, 17:39:47 UTC |
8499644 | Junio C Hamano | 16 August 2011, 19:13:38 UTC | Prepare for 1.7.6.1 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 16 August 2011, 19:42:17 UTC |
1f2705e | Junio C Hamano | 16 August 2011, 19:41:14 UTC | Merge branch 'jk/tag-list-multiple-patterns' into maint * jk/tag-list-multiple-patterns: tag: accept multiple patterns for --list | 16 August 2011, 19:41:14 UTC |
1320352 | Junio C Hamano | 16 August 2011, 19:41:14 UTC | Merge branch 'jl/submodule-update-quiet' into maint * jl/submodule-update-quiet: submodule: update and add must honor --quiet flag | 16 August 2011, 19:41:14 UTC |
f4af7f1 | Junio C Hamano | 16 August 2011, 19:41:13 UTC | Merge branch 'jl/submodule-add-relurl-wo-upstream' into maint * jl/submodule-add-relurl-wo-upstream: submodule add: clean up duplicated code submodule add: allow relative repository path even when no url is set submodule add: test failure when url is not configured in superproject Conflicts: git-submodule.sh | 16 August 2011, 19:41:13 UTC |
2a76497 | Junio C Hamano | 16 August 2011, 19:41:13 UTC | Merge branch 'oa/pull-reflog' into maint * oa/pull-reflog: pull: remove extra space from reflog message | 16 August 2011, 19:41:13 UTC |
64b9db5 | Junio C Hamano | 16 August 2011, 19:41:12 UTC | Merge branch 'js/ls-tree-error' into maint * js/ls-tree-error: Ensure git ls-tree exits with a non-zero exit code if read_tree_recursive fails. Add a test to check that git ls-tree sets non-zero exit code on error. | 16 August 2011, 19:41:12 UTC |
5480861 | Junio C Hamano | 16 August 2011, 19:41:12 UTC | Merge branch 'jk/fast-export-quote-path' into maint * jk/fast-export-quote-path: fast-export: quote paths in output | 16 August 2011, 19:41:12 UTC |
a1ee40f | Junio C Hamano | 16 August 2011, 19:41:12 UTC | Merge branch 'jc/checkout-reflog-fix' into maint * jc/checkout-reflog-fix: checkout: do not write bogus reflog entry out | 16 August 2011, 19:41:12 UTC |
7aa5089 | Junio C Hamano | 16 August 2011, 18:41:28 UTC | Merge branch 'jc/maint-reset-unmerged-path' into maint * jc/maint-reset-unmerged-path: reset [<commit>] paths...: do not mishandle unmerged paths | 16 August 2011, 18:41:28 UTC |
b5e104a | Junio C Hamano | 16 August 2011, 18:41:28 UTC | Merge branch 'mz/doc-rebase-abort' into maint * mz/doc-rebase-abort: rebase: clarify "restore the original branch" | 16 August 2011, 18:41:28 UTC |
22d9b79 | Junio C Hamano | 16 August 2011, 18:41:28 UTC | Merge branch 'bw/log-all-ref-updates-doc' into maint * bw/log-all-ref-updates-doc: Documentation: clearly specify what refs are honored by core.logAllRefUpdates | 16 August 2011, 18:41:28 UTC |
cd145e7 | Junio C Hamano | 16 August 2011, 18:41:27 UTC | Merge branch 'js/maint-add-path-stat-pwd' into maint * js/maint-add-path-stat-pwd: get_pwd_cwd(): Do not trust st_dev/st_ino blindly | 16 August 2011, 18:41:27 UTC |
8516c1c | Junio C Hamano | 16 August 2011, 18:41:27 UTC | Merge branch 'ms/help-unknown' into maint * ms/help-unknown: help_unknown_cmd: do not propose an "unknown" cmd | 16 August 2011, 18:41:27 UTC |
412403e | Junio C Hamano | 16 August 2011, 18:41:26 UTC | Merge branch 'mz/doc-synopsis-verse' into maint * mz/doc-synopsis-verse: Documentation: use [verse] for SYNOPSIS sections | 16 August 2011, 18:41:26 UTC |
5329c99 | Junio C Hamano | 16 August 2011, 18:41:26 UTC | Merge branch 'jn/mime-type-with-params' into maint * jn/mime-type-with-params: gitweb: Serve */*+xml 'blob_plain' as text/plain with $prevent_xss gitweb: Serve text/* 'blob_plain' as text/plain with $prevent_xss | 16 August 2011, 18:41:26 UTC |
4a5a800 | Junio C Hamano | 16 August 2011, 18:41:26 UTC | Merge branch 'jc/submodule-sync-no-auto-vivify' into maint * jc/submodule-sync-no-auto-vivify: submodule add: always initialize .git/config entry submodule sync: do not auto-vivify uninteresting submodule | 16 August 2011, 18:41:26 UTC |
a35d78c | Junio C Hamano | 16 August 2011, 18:23:26 UTC | Merge branch 'jc/zlib-wrap' into maint * jc/zlib-wrap: zlib: allow feeding more than 4GB in one go zlib: zlib can only process 4GB at a time zlib: wrap deflateBound() too zlib: wrap deflate side of the API zlib: wrap inflateInit2 used to accept only for gzip format zlib: wrap remaining calls to direct inflate/inflateEnd zlib wrapper: refactor error message formatter | 16 August 2011, 18:23:26 UTC |
184cb4d | Junio C Hamano | 16 August 2011, 18:23:26 UTC | Merge branch 'fk/relink-upon-ldflags-update' into maint * fk/relink-upon-ldflags-update: Makefile: Track changes to LDFLAGS and relink when necessary | 16 August 2011, 18:23:26 UTC |
d5c756e | Junio C Hamano | 16 August 2011, 18:23:26 UTC | Merge branch 'bc/submodule-foreach-stdin-fix-1.7.4' into maint * bc/submodule-foreach-stdin-fix-1.7.4: git-submodule.sh: preserve stdin for the command spawned by foreach t/t7407: demonstrate that the command called by 'submodule foreach' loses stdin | 16 August 2011, 18:23:26 UTC |
824f4a9 | Junio C Hamano | 16 August 2011, 18:23:25 UTC | Merge branch 'aw/rebase-i-p' into maint * aw/rebase-i-p: rebase -i -p: include non-first-parent commits in todo list | 16 August 2011, 18:23:25 UTC |
f253376 | Junio C Hamano | 16 August 2011, 18:23:25 UTC | Merge branch 'jc/diff-index-quick-exit-early' into maint * jc/diff-index-quick-exit-early: diff-index --quiet: learn the "stop feeding the backend early" logic Conflicts: unpack-trees.h | 16 August 2011, 18:23:25 UTC |
e10e476 | Junio C Hamano | 16 August 2011, 18:23:24 UTC | Merge branch 'jk/combine-diff-binary-etc' into maint * jk/combine-diff-binary-etc: combine-diff: respect textconv attributes refactor get_textconv to not require diff_filespec combine-diff: handle binary files as binary combine-diff: calculate mode_differs earlier combine-diff: split header printing into its own function | 16 August 2011, 18:23:24 UTC |
2a6f08a | Jeff King | 16 August 2011, 00:13:07 UTC | am: refresh the index at start and --resolved If a file is unchanged but stat-dirty, we may erroneously fail to apply patches, thinking that they conflict with a dirty working tree. This patch adds a call to "update-index --refresh". It comes as late as possible, so that we don't bother with it for thinks like "git rebase --abort", or when mbox-splitting fails. However, it does come before we actually start applying patches, meaning we will only call it once when we start applying patches (or any time we return to "am" after having resolved conflicts), and not once per patch. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 16 August 2011, 18:15:41 UTC |
0f64bfa | Clemens Buchacher | 01 August 2011, 21:19:58 UTC | ls-files: fix pathspec display on error The following sequence of commands reveals an issue with error reporting of relative paths: $ mkdir sub $ cd sub $ git ls-files --error-unmatch ../bbbbb error: pathspec 'b' did not match any file(s) known to git. $ git commit --error-unmatch ../bbbbb error: pathspec 'b' did not match any file(s) known to git. This bug is visible only if the normalized path (i.e., the relative path from the repository root) is longer than the prefix. Otherwise, the code skips over the normalized path and reads from an unused memory location which still contains a leftover of the original command line argument. So instead, use the existing facilities to deal with relative paths correctly. Also fix inconsistency between "checkout" and "commit", e.g. $ cd Documentation $ git checkout nosuch.txt error: pathspec 'Documentation/nosuch.txt' did not match... $ git commit nosuch.txt error: pathspec 'nosuch.txt' did not match... by propagating the prefix down the codepath that reports the error. Signed-off-by: Clemens Buchacher <drizzd@aon.at> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 11 August 2011, 20:04:16 UTC |
051e400 | Junio C Hamano | 05 August 2011, 20:54:06 UTC | helping smart-http/stateless-rpc fetch race A request to fetch from a client over smart HTTP protocol is served in multiple steps. In the first round, the server side shows the set of refs it has and their values, and the client picks from them and sends "I want to fetch the history leading to these commits". When the server tries to respond to this second request, its refs may have progressed by a push from elsewhere. By design, we do not allow fetching objects that are not at the tip of an advertised ref, and the server rejects such a request. The client needs to try again, which is not ideal especially for a busy server. Teach upload-pack (which is the workhorse driven by git-daemon and smart http server interface) that it is OK for a smart-http client to ask for commits that are not at the tip of any advertised ref, as long as they are reachable from advertised refs. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 08 August 2011, 22:33:28 UTC |
0d086b8 | Junio C Hamano | 08 August 2011, 19:31:01 UTC | receive-pack: do not overstep command line argument array Previous commit added one element to the command line, without making sure the result fits there. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 08 August 2011, 19:31:01 UTC |
0906f6e | Michael Witten | 07 August 2011, 02:44:43 UTC | filter-branch: Export variable `workdir' for --commit-filter According to `git help filter-branch': --commit-filter <command> ... You can use the _map_ convenience function in this filter, and other convenience functions, too... ... However, it turns out that `map' hasn't been usable because it depends on the variable `workdir', which is not propogated to the environment of the shell that runs the commit-filter <command> because the shell is created via a simple-command rather than a compound-command subshell: @SHELL_PATH@ -c "$filter_commit" "git commit-tree" \ $(git write-tree) $parentstr < ../message > ../map/$commit || die "could not write rewritten commit" One solution is simply to export `workdir'. However, it seems rather heavy-handed to export `workdir' to the environments of all commands, so instead this commit exports `workdir' for only the duration of the shell command in question: workdir=$workdir @SHELL_PATH@ -c "$filter_commit" "git commit-tree" \ $(git write-tree) $parentstr < ../message > ../map/$commit || die "could not write rewritten commit" Signed-off-by: Michael Witten <mfwitten@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 08 August 2011, 19:09:38 UTC |
ae8044a | Emilio G. Cota | 08 August 2011, 08:33:05 UTC | Documentation/Makefile: add *.pdf to `clean' target user-manual.pdf is not removed by `make clean'; fix it. Signed-off-by: Emilio G. Cota <cota@braap.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 08 August 2011, 16:30:14 UTC |
070648e | Emilio G. Cota | 08 August 2011, 08:33:04 UTC | Documentation: ignore *.pdf files user-manual.pdf is generated by the build and therefore should be ignored by git. Signed-off-by: Emilio G. Cota <cota@braap.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 08 August 2011, 16:30:12 UTC |
6280dfd | Jeff King | 05 August 2011, 22:36:22 UTC | fast-export: quote paths in output Many pathnames in a fast-import stream need to be quoted. In particular: 1. Pathnames at the end of an "M" or "D" line need quoting if they contain a LF or start with double-quote. 2. Pathnames on a "C" or "R" line need quoting as above, but also if they contain spaces. For (1), we weren't quoting at all. For (2), we put double-quotes around the paths to handle spaces, but ignored the possibility that they would need further quoting. This patch checks whether each pathname needs c-style quoting, and uses it. This is slightly overkill for (1), which doesn't actually need to quote many characters that vanilla c-style quoting does. However, it shouldn't hurt, as any implementation needs to be ready to handle quoted strings anyway. In addition to adding a test, we have to tweak a test which blindly assumed that case (2) would always use double-quotes, whether it needed to or not. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 05 August 2011, 22:56:54 UTC |
9969454 | Junio C Hamano | 04 August 2011, 18:39:10 UTC | diff -c/--cc: do not mistake "resolved as deletion" as "use working tree" The combined diff machinery can be used to compare: - a merge commit with its parent commits; - a working-tree file with multiple stages in an unmerged index; or - a working-tree file with the HEAD and the index. The internal function combine-diff.c:show_patch_diff() checked if it needs to read the "result" from the working tree by looking at the object name of the result --- if it is null_sha1, it read from the working tree. This mistook a merge that records a deletion as the conflict resolution as if it is a cue to read from the working tree. Pass this information explicitly from the caller instead. Noticed and reported by Johan Herland. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 04 August 2011, 19:05:47 UTC |
e9e0643 | Heiko Voigt | 03 August 2011, 18:06:17 UTC | add gitignore entry to description about how to write a builtin If the author forgets the gitignore entry the built result will show up as new file in the git working directory. Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 03 August 2011, 18:44:23 UTC |
0922570 | Michael Haggerty | 03 August 2011, 13:41:30 UTC | gitattributes: Reword "attribute macro" to "macro attribute" The new wording makes it clearer that such a beast is an attribute in addition to being a macro (as opposed to being only a macro that is used for attributes). Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 03 August 2011, 17:32:54 UTC |
98e8406 | Michael Haggerty | 03 August 2011, 13:41:29 UTC | gitattributes: Clarify discussion of attribute macros In particular, make it clear that attribute macros are themselves recorded as attributes in addition to setting other attributes. Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 03 August 2011, 17:32:02 UTC |
fc1b56f | Clemens Buchacher | 01 August 2011, 17:59:21 UTC | notice error exit from pager If the pager fails to run, git produces no output, e.g.: $ GIT_PAGER=not-a-command git log The error reporting fails for two reasons: (1) start_command: There is a mechanism that detects errors during execvp introduced in 2b541bf8 (start_command: detect execvp failures early). The child writes one byte to a pipe only if execvp fails. The parent waits for either EOF, when the successful execvp automatically closes the pipe (see FD_CLOEXEC in fcntl(1)), or it reads a single byte, in which case it knows that the execvp failed. This mechanism is incompatible with the workaround introduced in 35ce8622 (pager: Work around window resizing bug in 'less'), which waits for input from the parent before the exec. Since both the parent and the child are waiting for input from each other, that would result in a deadlock. In order to avoid that, the mechanism is disabled by closing the child_notifier file descriptor. (2) finish_command: The parent correctly detects the 127 exit status from the child, but the error output goes nowhere, since by that time it is already being redirected to the child. No simple solution for (1) comes to mind. Number (2) can be solved by not sending error output to the pager. Not redirecting error output to the pager can result in the pager overwriting error output with standard output, however. Since there is no reliable way to handle error reporting in the parent, produce the output in the child instead. Signed-off-by: Clemens Buchacher <drizzd@aon.at> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 01 August 2011, 23:21:55 UTC |
c98d1e4 | Ori Avtalion | 29 July 2011, 07:19:26 UTC | pull: remove extra space from reflog message When executing "git pull" with no arguments, the reflog message was: "pull : Fast-forward" Signed-off-by: Ori Avtalion <ori@avtalion.name> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 01 August 2011, 23:05:44 UTC |
3503b8d | Junio C Hamano | 01 August 2011, 21:44:24 UTC | Merge branch 'nk/ref-doc' into maint * nk/ref-doc: glossary: clarify description of HEAD glossary: update description of head and ref glossary: update description of "tag" git.txt: de-emphasize the implementation detail of a ref check-ref-format doc: de-emphasize the implementation detail of a ref git-remote.txt: avoid sounding as if loose refs are the only ones in the world git-remote.txt: fix wrong remote refspec | 01 August 2011, 21:44:24 UTC |
62607e4 | Junio C Hamano | 01 August 2011, 21:44:17 UTC | Merge branch 'jl/maint-fetch-recursive-fix' into maint * jl/maint-fetch-recursive-fix: fetch: Also fetch submodules in subdirectories in on-demand mode | 01 August 2011, 21:44:17 UTC |
6124690 | Junio C Hamano | 01 August 2011, 21:44:13 UTC | Merge branch 'jc/maint-cygwin-trust-executable-bit-default' into maint * jc/maint-cygwin-trust-executable-bit-default: cygwin: trust executable bit by default | 01 August 2011, 21:44:13 UTC |
d48929e | Junio C Hamano | 01 August 2011, 21:43:58 UTC | Merge branch 'jc/legacy-loose-object' into maint * jc/legacy-loose-object: sha1_file.c: "legacy" is really the current format | 01 August 2011, 21:43:58 UTC |
3e8cd96 | Junio C Hamano | 01 August 2011, 21:43:53 UTC | Merge branch 'an/shallow-doc' into maint * an/shallow-doc: Document the underlying protocol used by shallow repositories and --depth commands. Fix documentation of fetch-pack that implies that the client can disconnect after sending wants. | 01 August 2011, 21:43:53 UTC |
055f2c5 | Junio C Hamano | 01 August 2011, 21:43:18 UTC | Merge branch 'jc/maint-1.7.3-checkout-describe' into maint * jc/maint-1.7.3-checkout-describe: checkout -b <name>: correctly detect existing branch | 01 August 2011, 21:43:18 UTC |
bf01d4a | Michael Schubert | 01 August 2011, 11:20:42 UTC | reflog: actually default to subcommand 'show' The reflog manpage says: git reflog [show] [log-options] [<ref>] the subcommand 'show' is the default "in the absence of any subcommands". Currently this is only true if the user provided either at least one option or no additional argument at all. For example: git reflog master won't work. Change this by actually calling cmd_log_reflog in absence of any subcommand. Signed-off-by: Michael Schubert <mschub@elegosoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 01 August 2011, 17:52:34 UTC |
e08afec | Erik Faye-Lund | 01 August 2011, 11:16:09 UTC | connect: correctly number ipv6 network adapter In ba50532, the variable 'cnt' was added to both the IPv6 and the IPv4 version of git_tcp_connect_sock, intended to identify which network adapter the connection failed on. But in the IPv6 version, the variable was never increased, leaving it constantly at zero. This behaviour isn't very useful, so let's fix it by increasing the variable at every loop-iteration. Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 01 August 2011, 17:47:36 UTC |
90a6c7d | Clemens Buchacher | 30 July 2011, 12:10:14 UTC | propagate --quiet to send-pack/receive-pack Currently, git push --quiet produces some non-error output, e.g.: $ git push --quiet Unpacking objects: 100% (3/3), done. Add the --quiet option to send-pack/receive-pack and pass it to unpack-objects in the receive-pack codepath and to receive-pack in the push codepath. This fixes a bug reported for the fedora git package: https://bugzilla.redhat.com/show_bug.cgi?id=725593 Reported-by: Jesse Keating <jkeating@redhat.com> Cc: Todd Zullinger <tmz@pobox.com> Signed-off-by: Clemens Buchacher <drizzd@aon.at> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 01 August 2011, 01:45:41 UTC |
d5b6629 | Nguyễn Thái Ngọc Duy | 30 July 2011, 03:55:05 UTC | Break down no-lstat() condition checks in verify_uptodate() Make it easier to grok under what conditions we can skip lstat(). While at there, shorten ie_match_stat() line for the sake of my eyes. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 01 August 2011, 01:42:38 UTC |
dd008b3 | Jeff King | 30 July 2011, 15:05:54 UTC | t7400: fix bogus test failure with symlinked trash One of the tests in t7400 fails if the trash directory has a symlink anywhere in its path. E.g.: $ mkdir /tmp/git-test $ mkdir /tmp/git-test/real $ ln -s real /tmp/git-test/link $ ./t7400-submodule-basic --root=/tmp/git-test/real ... # passed all 44 test(s) $ ./t7400-submodule-basic --root=/tmp/git-test/link ... not ok - 41 use superproject as upstream when path is relative and no url is set there The failing test does: git submodule add ../repo relative && ... git submodule sync relative && test "$(git config submodule.relative.url)" = "$submodurl/repo" where $submodurl comes from the $TRASH_DIRECTORY the user gave us. However, git will resolve symlinks when converting the relative path into an absolute one, leading them to be textually different (even though they point to the same directory). Fix this by asking pwd to canonicalize the name of the trash directory for us. Signed-off-by: Jeff King <peff@peff.net> Acked-by: Jens Lehmann <Jens.Lehmann@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 01 August 2011, 01:40:34 UTC |
3bc4181 | Clemens Buchacher | 27 July 2011, 21:32:34 UTC | error_routine: use parent's stderr if exec fails The new process's error output may be redirected elsewhere, but if the exec fails, output should still go to the parent's stderr. This has already been done for the die_routine. Do the same for error_routine. Signed-off-by: Clemens Buchacher <drizzd@aon.at> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 01 August 2011, 01:27:07 UTC |
e44b6df | Carlos Martín Nieto | 26 July 2011, 12:27:57 UTC | Documentation: clarify the invalidated tree entry format When the entry_count is -1, the tree is invalidated and therefore has not associated hash (or object name). Explicitly state that the next entry starts after the newline. Signed-off-by: Carlos Martín Nieto <cmn@elego.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 01 August 2011, 01:23:49 UTC |
7e60407 | Jens Lehmann | 26 July 2011, 21:39:03 UTC | submodule: update and add must honor --quiet flag When using the --quiet flag "git submodule update" and "git submodule add" didn't behave as the documentation stated. They printed progress output from the clone, even though they should only print error messages. Fix that by passing the -q flag to git clone in module_clone() when the GIT_QUIET variable is set. Two tests in t7400 have been modified to test that behavior. Reported-by: Daniel Holtmann-Rice <flyingtabmow@gmail.com> Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 28 July 2011, 19:48:26 UTC |