f350082 | Junio C Hamano | 07 February 2013, 23:21:10 UTC | Git 1.8.1.3 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 07 February 2013, 23:21:10 UTC |
57ff170 | Junio C Hamano | 07 February 2013, 23:16:04 UTC | Merge branch 'mz/pick-unborn' into maint "git cherry-pick" did not replay a root commit to an unborn branch. * mz/pick-unborn: learn to pick/revert into unborn branch tests: move test_cmp_rev to test-lib-functions | 07 February 2013, 23:16:04 UTC |
5abbeb4 | Junio C Hamano | 07 February 2013, 23:16:00 UTC | Merge branch 'nd/fix-perf-parameters-in-tests' into maint * nd/fix-perf-parameters-in-tests: test-lib.sh: unfilter GIT_PERF_* | 07 February 2013, 23:16:00 UTC |
696c359 | Junio C Hamano | 07 February 2013, 23:15:23 UTC | Merge branch 'jc/do-not-let-random-file-interfere-with-completion-tests' into maint Scripts to test bash completion was inherently flaky as it was affected by whatever random things the user may have on $PATH. * jc/do-not-let-random-file-interfere-with-completion-tests: t9902: protect test from stray build artifacts | 07 February 2013, 23:15:23 UTC |
7728473 | Junio C Hamano | 07 February 2013, 23:15:08 UTC | Merge branch 'ft/transport-report-segv' into maint A failure to push due to non-ff while on an unborn branch dereferenced a NULL pointer when showing an error message. * ft/transport-report-segv: push: fix segfault when HEAD points nowhere | 07 February 2013, 23:15:08 UTC |
d2216a4 | Junio C Hamano | 07 February 2013, 23:14:54 UTC | Merge branch 'sb/gpg-plug-fd-leak' into maint We forgot to close the file descriptor reading from "gpg" output, killing "git log --show-signature" on a long history. * sb/gpg-plug-fd-leak: gpg: close stderr once finished with it in verify_signed_buffer() | 07 February 2013, 23:14:54 UTC |
427c6d0 | Junio C Hamano | 07 February 2013, 23:14:22 UTC | Merge branch 'jc/fake-ancestor-with-non-blobs' into maint Rebasing the history of superproject with change in the submodule has been broken since v1.7.12. * jc/fake-ancestor-with-non-blobs: apply: diagnose incomplete submodule object name better apply: simplify build_fake_ancestor() git-am: record full index line in the patch used while rebasing | 07 February 2013, 23:14:22 UTC |
45bb6cb | Junio C Hamano | 07 February 2013, 23:13:34 UTC | Merge branch 'jn/auto-depend-workaround-buggy-ccache' into maint Buggy versions of ccache broke the auto-generation of dependencies. * jn/auto-depend-workaround-buggy-ccache: Makefile: explicitly set target name for autogenerated dependencies | 07 February 2013, 23:13:34 UTC |
42f50f8 | Junio C Hamano | 04 February 2013, 18:21:10 UTC | Start preparing for 1.8.1.3 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 04 February 2013, 18:21:10 UTC |
390ac27 | Junio C Hamano | 04 February 2013, 18:04:57 UTC | Merge branch 'bc/git-p4-for-python-2.4' into maint * bc/git-p4-for-python-2.4: INSTALL: git-p4 does not support Python 3 git-p4.py: support Python 2.4 git-p4.py: support Python 2.5 | 04 February 2013, 18:04:58 UTC |
6cc0149 | Junio C Hamano | 04 February 2013, 18:04:44 UTC | Merge branch 'nd/edit-branch-desc-while-detached' into maint Attempt to "branch --edit-description" an existing branch, while being on a detached HEAD, errored out. * nd/edit-branch-desc-while-detached: branch: no detached HEAD check when editing another branch's description | 04 February 2013, 18:04:44 UTC |
7f3d409 | Junio C Hamano | 04 February 2013, 18:04:26 UTC | Merge branch 'jn/do-not-drop-username-when-reading-from-etc-mailname' into maint We used to stuff "user@" and then append what we read from /etc/mailname to come up with a default e-mail ident, but a bug lost the "user@" part. * jn/do-not-drop-username-when-reading-from-etc-mailname: ident: do not drop username when reading from /etc/mailname | 04 February 2013, 18:04:26 UTC |
3d00a5c | Junio C Hamano | 04 February 2013, 18:04:22 UTC | Merge branch 'jk/cvsimport-does-not-work-with-cvsps3' into maint * jk/cvsimport-does-not-work-with-cvsps3: git-cvsimport.txt: cvsps-2 is deprecated | 04 February 2013, 18:04:23 UTC |
61947de | Junio C Hamano | 04 February 2013, 18:04:10 UTC | Merge branch 'dl/am-hg-locale' into maint "git am" did not parse datestamp correctly from Hg generated patch, when it is run in a locale outside C (or en) * dl/am-hg-locale: am: invoke perl's strftime in C locale | 04 February 2013, 18:04:10 UTC |
ba8748e | Junio C Hamano | 04 February 2013, 18:04:06 UTC | Merge branch 'jc/help' into maint * jc/help: help: include <common-cmds.h> only in one file | 04 February 2013, 18:04:06 UTC |
686b895 | Junio C Hamano | 04 February 2013, 18:03:41 UTC | Merge branch 'jc/merge-blobs' into maint * jc/merge-blobs: Makefile: Replace merge-file.h with merge-blobs.h in LIB_H merge-tree: fix d/f conflicts merge-tree: add comments to clarify what these functions are doing merge-tree: lose unused "resolve_directories" merge-tree: lose unused "flags" from merge_list Which merge_file() function do you mean? | 04 February 2013, 18:03:41 UTC |
2173205 | Junio C Hamano | 04 February 2013, 18:03:35 UTC | Merge branch 'jc/doc-maintainer' into maint * jc/doc-maintainer: howto/maintain: document "### match next" convention in jch/pu branch howto/maintain: mark titles for asciidoc Documentation: update "howto maintain git" | 04 February 2013, 18:03:35 UTC |
5617394 | Junio C Hamano | 04 February 2013, 18:03:13 UTC | Merge branch 'bc/fix-array-syntax-for-3.0-in-completion-bash' into maint Command line completion code was inadvertently made incompatible with older versions of bash by using a newer array notation. * bc/fix-array-syntax-for-3.0-in-completion-bash: git-completion.bash: replace zsh notation that breaks bash 3.X | 04 February 2013, 18:03:13 UTC |
6978934 | Jonathan Nieder | 18 November 2011, 23:23:24 UTC | Makefile: explicitly set target name for autogenerated dependencies "gcc -MF depfile -MMD -MP -c -o path/to/file.o" produces a makefile snippet named "depfile" describing what files are needed to build the target given by "-o". When ccache versions before v3.0pre0~187 (Fix handling of the -MD and -MDD options, 2009-11-01) run, they execute gcc -MF depfile -MMD -MP -E instead to get the final content for hashing. Notice that the "-c -o" combination is replaced by "-E". The result is a target name without a leading path. Thus when building git with such versions of ccache with COMPUTE_HEADER_DEPENDENCIES enabled, the generated makefile snippets define dependencies for the wrong target: $ make builtin/add.o GIT_VERSION = 1.7.8.rc3 * new build flags or prefix CC builtin/add.o $ head -1 builtin/.depend/add.o.d add.o: builtin/add.c cache.h git-compat-util.h compat/bswap.h strbuf.h \ After a change in a header file, object files in a subdirectory are not automatically rebuilt by "make": $ touch cache.h $ make builtin/add.o $ Luckily we can prevent trouble by explicitly supplying the name of the target to ccache and gcc, using the -MQ option. Do so. Reported-and-tested-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Reported-by: : 허종만 <jongman.heo@samsung.com> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Reviewed-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 02 February 2013, 02:09:33 UTC |
e28efb1 | Junio C Hamano | 01 February 2013, 03:33:27 UTC | apply: diagnose incomplete submodule object name better "git am -3" uses this function to build a tree that records how the preimage the patch was created from would have looked like. An abbreviated object name on the index line is ordinarily sufficient for us to figure out the object name the preimage tree would have contained, but a change to a submodule by definition shows an object name of a submodule commit which our repository should not have, and get_sha1_blob() is not an appropriate way to read it (or get_sha1() for that matter). Use get_sha1_hex() and complain if we do not find a full object name there. We could read from the payload part of the patch to learn the full object name of the commit, but the primary user "git rebase" has been fixed to give us a full object name, so this should suffice for now. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 01 February 2013, 04:30:55 UTC |
e2afb0b | Junio C Hamano | 01 February 2013, 03:19:44 UTC | apply: simplify build_fake_ancestor() The local variable sha1_ptr in the build_fake_ancestor() function used to either point at the null_sha1[] (if the ancestor did not have the path) or at sha1[] (if we read the object name into the local array), but 7a98869 (apply: get rid of --index-info in favor of --build-fake-ancestor, 2007-09-17) made the "missing in the ancestor" case unnecessary, hence sha1_ptr, when used, always points at the local array. Get rid of the unneeded variable, and restructure the if/else cascade a bit to make it easier to read. There should be no behaviour change. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 01 February 2013, 04:30:55 UTC |
4ae6d46 | Junio C Hamano | 01 February 2013, 03:26:21 UTC | git-am: record full index line in the patch used while rebasing Earlier, a230949 (am --rebasing: get patch body from commit, not from mailbox, 2012-06-26) learned to regenerate patch body from the commit object while rebasing, instead of reading from the rebase-am front-end. While doing so, it used "git diff-tree" but without giving it the "--full-index" option. This does not matter for in-repository objects; during rebasing, any abbreviated object name should uniquely identify them. But we may be rebasing a commit that contains a change to a gitlink, in which case we usually should not have the object (it names a commit in the submodule). A full object name is necessary to later reconstruct a fake ancestor index for them. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 01 February 2013, 04:30:55 UTC |
7dac3f8 | Stephen Boyd | 31 January 2013, 18:18:40 UTC | gpg: close stderr once finished with it in verify_signed_buffer() Failing to close the stderr pipe in verify_signed_buffer() causes git to run out of file descriptors if there are many calls to verify_signed_buffer(). An easy way to trigger this is to run git log --show-signature --merges | grep "key" on the linux kernel git repo. Eventually it will fail with error: cannot create pipe for gpg: Too many open files error: could not run gpg. Close the stderr pipe so that this can't happen. Suggested-by: Jeff King <peff@peff.net> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 31 January 2013, 19:10:44 UTC |
1d2c14d | Fraser Tweedale | 31 January 2013, 12:22:51 UTC | push: fix segfault when HEAD points nowhere After a push of a branch other than the current branch fails in a no-ff error and if you are still on an unborn branch, the code recently added to report the failure dereferenced a null pointer while checking the name of the current branch. Signed-off-by: Fraser Tweedale <frase@frase.id.au> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 31 January 2013, 16:09:53 UTC |
2e4f04f | Junio C Hamano | 30 January 2013, 19:17:59 UTC | INSTALL: git-p4 does not support Python 3 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 30 January 2013, 19:17:59 UTC |
75135b2 | Nguyễn Thái Ngọc Duy | 28 January 2013, 01:18:13 UTC | branch: no detached HEAD check when editing another branch's description Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 30 January 2013, 16:59:56 UTC |
e1b6ff4 | Junio C Hamano | 30 January 2013, 15:47:46 UTC | Merge branch 'tb/t0050-maint' into maint Update tests that were expecting to fail due to a bug that was fixed earlier. * tb/t0050-maint: t0050: Use TAB for indentation t0050: honor CASE_INSENSITIVE_FS in add (with different case) t0050: known breakage vanished in merge (case change) | 30 January 2013, 15:47:46 UTC |
025ea58 | Junio C Hamano | 29 January 2013, 19:18:54 UTC | Merge branch 'nd/fix-directory-attrs-off-by-one' into maint The attribute mechanism didn't allow limiting attributes to be applied to only a single directory itself with "path/" like the exclude mechanism does. The initial implementation of this that was merged to 'maint' and 1.8.1.1 had severe performance degradations. * nd/fix-directory-attrs-off-by-one: attr: avoid calling find_basename() twice per path attr: fix off-by-one directory component length calculation | 29 January 2013, 19:20:10 UTC |
da2987d | Junio C Hamano | 29 January 2013, 19:18:31 UTC | Merge branch 'ph/rebase-preserve-all-merges' into maint "git rebase --preserve-merges" lost empty merges in recent versions of Git. * ph/rebase-preserve-all-merges: rebase --preserve-merges: keep all merge commits including empty ones | 29 January 2013, 19:18:31 UTC |
33b29fd | Junio C Hamano | 29 January 2013, 19:10:58 UTC | README: update stale and/or incorrect information Ramkumar Ramachandra noticed that the old address for the marc archive no longer works. Update it to its marc.info address, and also refer to the gmane site. Remove the reference to "note from the maintainer", which is not usually followed by any useful discussion on status, direction nor tasks. Also replace the reference to "What's in git.git" with "What's cooking". Signed-off-by: Junio C Hamano <gitster@pobox.com> | 29 January 2013, 19:17:44 UTC |
53cdd4e | Junio C Hamano | 28 January 2013, 19:17:54 UTC | Git 1.8.1.2 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 28 January 2013, 19:17:54 UTC |
a77133e | Junio C Hamano | 28 January 2013, 19:13:31 UTC | Merge branch 'ss/help-htmlpath-config-doc' into maint * ss/help-htmlpath-config-doc: config.txt: Document help.htmlpath config parameter | 28 January 2013, 19:13:31 UTC |
6d7c1c8 | Junio C Hamano | 28 January 2013, 19:13:07 UTC | Merge branch 'nd/attr-debug-fix' into maint * nd/attr-debug-fix: attr: make it build with DEBUG_ATTR again | 28 January 2013, 19:13:07 UTC |
7025616 | Junio C Hamano | 28 January 2013, 19:12:47 UTC | Merge branch 'ds/completion-silence-in-tree-path-probe' into maint * ds/completion-silence-in-tree-path-probe: git-completion.bash: silence "not a valid object" errors | 28 January 2013, 19:12:47 UTC |
095d65d | Junio C Hamano | 28 January 2013, 19:12:36 UTC | Merge branch 'jn/maint-trim-vim-contrib' into maint * jn/maint-trim-vim-contrib: contrib/vim: simplify instructions for old vim support | 28 January 2013, 19:12:36 UTC |
a94214b | Junio C Hamano | 28 January 2013, 19:12:31 UTC | Merge branch 'pe/doc-email-env-is-trumped-by-config' into maint * pe/doc-email-env-is-trumped-by-config: git-commit-tree(1): correct description of defaults | 28 January 2013, 19:12:31 UTC |
c1640aa | Junio C Hamano | 28 January 2013, 19:11:51 UTC | Merge branch 'mk/complete-tcsh' into maint Command line completion for "tcsh" emitted an unwanted space after completing a single directory name. * mk/complete-tcsh: Prevent space after directories in tcsh completion | 28 January 2013, 19:11:51 UTC |
85fd059 | Junio C Hamano | 28 January 2013, 19:10:25 UTC | Merge branch 'ap/status-ignored-in-ignored-directory' into maint Output from "git status --ignored" did not work well when used with "--untracked". * ap/status-ignored-in-ignored-directory: status: always report ignored tracked directories git-status: Test --ignored behavior dir.c: Make git-status --ignored more consistent | 28 January 2013, 19:10:25 UTC |
3a51e4b | Junio C Hamano | 28 January 2013, 19:09:37 UTC | Merge branch 'er/stop-recommending-parsecvs' into maint * er/stop-recommending-parsecvs: Remove the suggestion to use parsecvs, which is currently broken. | 28 January 2013, 19:09:37 UTC |
ce956fc | Junio C Hamano | 28 January 2013, 19:07:18 UTC | Merge branch 'mh/ceiling' into maint An element on GIT_CEILING_DIRECTORIES list that does not name the real path to a directory (i.e. a symbolic link) could have caused the GIT_DIR discovery logic to escape the ceiling. * mh/ceiling: string_list_longest_prefix(): remove function setup_git_directory_gently_1(): resolve symlinks in ceiling paths longest_ancestor_length(): require prefix list entries to be normalized longest_ancestor_length(): take a string_list argument for prefixes longest_ancestor_length(): use string_list_split() Introduce new function real_path_if_valid() real_path_internal(): add comment explaining use of cwd Introduce new static function real_path_internal() | 28 January 2013, 19:07:18 UTC |
a235e85 | Brandon Casey | 26 January 2013, 19:14:33 UTC | git-p4.py: support Python 2.4 Python 2.4 lacks the following features: subprocess.check_call struct.pack_into Take a cue from 460d1026 and provide an implementation of the CalledProcessError exception. Then replace the calls to subproccess.check_call with calls to subprocess.call that check the return status and raise a CalledProcessError exception if necessary. The struct.pack_into in t/9802 can be converted into a single struct.pack call which is available in Python 2.4. Signed-off-by: Brandon Casey <bcasey@nvidia.com> Acked-by: Pete Wyckoff <pw@padd.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 27 January 2013, 03:00:10 UTC |
598354c | Brandon Casey | 26 January 2013, 19:14:32 UTC | git-p4.py: support Python 2.5 Python 2.5 and older do not accept None as the first argument to translate() and complain with: TypeError: expected a character buffer object As suggested by Pete Wyckoff, let's just replace the call to translate() with a regex search which should be more clear and more portable. This allows git-p4 to be used with Python 2.5. Signed-off-by: Brandon Casey <bcasey@nvidia.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 27 January 2013, 03:00:03 UTC |
e510f2d | Junio C Hamano | 25 January 2013, 20:33:57 UTC | howto/maintain: document "### match next" convention in jch/pu branch Signed-off-by: Junio C Hamano <gitster@pobox.com> | 25 January 2013, 20:34:43 UTC |
dc342a2 | Jonathan Nieder | 24 January 2013, 23:21:46 UTC | ident: do not drop username when reading from /etc/mailname An earlier conversion from fgets() to strbuf_getline() in the codepath to read from /etc/mailname to learn the default host-part of the ident e-mail address forgot that strbuf_getline() stores the line at the beginning of the buffer just like fgets(). The "username@" the caller has prepared in the strbuf, expecting the function to append the host-part to it, was lost because of this. Reported-by: Mihai Rusu <dizzy@google.com> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Acked-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 25 January 2013, 18:41:49 UTC |
5047822 | Junio C Hamano | 24 January 2013, 23:08:37 UTC | t9902: protect test from stray build artifacts When you have random build artifacts in your build directory, left behind by running "make" while on another branch, the "git help -a" command run by __git_list_all_commands in the completion script that is being tested does not have a way to know that they are not part of the subcommands this build will ship. Such extra subcommands may come from the user's $PATH. They will interfere with the tests that expect a certain prefix to uniquely expand to a known completion. Instrument the completion script and give it a way for us to tell what (subset of) subcommands we are going to ship. Also add a test to "git --help <prefix><TAB>" expansion. It needs to show not just commands but some selected documentation pages. Based on an idea by Jeff King. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 24 January 2013, 23:08:37 UTC |
1187ec9 | John Keeping | 24 January 2013, 19:18:45 UTC | git-cvsimport.txt: cvsps-2 is deprecated git-cvsimport relies on version 2 of cvsps and does not work with the new version 3. Since cvsps 3.x does not currently work as well as version 2 for incremental import, document this fact. Specifically, there is no way to make new git-cvsimport that supports cvsps 3.x and have a seamless transition for existing users since cvsps 3.x needs a time from which to continue importing and git-cvsimport does not save the time of the last import or import into a specific namespace so there is no safe way to calculate the time of the last import. Signed-off-by: John Keeping <john@keeping.me.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 24 January 2013, 20:14:00 UTC |
a60521b | Ramsay Jones | 22 January 2013, 16:47:47 UTC | Makefile: Replace merge-file.h with merge-blobs.h in LIB_H Commit fa2364ec ("Which merge_file() function do you mean?", 06-12-2012) renamed the files merge-file.[ch] to merge-blobs.[ch], but forgot to rename the header file in the definition of the LIB_H macro. Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 22 January 2013, 18:47:47 UTC |
336e2e2 | Torsten Bögershausen | 21 January 2013, 16:46:31 UTC | t0050: Use TAB for indentation Use one TAB for indentation and remove empty lines Signed-off-by: Torsten Bögershausen <tboegi@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 22 January 2013, 01:13:51 UTC |
4084475 | Torsten Bögershausen | 21 January 2013, 16:46:15 UTC | t0050: honor CASE_INSENSITIVE_FS in add (with different case) The test case "add (with different case)" indicates a known breakage when run on a case insensitive file system. The test is invalid for case sensitive file system, it will always fail. Check the precondition CASE_INSENSITIVE_FS before running it. Signed-off-by: Torsten Bögershausen <tboegi@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 22 January 2013, 01:13:35 UTC |
004c0be | Torsten Bögershausen | 21 January 2013, 16:45:43 UTC | t0050: known breakage vanished in merge (case change) This test case has passed since this commit: commit 0047dd2fd1fc1980913901c5fa098357482c2842 Author: Steffen Prohaska <prohaska@zib.de> Date: Thu May 15 07:19:54 2008 +0200 t0050: Fix merge test on case sensitive file systems Remove the known breakage by using test_expect_success Signed-off-by: Torsten Bögershausen <tboegi@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 22 January 2013, 01:13:16 UTC |
b344bb1 | John Keeping | 21 January 2013, 16:22:06 UTC | git-for-each-ref.txt: 'raw' is a supported date format Commit 7dff9b3 (Support 'raw' date format) added a raw date format. Update the git-for-each-ref documentation to include this. Signed-off-by: John Keeping <john@keeping.me.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 22 January 2013, 00:26:26 UTC |
74f3267 | Junio C Hamano | 21 January 2013, 01:26:04 UTC | Start preparing for 1.8.1.2 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 21 January 2013, 01:26:04 UTC |
cea1e2e | Junio C Hamano | 21 January 2013, 01:22:49 UTC | Merge branch 'nz/send-email-headers-are-case-insensitive' into maint When users spell "cc:" in lowercase in the fake "header" in the trailer part, "git send-email" failed to pick up the addresses from there. As e-mail headers field names are case insensitive, this script should follow suit and treat "cc:" and "Cc:" the same way. * nz/send-email-headers-are-case-insensitive: git-send-email: treat field names as case-insensitively | 21 January 2013, 01:22:49 UTC |
ca7ccd5 | Junio C Hamano | 21 January 2013, 01:22:27 UTC | Merge branch 'rs/zip-with-uncompressed-size-in-the-header' into maint "git archive" did not record uncompressed size in the header when streaming a zip archive, which confused some implementations of unzip. * rs/zip-with-uncompressed-size-in-the-header: archive-zip: write uncompressed size into header even with streaming | 21 January 2013, 01:22:27 UTC |
1bc7a2b | Junio C Hamano | 21 January 2013, 01:22:22 UTC | Merge branch 'rs/zip-tests' into maint * rs/zip-tests: t5003: check if unzip supports symlinks t5000, t5003: move ZIP tests into their own script t0024, t5000: use test_lazy_prereq for UNZIP t0024, t5000: clear variable UNZIP, use GIT_UNZIP instead | 21 January 2013, 01:22:22 UTC |
1542d4c | Junio C Hamano | 19 January 2013, 06:35:04 UTC | help: include <common-cmds.h> only in one file This header not only declares but also defines the contents of the array that holds the list of command names and help text. Do not include it in multiple places to waste text space. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 19 January 2013, 06:35:04 UTC |
5185b97 | Dmitry V. Levin | 14 January 2013, 20:59:33 UTC | am: invoke perl's strftime in C locale We used to convert timestamps in metadata comment of Hg patch to mbox-looking Date: field using strftime, without making sure the resulting string is not translated. Always use C locale for this. Signed-off-by: Dmitry V. Levin <ldv@altlinux.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 18 January 2013, 20:37:39 UTC |
50c5885 | Brandon Casey | 18 January 2013, 19:24:01 UTC | git-completion.bash: replace zsh notation that breaks bash 3.X When commit d8b45314 began separating the zsh completion from the bash completion, it introduced a zsh completion "bridge" section into the bash completion script for zsh users to use until they migrated to the zsh script. The zsh '+=()' append-to-array notation prevents bash 3.00.15 on CentOS 4.x from loading the completion script and breaks test 9902. We can easily work around this by using standard Bash array notation. Signed-off-by: Brandon Casey <drafnel@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 18 January 2013, 20:16:38 UTC |
9db9eec | Duy Nguyen | 16 January 2013, 06:02:38 UTC | attr: avoid calling find_basename() twice per path find_basename() is only used inside collect_all_attrs(), called once in prepare_attr_stack, then again after prepare_attr_stack() returns. Both calls return exact same value. Reorder the code to do the same task once. Also avoid strlen() because we knows the length after finding basename. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 16 January 2013, 19:08:55 UTC |
b1f809d | Sebastian Staudt | 15 January 2013, 20:56:21 UTC | config.txt: Document help.htmlpath config parameter Signed-off-by: Sebastian Staudt <koraktor@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 15 January 2013, 21:08:45 UTC |
edb5408 | Nguyễn Thái Ngọc Duy | 15 January 2013, 13:50:56 UTC | test-lib.sh: unfilter GIT_PERF_* These variables are user parameters to control how to run the perf tests. Allow users to do so. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 15 January 2013, 19:33:39 UTC |
712efb1 | Nguyễn Thái Ngọc Duy | 15 January 2013, 02:49:26 UTC | attr: make it build with DEBUG_ATTR again Commit 82dce99 (attr: more matching optimizations from .gitignore - 2012-10-15) changed match_attr structure but it did not update DEBUG_ATTR-specific code. This fixes it. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 15 January 2013, 18:02:08 UTC |
711536b | Nguyễn Thái Ngọc Duy | 15 January 2013, 13:35:24 UTC | attr: fix off-by-one directory component length calculation 94bc671 (Add directory pattern matching to attributes - 2012-12-08) uses find_basename() to calculate the length of directory part in prepare_attr_stack. This function expects the directory without the trailing slash (as "origin" field in match_attr struct is without the trailing slash). find_basename() includes the trailing slash and confuses push/pop algorithm. Consider path = "abc/def" and the push down code: while (1) { len = strlen(attr_stack->origin); if (dirlen <= len) break; cp = memchr(path + len + 1, '/', dirlen - len - 1); if (!cp) cp = path + dirlen; dirlen is 4, not 3, without this patch. So when attr_stack->origin is "abc", it'll miss the exit condition because 4 <= 3 is wrong. It'll then try to push "abc/" down the attr stack (because "cp" would be NULL). So we have both "abc" and "abc/" in the stack. Next time when "abc/ghi" is checked, "abc/" is popped out because of the off-by-one dirlen, only to be pushed back in again by the above code. This repeats for all files in the same directory. Which means at least one failed open syscall per file, or more if .gitattributes exists. This is the perf result with 10 runs on git.git: Test 94bc671^ 94bc671 HEAD ---------------------------------------------------------------------------------------------------------- 7810.1: grep worktree, cheap regex 0.02(0.01+0.04) 0.05(0.03+0.05) +150.0% 0.02(0.01+0.04) +0.0% 7810.2: grep worktree, expensive regex 0.25(0.94+0.01) 0.26(0.94+0.02) +4.0% 0.25(0.93+0.02) +0.0% 7810.3: grep --cached, cheap regex 0.11(0.10+0.00) 0.12(0.10+0.02) +9.1% 0.10(0.10+0.00) -9.1% 7810.4: grep --cached, expensive regex 0.61(0.60+0.01) 0.62(0.61+0.01) +1.6% 0.61(0.60+0.00) +0.0% Reported-by: Ross Lagerwall <rosslagerwall@gmail.com> Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 15 January 2013, 16:17:23 UTC |
9869778 | Phil Hord | 12 January 2013, 20:46:01 UTC | rebase --preserve-merges: keep all merge commits including empty ones Since 90e1818f9a (git-rebase: add keep_empty flag, 2012-04-20) 'git rebase --preserve-merges' fails to preserve empty merge commits unless --keep-empty is also specified. Merge commits should be preserved in order to preserve the structure of the rebased graph, even if the merge commit does not introduce changes to the parent. Teach rebase not to drop merge commits only because they are empty. A special case which is not handled by this change is for a merge commit whose parents are now the same commit because all the previous different parents have been dropped as a result of this rebase or some previous operation. Signed-off-by: Phil Hord <hordp@cisco.com> Acked-by: Neil Horman <nhorman@tuxdriver.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 14 January 2013, 17:15:39 UTC |
e4f59a3 | Junio C Hamano | 14 January 2013, 16:04:50 UTC | Git 1.8.1.1 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 14 January 2013, 16:04:50 UTC |
dca93d2 | Junio C Hamano | 14 January 2013, 16:02:35 UTC | Merge branch 'jk/complete-commit-c' into maint * jk/complete-commit-c: completion: complete refs for "git commit -c" | 14 January 2013, 16:02:35 UTC |
750a6ca | Junio C Hamano | 14 January 2013, 16:01:27 UTC | Merge branch 'jk/unify-exit-code-by-receiving-signal' into maint * jk/unify-exit-code-by-receiving-signal: run-command: encode signal death as a positive integer | 14 January 2013, 16:01:27 UTC |
32a03dc | Junio C Hamano | 14 January 2013, 16:01:00 UTC | Merge branch 'jn/xml-depends-on-asciidoc-conf' into maint * jn/xml-depends-on-asciidoc-conf: docs: manpage XML depends on asciidoc.conf | 14 January 2013, 16:01:00 UTC |
267aaa0 | Junio C Hamano | 14 January 2013, 15:59:46 UTC | Merge branch 'jk/maint-fast-import-doc-reorder' into maint * jk/maint-fast-import-doc-reorder: git-fast-import(1): reorganise options git-fast-import(1): combine documentation of --[no-]relative-marks | 14 January 2013, 15:59:46 UTC |
74abc17 | Junio C Hamano | 14 January 2013, 15:59:03 UTC | Merge branch 'jk/shortlog-no-wrap-doc' into maint * jk/shortlog-no-wrap-doc: git-shortlog(1): document behaviour of zero-width wrap | 14 January 2013, 15:59:03 UTC |
7b9ea42 | Junio C Hamano | 14 January 2013, 15:48:39 UTC | Merge branch 'jk/maint-fast-import-doc-dedup-done' into maint * jk/maint-fast-import-doc-dedup-done: git-fast-import(1): remove duplicate '--done' option | 14 January 2013, 15:48:39 UTC |
f2f5449 | Junio C Hamano | 14 January 2013, 15:34:37 UTC | Merge branch 'jc/comment-cygwin-win32api-in-makefile' into maint * jc/comment-cygwin-win32api-in-makefile: Makefile: add comment on CYGWIN_V15_WIN32API | 14 January 2013, 15:34:37 UTC |
f0c103b | Junio C Hamano | 14 January 2013, 15:34:12 UTC | Merge branch 'rs/leave-base-name-in-name-field-of-tar' into maint A tar archive created by "git archive" recorded a directory in a way that made NetBSD's implementation of "tar" sometimes unhappy. * rs/leave-base-name-in-name-field-of-tar: archive-tar: split long paths more carefully | 14 January 2013, 15:34:12 UTC |
32e820b | Junio C Hamano | 14 January 2013, 15:33:48 UTC | Merge branch 'jl/interrupt-clone-remove-separate-git-dir' into maint When "git clone --separate-git-dir=$over_there" is interrupted, it failed to remove the real location of the $GIT_DIR it created. This was most visible when interrupting a submodule update. * jl/interrupt-clone-remove-separate-git-dir: clone: support atomic operation with --separate-git-dir | 14 January 2013, 15:33:49 UTC |
bc60f9f | Junio C Hamano | 14 January 2013, 15:33:30 UTC | Merge branch 'jc/maint-fmt-merge-msg-no-edit-lose-credit' into maint "git merge --no-edit" computed who were involved in the work done on the side branch, even though that information is to be discarded without getting seen in the editor. * jc/maint-fmt-merge-msg-no-edit-lose-credit: merge --no-edit: do not credit people involved in the side branch | 14 January 2013, 15:33:30 UTC |
7842c44 | Junio C Hamano | 14 January 2013, 15:33:08 UTC | Merge branch 'jc/apply-trailing-blank-removal' into maint "git apply" misbehaved when fixing whitespace breakages by removing excess trailing blank lines. * jc/apply-trailing-blank-removal: apply.c:update_pre_post_images(): the preimage can be truncated | 14 January 2013, 15:33:08 UTC |
659742f | Junio C Hamano | 14 January 2013, 15:32:25 UTC | Merge branch 'pf/editor-ignore-sigint' into maint The behaviour visible to the end users was confusing, when they attempt to kill a process spawned in the editor that was in turn launched by Git with SIGINT (or SIGQUIT), as Git would catch that signal and die. We ignore these signals now. * pf/editor-ignore-sigint: fix compilation with NO_PTHREADS launch_editor: propagate signals from editor to git run-command: do not warn about child death from terminal launch_editor: ignore terminal signals while editor has control launch_editor: refactor to use start/finish_command run-command: drop silent_exec_failure arg from wait_or_whine | 14 January 2013, 15:32:25 UTC |
6cf0a9e | Junio C Hamano | 14 January 2013, 15:32:18 UTC | Merge branch 'mk/maint-graph-infinity-loop' into maint * mk/maint-graph-infinity-loop: graph.c: infinite loop in git whatchanged --graph -m | 14 January 2013, 15:32:18 UTC |
ab60f2c | Junio C Hamano | 12 January 2013, 00:51:01 UTC | Merge branch 'as/api-allocation-doc' into maint * as/api-allocation-doc: api-allocation-growing.txt: encourage better variable naming | 12 January 2013, 00:51:01 UTC |
d0f9456 | Junio C Hamano | 12 January 2013, 00:49:37 UTC | Merge branch 'jk/enable-test-lint-by-default' into maint We have two simple and quick tests to catch common mistakes when writing test scripts, but we did not run them by default when running tests. * jk/enable-test-lint-by-default: tests: turn on test-lint by default | 12 January 2013, 00:49:38 UTC |
b663af5 | Junio C Hamano | 12 January 2013, 00:49:01 UTC | Merge branch 'ap/merge-stop-at-prepare-commit-msg-failure' into maint "git merge" started calling prepare-commit-msg hook like "git commit" does some time ago, but forgot to pay attention to the exit status of the hook. * ap/merge-stop-at-prepare-commit-msg-failure: merge: Honor prepare-commit-msg return code | 12 January 2013, 00:49:01 UTC |
02cb8da | Junio C Hamano | 12 January 2013, 00:48:54 UTC | Merge branch 'jc/submittingpatches' into maint * jc/submittingpatches: SubmittingPatches: give list and maintainer addresses SubmittingPatches: remove overlong checklist SubmittingPatches: mention subsystems with dedicated repositories SubmittingPatches: who am I and who cares? | 12 January 2013, 00:48:54 UTC |
23ad617 | Junio C Hamano | 12 January 2013, 00:48:30 UTC | Merge branch 'os/gitweb-highlight-uncaptured' into maint "gitweb", when sorting by age to show repositories with new activities first, used to sort repositories with absolutely nothing in it early, which was not very useful. * os/gitweb-highlight-uncaptured: gitweb: fix error in sanitize when highlight is enabled | 12 January 2013, 00:48:30 UTC |
378e5e4 | Junio C Hamano | 12 January 2013, 00:48:03 UTC | Merge branch 'jn/less-reconfigure' into maint When autoconf is used, any build on a different commit always ran "config.status --recheck" even when unnecessary. * jn/less-reconfigure: build: do not automatically reconfigure unless configure.ac changed | 12 January 2013, 00:48:03 UTC |
37a1130 | Junio C Hamano | 12 January 2013, 00:47:56 UTC | Merge branch 'kb/maint-bundle-doc' into maint * kb/maint-bundle-doc: Documentation: full-ness of a bundle is significant for cloning Documentation: correct example restore from bundle | 12 January 2013, 00:47:56 UTC |
b88cb88 | Junio C Hamano | 12 January 2013, 00:47:34 UTC | Merge branch 'as/test-name-alias-uniquely' into maint * as/test-name-alias-uniquely: Use longer alias names in subdirectory tests | 12 January 2013, 00:47:34 UTC |
e6f1550 | Junio C Hamano | 12 January 2013, 00:47:07 UTC | Merge branch 'jn/warn-on-inaccessible-loosen' into maint When attempting to read the XDG-style $HOME/.config/git/config and finding that $HOME/.config/git is a file, we gave a wrong error message, instead of treating the case as "a custom config file does not exist there" and moving on. * jn/warn-on-inaccessible-loosen: config: exit on error accessing any config file doc: advertise GIT_CONFIG_NOSYSTEM config: treat user and xdg config permission problems as errors config, gitignore: failure to access with ENOTDIR is ok | 12 January 2013, 00:47:07 UTC |
22fd1c8 | Junio C Hamano | 12 January 2013, 00:46:46 UTC | Merge branch 'ja/directory-attrs' into maint The attribute mechanism didn't allow limiting attributes to be applied to only a single directory itself with "path/" like the exclude mechanism does. * ja/directory-attrs: Add directory pattern matching to attributes | 12 January 2013, 00:46:46 UTC |
c039f35 | Junio C Hamano | 12 January 2013, 00:45:44 UTC | Merge branch 'jc/fetch-ignore-symref' into maint "git fetch --mirror" and fetch that uses other forms of refspec with wildcard used to attempt to update a symbolic ref that match the wildcard on the receiving end, which made little sense (the real ref that is pointed at by the symbolic ref would be updated anyway). Symbolic refs no longer are affected by such a fetch. * jc/fetch-ignore-symref: fetch: ignore wildcarded refspecs that update local symbolic refs | 12 January 2013, 00:45:44 UTC |
9a4a941 | Junio C Hamano | 12 January 2013, 00:45:06 UTC | Merge branch 'ss/svn-prompt' into maint The way "git svn" asked for password using SSH_ASKPASS and GIT_ASKPASS was not in line with the rest of the system. * ss/svn-prompt: git-svn, perl/Git.pm: extend and use Git->prompt method for querying users perl/Git.pm: Honor SSH_ASKPASS as fallback if GIT_ASKPASS is not set git-svn, perl/Git.pm: add central method for prompting passwords | 12 January 2013, 00:45:06 UTC |
ca87dd6 | Dylan Smith | 11 January 2013, 08:06:22 UTC | git-completion.bash: silence "not a valid object" errors Trying to complete the command git show master:./file would cause a "Not a valid object name" error to be output on standard error. Silence the error so it won't appear on the command line. Signed-off-by: Dylan Smith <dylan.ah.smith@gmail.com> Reviewed-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 11 January 2013, 16:44:08 UTC |
9a6dcb3 | Jonathan Nieder | 10 January 2013, 20:54:27 UTC | contrib/vim: simplify instructions for old vim support Rely on the upstream filetype.vim instead of duplicating its rules in git's instructions for syntax highlighting support on pre-7.2 vim versions. The result is a shorter contrib/vim/README. More importantly, it lets us punt on maintenance of the autocmd rules. So now when we fix the upstream gitsendemail rule in light of commit eed6ca7, new git users stuck on old vim reading contrib/vim/README can automagically get the fix without any further changes needed to git. Once the world has moved on to vim 7.2+ completely, we can get rid of these instructions, but for now if they are this simple it's effortless to keep them. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Acked-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 10 January 2013, 22:58:54 UTC |
bf7c3f7 | Junio C Hamano | 10 January 2013, 22:17:13 UTC | Prepare for 1.8.1.1 | 10 January 2013, 22:17:13 UTC |
022250a | Christian Couder | 18 December 2012, 15:26:38 UTC | Makefile: detect when PYTHON_PATH changes When make is run, the python scripts are created from *.py files that are changed to use the python given by PYTHON_PATH. And PYTHON_PATH is set by default to /usr/bin/python on Linux. However, next time make is run with a different value in PYTHON_PATH, we failed to regenerate these scripts. Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Acked-by: Pete Wyckoff <pw@padd.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 10 January 2013, 22:14:37 UTC |
f6f3921 | Junio C Hamano | 10 January 2013, 22:11:18 UTC | Merge branch 'ta/remove-stale-translated-tut' into maint * ta/remove-stale-translated-tut: Remove Documentation/pt_BR/gittutorial.txt | 10 January 2013, 22:11:18 UTC |
3a0ee3e | Junio C Hamano | 10 January 2013, 22:10:40 UTC | Merge branch 'tb/test-t9810-no-sed-i' into maint * tb/test-t9810-no-sed-i: t9810: Do not use sed -i | 10 January 2013, 22:10:40 UTC |
1493bcc | Junio C Hamano | 10 January 2013, 22:10:36 UTC | Merge branch 'tb/test-t9020-no-which' into maint * tb/test-t9020-no-which: t9020: which is not portable | 10 January 2013, 22:10:36 UTC |
3129891 | Junio C Hamano | 10 January 2013, 22:04:26 UTC | Merge branch 'mh/pthreads-autoconf' into maint * mh/pthreads-autoconf: configure.ac: fix pthreads detection on Mac OS X | 10 January 2013, 22:04:26 UTC |
80ff618 | Junio C Hamano | 10 January 2013, 22:04:24 UTC | Merge branch 'jc/same-encoding' into maint * jc/same-encoding: format_commit_message(): simplify calls to logmsg_reencode() | 10 January 2013, 22:04:24 UTC |
74474a9 | Junio C Hamano | 10 January 2013, 22:04:22 UTC | Merge branch 'sp/shortlog-missing-lf' into maint * sp/shortlog-missing-lf: strbuf_add_wrapped*(): Remove unused return value shortlog: fix wrapping lines of wraplen | 10 January 2013, 22:04:23 UTC |