6ebdac1 | Junio C Hamano | 02 September 2016, 16:05:47 UTC | Git 2.10 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 02 September 2016, 16:05:47 UTC |
dd39dfc | Junio C Hamano | 02 September 2016, 15:48:14 UTC | Merge tag 'l10n-2.10.0-rnd2.2' of git://github.com/git-l10n/git-po l10n-2.10.0-rnd2.2 * tag 'l10n-2.10.0-rnd2.2' of git://github.com/git-l10n/git-po: l10n: Updated Vietnamese translation for v2.10.0-rc2 (2757t) | 02 September 2016, 15:48:14 UTC |
e8e3492 | Jiang Xin | 02 September 2016, 13:29:48 UTC | Merge branch 'master' of https://github.com/vnwildman/git * 'master' of https://github.com/vnwildman/git: l10n: Updated Vietnamese translation for v2.10.0-rc2 (2757t) | 02 September 2016, 13:29:48 UTC |
5b18e70 | Junio C Hamano | 31 August 2016, 17:21:05 UTC | A few more fixes before the final 2.10 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 31 August 2016, 17:21:05 UTC |
934b1ca | Junio C Hamano | 31 August 2016, 17:04:14 UTC | Merge tag 'l10n-2.10.0-rnd2' of git://github.com/git-l10n/git-po l10n-2.10.0-rnd2 * tag 'l10n-2.10.0-rnd2' of git://github.com/git-l10n/git-po: l10n: zh_CN: for git v2.10.0 l10n round 2 l10n: ca.po: update translation l10n: fr.po v2.10.0-rc2 l10n: sv.po: Update Swedish translation (2757t0f0u) l10n: git.pot: v2.10.0 round 2 (12 new, 44 removed) l10n: Updated Vietnamese translation for v2.10.0 (2789t) l10n: pt_PT: update Portuguese translation l10n: pt_PT: merge git.pot l10n: ko.po: Update Korean translation l10n: git.pot: v2.10.0 round 1 (248 new, 56 removed) | 31 August 2016, 17:04:14 UTC |
58e72a2 | Junio C Hamano | 31 August 2016, 17:03:51 UTC | Merge branch 'ls/packet-line-protocol-doc-fix' Correct an age-old calco (is that a typo-like word for calc) in the documentation. * ls/packet-line-protocol-doc-fix: pack-protocol: fix maximum pkt-line size | 31 August 2016, 17:03:51 UTC |
4762bf3 | Junio C Hamano | 31 August 2016, 17:03:50 UTC | Merge branch 'mh/blame-worktree' * mh/blame-worktree: blame: fix segfault on untracked files | 31 August 2016, 17:03:50 UTC |
9010077 | Junio C Hamano | 31 August 2016, 17:03:49 UTC | Merge branch 'kw/patch-ids-optim' * kw/patch-ids-optim: p3400: make test script executable | 31 August 2016, 17:03:49 UTC |
7841c48 | Lars Schneider | 29 August 2016, 17:55:09 UTC | pack-protocol: fix maximum pkt-line size According to LARGE_PACKET_MAX in pkt-line.h the maximal length of a pkt-line packet is 65520 bytes. The pkt-line header takes 4 bytes and therefore the pkt-line data component must not exceed 65516 bytes. Signed-off-by: Lars Schneider <larsxschneider@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 30 August 2016, 18:00:29 UTC |
5c57d76 | Jiang Xin | 28 August 2016, 02:18:12 UTC | l10n: zh_CN: for git v2.10.0 l10n round 2 Update 215 translations (2757t0f0u) for git v2.10.0-rc2. Signed-off-by: Jiang Xin <worldhello.net@gmail.com> | 30 August 2016, 16:11:13 UTC |
ba67504 | René Scharfe | 28 August 2016, 12:39:27 UTC | p3400: make test script executable Signed-off-by: Rene Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 29 August 2016, 19:57:16 UTC |
bc6b13a | Thomas Gummerer | 27 August 2016, 20:01:50 UTC | blame: fix segfault on untracked files Since 3b75ee9 ("blame: allow to blame paths freshly added to the index", 2016-07-16) git blame also looks at the index to determine if there is a file that was freshly added to the index. cache_name_pos returns -pos - 1 in case there is no match is found, or if the name matches, but the entry has a stage other than 0. As git blame should work for unmerged files, it uses strcmp to determine whether the name of the returned position matches, in which case the file exists, but is merely unmerged, or if the file actually doesn't exist in the index. If the repository is empty, or if the file would lexicographically be sorted as the last file in the repository, -cache_name_pos - 1 is outside of the length of the active_cache array, causing git blame to segfault. Guard against that, and die() normally to restore the old behaviour. Reported-by: Simon Ruderich <simon@ruderich.org> Signed-off-by: Thomas Gummerer <t.gummerer@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 29 August 2016, 18:57:33 UTC |
63b8265 | Alex Henrie | 28 August 2016, 16:32:56 UTC | l10n: ca.po: update translation Signed-off-by: Alex Henrie <alexhenrie24@gmail.com> | 28 August 2016, 16:32:56 UTC |
b67e630 | Jean-Noel Avila | 20 August 2016, 14:20:17 UTC | l10n: fr.po v2.10.0-rc2 Signed-off-by: Jean-Noel Avila <jn.avila@free.fr> | 28 August 2016, 09:36:14 UTC |
800d88e | Tran Ngoc Quan | 28 August 2016, 00:23:30 UTC | l10n: Updated Vietnamese translation for v2.10.0-rc2 (2757t) Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com> | 28 August 2016, 00:23:30 UTC |
8ed2d3f | Peter Krefting | 26 August 2016, 13:27:24 UTC | l10n: sv.po: Update Swedish translation (2757t0f0u) Signed-off-by: Peter Krefting <peter@softwolves.pp.se> | 27 August 2016, 19:42:50 UTC |
b30eec1 | Jiang Xin | 27 August 2016, 15:36:16 UTC | Merge branch 'master' of https://github.com/vnwildman/git * 'master' of https://github.com/vnwildman/git: l10n: Updated Vietnamese translation for v2.10.0 (2789t) | 27 August 2016, 15:36:16 UTC |
5bd166d | Jiang Xin | 27 August 2016, 15:23:26 UTC | l10n: git.pot: v2.10.0 round 2 (12 new, 44 removed) Generate po/git.pot from v2.10.0-rc2 for git v2.10.0 l10n round 2. Signed-off-by: Jiang Xin <worldhello.net@gmail.com> | 27 August 2016, 15:23:26 UTC |
fe1280d | Jiang Xin | 27 August 2016, 15:14:27 UTC | Merge branch 'master' of git://github.com/git-l10n/git-po * 'master' of git://github.com/git-l10n/git-po: l10n: pt_PT: update Portuguese translation l10n: pt_PT: merge git.pot l10n: ko.po: Update Korean translation l10n: git.pot: v2.10.0 round 1 (248 new, 56 removed) | 27 August 2016, 15:14:27 UTC |
b925257 | Tran Ngoc Quan | 27 August 2016, 02:15:28 UTC | l10n: Updated Vietnamese translation for v2.10.0 (2789t) Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com> | 27 August 2016, 02:15:28 UTC |
d5cb9cb | Junio C Hamano | 26 August 2016, 20:59:20 UTC | Git 2.10-rc2 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 26 August 2016, 20:59:20 UTC |
e28eae3 | Torsten Bögershausen | 26 August 2016, 20:18:48 UTC | gitattributes: Document the unified "auto" handling Update the documentation about text=auto: text=auto now follows the core.autocrlf handling when files are not normalized in the repository. For a cross platform project recommend the usage of attributes for line-ending conversions. Signed-off-by: Torsten Bögershausen <tboegi@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 26 August 2016, 20:54:16 UTC |
5cb0d5a | Junio C Hamano | 25 August 2016, 20:56:51 UTC | Prepare for 2.10.0-rc2 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 25 August 2016, 20:56:51 UTC |
0fd6c99 | Junio C Hamano | 25 August 2016, 20:55:07 UTC | Merge branch 'ja/i18n' The recent i18n patch we added during this cycle did a bit too much refactoring of the messages to avoid word-legos; the repetition has been reduced to help translators. * ja/i18n: i18n: simplify numeric error reporting i18n: fix git rebase interactive commit messages i18n: fix typos for translation | 25 August 2016, 20:55:07 UTC |
3dc0170 | Junio C Hamano | 25 August 2016, 20:55:07 UTC | Merge branch 'bw/mingw-avoid-inheriting-fd-to-lockfile' The tempfile (hence its user lockfile) API lets the caller to open a file descriptor to a temporary file, write into it and then finalize it by first closing the filehandle and then either removing or renaming the temporary file. When the process spawns a subprocess after obtaining the file descriptor, and if the subprocess has not exited when the attempt to remove or rename is made, the last step fails on Windows, because the subprocess has the file descriptor still open. Open tempfile with O_CLOEXEC flag to avoid this (on Windows, this is mapped to O_NOINHERIT). * bw/mingw-avoid-inheriting-fd-to-lockfile: mingw: ensure temporary file handles are not inherited by child processes t6026-merge-attr: child processes must not inherit index.lock handles | 25 August 2016, 20:55:07 UTC |
a899845 | Junio C Hamano | 25 August 2016, 20:55:07 UTC | Merge branch 'dg/document-git-c-in-git-config-doc' The "git -c var[=val] cmd" facility to append a configuration variable definition at the end of the search order was described in git(1) manual page, but not in git-config(1), which was more likely place for people to look for when they ask "can I make a one-shot override, and if so how?" * dg/document-git-c-in-git-config-doc: doc: mention `git -c` in git-config(1) | 25 August 2016, 20:55:07 UTC |
13e11ff | Junio C Hamano | 25 August 2016, 20:55:06 UTC | Merge branch 'js/no-html-bypass-on-windows' On Windows, help.browser configuration variable used to be ignored, which has been corrected. * js/no-html-bypass-on-windows: Revert "display HTML in default browser using Windows' shell API" | 25 August 2016, 20:55:06 UTC |
a1f0b4e | Junio C Hamano | 25 August 2016, 20:55:05 UTC | Merge branch 'hv/doc-commit-reference-style' A small doc update. * hv/doc-commit-reference-style: SubmittingPatches: document how to reference previous commits | 25 August 2016, 20:55:06 UTC |
41a616d | Torsten Bögershausen | 25 August 2016, 15:52:57 UTC | git ls-files: text=auto eol=lf is supported in Git 2.10 The man page for `git ls-files --eol` mentions the combination of text attributes "text=auto eol=lf" or "text=auto eol=crlf" as not supported yet, but may be in the future. Now they are supported. Signed-off-by: Torsten Bögershausen <tboegi@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 25 August 2016, 20:38:18 UTC |
9d83143 | Vasco Almeida | 22 August 2016, 16:29:35 UTC | l10n: pt_PT: update Portuguese translation Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt> | 25 August 2016, 13:33:17 UTC |
587dae4 | Vasco Almeida | 16 August 2016, 12:06:44 UTC | l10n: pt_PT: merge git.pot Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt> | 25 August 2016, 13:33:17 UTC |
078fe30 | Jean-Noel Avila | 21 August 2016, 14:50:39 UTC | i18n: simplify numeric error reporting Signed-off-by: Jean-Noel Avila <jn.avila@free.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 24 August 2016, 15:47:20 UTC |
8aa6dc1 | Jean-Noel Avila | 21 August 2016, 14:50:38 UTC | i18n: fix git rebase interactive commit messages For proper i18n, the logic cannot embed english specific processing. Signed-off-by: Jean-Noel Avila <jn.avila@free.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 24 August 2016, 15:43:27 UTC |
cd3e467 | Jean-Noel Avila | 21 August 2016, 14:50:37 UTC | i18n: fix typos for translation Signed-off-by: Jean-Noel Avila <jn.avila@free.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 24 August 2016, 15:41:22 UTC |
ae1f709 | David Glasser | 23 August 2016, 17:33:21 UTC | doc: mention `git -c` in git-config(1) Signed-off-by: David Glasser <glasser@davidglasser.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 23 August 2016, 17:55:58 UTC |
05d1ed6 | Ben Wijen | 22 August 2016, 12:47:55 UTC | mingw: ensure temporary file handles are not inherited by child processes When the index is locked and child processes inherit the handle to said lock and the parent process wants to remove the lock before the child process exits, on Windows there is a problem: it won't work because files cannot be deleted if a process holds a handle on them. The symptom: Rename from 'xxx/.git/index.lock' to 'xxx/.git/index' failed. Should I try again? (y/n) Spawning child processes with bInheritHandles==FALSE would not work because no file handles would be inherited, not even the hStdXxx handles in STARTUPINFO (stdin/stdout/stderr). Opening every file with O_NOINHERIT does not work, either, as e.g. git-upload-pack expects inherited file handles. This leaves us with the only way out: creating temp files with the O_NOINHERIT flag. This flag is Windows-specific, however. For our purposes, it is equivalent to O_CLOEXEC (which does not exist on Windows), so let's just open temporary files with the O_CLOEXEC flag and map that flag to O_NOINHERIT on Windows. As Eric Wong pointed out, we need to be careful to handle the case where the Linux headers used to compile Git support O_CLOEXEC but the Linux kernel used to run Git does not: it returns an EINVAL. This fixes the test that we just introduced to demonstrate the problem. Signed-off-by: Ben Wijen <ben@wijen.net> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 23 August 2016, 16:09:55 UTC |
ec584cd | Changwoo Ryu | 21 August 2016, 13:44:00 UTC | l10n: ko.po: Update Korean translation Signed-off-by: Changwoo Ryu <cwryu@debian.org> | 21 August 2016, 15:41:23 UTC |
2632c89 | Junio C Hamano | 19 August 2016, 22:39:33 UTC | Git 2.10-rc1 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 19 August 2016, 22:39:33 UTC |
83d9eb0 | Junio C Hamano | 19 August 2016, 22:34:16 UTC | Merge branch 'lt/gpg-show-long-key-in-signature-verification' "git log --show-signature" and other commands that display the verification status of PGP signature now shows the longer key-id, as 32-bit key-id is so last century. * lt/gpg-show-long-key-in-signature-verification: gpg-interface: prefer "long" key format output when verifying pgp signatures | 19 August 2016, 22:34:16 UTC |
d05d0e9 | Junio C Hamano | 19 August 2016, 22:34:16 UTC | Merge branch 'ab/hooks' "git rev-parse --git-path hooks/<hook>" learned to take core.hooksPath configuration variable (introduced during 2.9 cycle) into account. * ab/hooks: rev-parse: respect core.hooksPath in --git-path | 19 August 2016, 22:34:16 UTC |
331f06d | Junio C Hamano | 19 August 2016, 22:34:15 UTC | Merge branch 'jk/difftool-command-not-found' "git difftool" by default ignores the error exit from the backend commands it spawns, because often they signal that they found differences by exiting with a non-zero status code just like "diff" does; the exit status codes 126 and above however are special in that they are used to signal that the command is not executable, does not exist, or killed by a signal. "git difftool" has been taught to notice these exit status codes. * jk/difftool-command-not-found: difftool: always honor fatal error exit codes | 19 August 2016, 22:34:15 UTC |
e6dab9f | Junio C Hamano | 19 August 2016, 22:34:15 UTC | Merge branch 'sb/checkout-explit-detach-no-advice' "git checkout --detach <branch>" used to give the same advice message as that is issued when "git checkout <tag>" (or anything that is not a branch name) is given, but asking with "--detach" is an explicit enough sign that the user knows what is going on. The advice message has been squelched in this case. * sb/checkout-explit-detach-no-advice: checkout: do not mention detach advice for explicit --detach option | 19 August 2016, 22:34:15 UTC |
643b622 | Junio C Hamano | 19 August 2016, 22:34:14 UTC | Merge branch 'tb/t0027-raciness-fix' The t0027 test for CRLF conversion was timing dependent and flaky. * tb/t0027-raciness-fix: convert: Correct NNO tests and missing `LF will be replaced by CRLF` | 19 August 2016, 22:34:14 UTC |
aeb1b7f | Junio C Hamano | 19 August 2016, 22:34:13 UTC | Merge branch 'rs/pull-signed-tag' When "git merge-recursive" works on history with many criss-cross merges in "verbose" mode, the names the command assigns to the virtual merge bases could have overwritten each other by unintended reuse of the same piece of memory. * rs/pull-signed-tag: commit: use FLEX_ARRAY in struct merge_remote_desc merge-recursive: fix verbose output for multiple base trees commit: factor out set_merge_remote_desc() commit: use xstrdup() in get_merge_parent() | 19 August 2016, 22:34:14 UTC |
6db5967 | Johannes Schindelin | 19 August 2016, 08:39:38 UTC | Revert "display HTML in default browser using Windows' shell API" Since 4804aab (help (Windows): Display HTML in default browser using Windows' shell API, 2008-07-13), Git for Windows used to call `ShellExecute()` to launch the default Windows handler for `.html` files. The idea was to avoid going through a shell script, for performance reasons. However, this change ignores the `help.browser` config setting. Together with browsing help not being a performance-critical operation, let's just revert that patch. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 19 August 2016, 20:47:28 UTC |
ad65f7e | Ben Wijen | 18 August 2016, 14:51:12 UTC | t6026-merge-attr: child processes must not inherit index.lock handles On Windows, a file cannot be removed unless all file handles to it have been released. Hence it is particularly important to close handles when spawning children (which would probably not even know that they hold on to those handles). The example chosen for this test is a custom merge driver that indeed has no idea that it blocks the deletion of index.lock. The full use case is a daemon that lives on after the merge, with subsequent invocations handing off to the daemon, thereby avoiding hefty start-up costs. We simulate this behavior by simply sleeping one second. Note that the test only fails on Windows, due to the file locking issue. Since we have no way to say "expect failure with MINGW, success otherwise", we simply skip this test on Windows for now. Signed-off-by: Ben Wijen <ben@wijen.net> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 18 August 2016, 20:56:45 UTC |
d63263a | Junio C Hamano | 17 August 2016, 21:09:17 UTC | RelNotes: final batch of topics before -rc1 | 17 August 2016, 21:09:17 UTC |
187c80b | Junio C Hamano | 17 August 2016, 21:07:48 UTC | Merge branch 'js/test-lint-pathname' The "t/" hierarchy is prone to get an unusual pathname; "make test" has been taught to make sure they do not contain paths that cannot be checked out on Windows (and the mechanism can be reusable to catch pathnames that are not portable to other platforms as need arises). * js/test-lint-pathname: t/Makefile: ensure that paths are valid on platforms we care | 17 August 2016, 21:07:48 UTC |
3f5ad0a | Junio C Hamano | 17 August 2016, 21:07:48 UTC | Merge branch 'sg/reflog-past-root' A small test clean-up for a topic introduced in v2.9.1 and later. * sg/reflog-past-root: t1410: remove superfluous 'git reflog' from the 'walk past root' test | 17 August 2016, 21:07:48 UTC |
4a78871 | Junio C Hamano | 17 August 2016, 21:07:47 UTC | Merge branch 'rs/mailinfo-lib' Small code clean-up. * rs/mailinfo-lib: mailinfo: recycle strbuf in check_header() | 17 August 2016, 21:07:47 UTC |
2f66456 | Junio C Hamano | 17 August 2016, 21:07:46 UTC | Merge branch 'jk/tighten-alloc' Small code and comment clean-up. * jk/tighten-alloc: receive-pack: use FLEX_ALLOC_MEM in queue_command() correct FLEXPTR_* example in comment | 17 August 2016, 21:07:46 UTC |
a6711ed | Junio C Hamano | 17 August 2016, 21:07:45 UTC | Merge branch 'va/i18n' A handful of tests that were broken under gettext-poison build have been fixed. * va/i18n: t7411: become resilient to GETTEXT_POISON t5520: become resilient to GETTEXT_POISON t3404: become resilient to GETTEXT_POISON | 17 August 2016, 21:07:45 UTC |
7c55431 | Matthieu Moy | 17 August 2016, 06:41:16 UTC | git-multimail: update to release 1.4.0 Changes are described in CHANGES. Contributions-by: Matthieu Moy <Matthieu.Moy@imag.fr> Contributions-by: Irfan Adilovic <irfanadilovic@gmail.com> Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 17 August 2016, 18:36:08 UTC |
07d1a42 | Junio C Hamano | 17 August 2016, 17:18:59 UTC | relnotes: redo the description of text=auto fix Signed-off-by: Junio C Hamano <gitster@pobox.com> | 17 August 2016, 18:31:40 UTC |
175d38c | Heiko Voigt | 28 July 2016, 12:55:14 UTC | SubmittingPatches: document how to reference previous commits To reference previous commits people used to put just the abbreviated SHA-1 into commit messages. This is what has evolved as a more stable format for referencing commits. So lets document it for everyone to look-up when needed. Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 17 August 2016, 17:47:33 UTC |
af2b21e | Junio C Hamano | 16 August 2016, 22:04:13 UTC | Merge branch 'lt/gpg-show-long-key-in-signature-verification-maint' into lt/gpg-show-long-key-in-signature-verification Linus's original was rebased to apply to the maintenance track just in case binary distributors that are stuck in the past want to take it to their older codebase. Let's merge it up to more modern codebase that has Peff's gpg-interface clean-up topic that appeared after Git 2.9 was tagged. * lt/gpg-show-long-key-in-signature-verification-maint: gpg-interface: prefer "long" key format output when verifying pgp signatures | 16 August 2016, 22:04:13 UTC |
b624a3e | Linus Torvalds | 16 August 2016, 20:10:24 UTC | gpg-interface: prefer "long" key format output when verifying pgp signatures Yes, gpg2 already uses the long format by default, but most distributions seem to still have "gpg" be the older 1.x version due to compatibility reasons. And older versions of gpg only show the 32-bit short ID, which is quite insecure. This doesn't actually matter for the _verification_ itself: if the verification passes, the pgp signature is good. But if you don't actually have the key yet, and want to fetch it, or you want to check exactly which key was used for verification and want to check it, we should specify the key with more precision. In fact, we should preferentially specify the whole key fingerprint, but gpg doesn't actually support that. Which is really quite sad. Showing the "long" format improves things to at least show 64 bits of the fingerprint. That's a lot better, even if it's not perfect. This change the log format for "git log --show-signature" from commit 2376d31787760af598db23bb3982a57419854e5c merged tag 'v2.9.3' gpg: Signature made Fri 12 Aug 2016 09:17:59 AM PDT using RSA key ID 96AFE6CB gpg: Good signature from "Junio C Hamano <gitster@pobox.com>" gpg: aka "Junio C Hamano <jch@google.com>" gpg: aka "Junio C Hamano <junio@pobox.com>" Merge: 2807cd7b25af e0c1ceafc5be Author: Junio C Hamano <gitster@pobox.com> Date: Fri Aug 12 10:02:18 2016 -0700 to commit 2376d31787760af598db23bb3982a57419854e5c merged tag 'v2.9.3' gpg: Signature made Fri 12 Aug 2016 09:17:59 AM PDT gpg: using RSA key B0B5E88696AFE6CB gpg: Good signature from "Junio C Hamano <gitster@pobox.com>" gpg: aka "Junio C Hamano <jch@google.com>" gpg: aka "Junio C Hamano <junio@pobox.com>" Merge: 2807cd7b25af e0c1ceafc5be Author: Junio C Hamano <gitster@pobox.com> Date: Fri Aug 12 10:02:18 2016 -0700 (note the longer key ID, but also the reflowing of the text) and also changes the format in the merge messages when merging a signed tag. If you already use gpg2 (either because it's installed by default, or because you have set your gpg_program configuration to point to gpg2), that already used the long format, you'll also see a change: it will now have the same formatting as gpg 1.x, and the verification string looks something like gpg: Signature made Sun 24 Jul 2016 12:24:02 PM PDT gpg: using RSA key 79BE3E4300411886 gpg: Good signature from "Linus Torvalds <torvalds@linux-foundation.org>" [ultimate] where it used to be on one line: gpg: Signature made Sun 24 Jul 2016 12:24:02 PM PDT using RSA key ID 79BE3E4300411886 gpg: Good signature from "Linus Torvalds <torvalds@linux-foundation.org>" [ultimate] so there is certainly a chance this could break some automated scripting. But the 32-bit key ID's really are broken. Also note that because of the differences between gpg-1.x and gpg-2.x, hopefully any scripted key ID parsing code (if such code exists) is already flexible enough to not care. This was triggered by the fact that the "evil32" project keys ended up leaking to the public key servers, so now there are 32-bit aliases for just about every open source developer that you can easily get by mistake if you use the 32-bit short ID format. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 16 August 2016, 22:02:22 UTC |
9445b49 | Johannes Schindelin | 16 August 2016, 13:14:27 UTC | rev-parse: respect core.hooksPath in --git-path The idea of the --git-path option is not only to avoid having to prefix paths with the output of --git-dir all the time, but also to respect overrides for specific common paths inside the .git directory (e.g. `git rev-parse --git-path objects` will report the value of the environment variable GIT_OBJECT_DIRECTORY, if set). When introducing the core.hooksPath setting, we forgot to adjust git_path() accordingly. This patch fixes that. While at it, revert the special-casing of core.hooksPath in run-command.c, as it is now no longer needed. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 16 August 2016, 19:03:26 UTC |
c2cafd3 | Johannes Schindelin | 16 August 2016, 15:13:25 UTC | t/Makefile: ensure that paths are valid on platforms we care Some pathnames that are okay on ext4 and on HFS+ cannot be checked out on Windows. Tests that want to see operations on such paths on filesystems that support them must do so behind appropriate test prerequisites, and must not include them in the source tree (instead they should create them when they run). Otherwise, the source tree cannot even be checked out. Make sure that double-quotes, asterisk, colon, greater/less-than, question-mark, backslash, tab, vertical-bar, as well as any non-ASCII characters never appear in the pathnames with a new test-lint-* target as part of a `make test`. To that end, we call `git ls-files` (ensuring that the paths are quoted properly), relying on the fact that paths containing non-ASCII characters are quoted within double-quotes. In case that the source code does not actually live in a Git repository (e.g. when extracted from a .zip file), or that the `git` executable cannot be executed, we simply ignore the error for now; In that case, our trusty Continuous Integration will be the last line of defense and catch any problematic file name. Noticed when a topic wanted to add a pathname with '>' in it. A check like this will prevent a similar problems from happening in the future. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 16 August 2016, 18:56:42 UTC |
45a4f5d | John Keeping | 15 August 2016, 21:54:39 UTC | difftool: always honor fatal error exit codes At the moment difftool's "trust exit code" logic always suppresses the exit status of the diff utility we invoke. This is useful because we don't want to exit just because diff returned "1" because the files differ, but it's confusing if the shell returns an error because the selected diff utility is not found. POSIX specifies 127 as the exit status for "command not found", 126 for "command found but is not executable" and values greater than 128 if the command terminated because it received a signal [1] and at least bash and dash follow this specification, while diff utilities generally use "1" for the exit status we want to ignore. Handle any value of 126 or greater as a special value indicating that some form of fatal error occurred. [1] http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_08_02 Signed-off-by: John Keeping <john@keeping.me.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 15 August 2016, 22:24:05 UTC |
779b88a | Stefan Beller | 15 August 2016, 18:40:21 UTC | checkout: do not mention detach advice for explicit --detach option When a user asked for a detached HEAD specifically with `--detach`, we do not need to give advice on what a detached HEAD state entails as we can assume they know what they're getting into as they asked for it. Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 15 August 2016, 22:01:45 UTC |
07c9292 | Junio C Hamano | 15 August 2016, 17:20:38 UTC | Relnotes: decribe the updates to the "text=auto" attribute Helped-by: Torsten Bögershausen <tboegi@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 15 August 2016, 20:15:49 UTC |
0eb75ce | SZEDER Gábor | 14 August 2016, 23:28:53 UTC | t1410: remove superfluous 'git reflog' from the 'walk past root' test The test added in 71abeb753fa8 (reflog: continue walking the reflog past root commits, 2016-06-03) contains an unnecessary 'git reflog' execution, which was part of my debug/tracing instrumentation that I somehow didn't manage to remove before submitting. Signed-off-by: SZEDER Gábor <szeder@ira.uka.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 15 August 2016, 16:21:39 UTC |
9fa976f | Jiang Xin | 15 August 2016, 14:45:20 UTC | l10n: git.pot: v2.10.0 round 1 (248 new, 56 removed) Generate po/git.pot from v2.10.0-rc0 for git v2.10.0 l10n round 1. Signed-off-by: Jiang Xin <worldhello.net@gmail.com> | 15 August 2016, 14:45:20 UTC |
726cc2b | Junio C Hamano | 14 August 2016, 21:48:06 UTC | Git 2.10-rc0 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 14 August 2016, 21:48:06 UTC |
a0ad53c | Torsten Bögershausen | 13 August 2016, 21:29:27 UTC | convert: Correct NNO tests and missing `LF will be replaced by CRLF` When a non-reversible CRLF conversion is done in "git add", a warning is printed on stderr (or Git dies, depending on checksafe) The function commit_chk_wrnNNO() in t0027 was written to test this, but did the wrong thing: Instead of looking at the warning from "git add", it looked at the warning from "git commit". This is racy because "git commit" may not have to do CRLF conversion at all if it can use the sha1 value from the index (which depends on whether "add" and "commit" run in a single second). Correct t0027 and replace the commit for each and every file with a commit of all files in one go. The function commit_chk_wrnNNO() should be renamed in a separate commit. Now that t0027 does the right thing, it detects a bug in covert.c: This sequence should generate the warning `LF will be replaced by CRLF`, but does not: $ git init $ git config core.autocrlf false $ printf "Line\r\n" >file $ git add file $ git commit -m "commit with CRLF" $ git config core.autocrlf true $ printf "Line\n" >file $ git add file "git add" calls crlf_to_git() in convert.c, which calls check_safe_crlf(). When has_cr_in_index(path) is true, crlf_to_git() returns too early and check_safe_crlf() is not called at all. Factor out the code which determines if "git checkout" converts LF->CRLF into will_convert_lf_to_crlf(). Update the logic around check_safe_crlf() and "simulate" the possible LF->CRLF conversion at "git checkout" with help of will_convert_lf_to_crlf(). Thanks to Jeff King <peff@peff.net> for analyzing t0027. Reported-By: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Torsten Bögershausen <tboegi@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 14 August 2016, 20:45:52 UTC |
ddd0bfa | René Scharfe | 13 August 2016, 15:38:56 UTC | receive-pack: use FLEX_ALLOC_MEM in queue_command() Use the macro FLEX_ALLOC_MEM instead of open-coding it. This shortens and simplifies the code a bit. Signed-off-by: Rene Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 14 August 2016, 02:49:30 UTC |
5447a76 | René Scharfe | 13 August 2016, 12:21:27 UTC | commit: use FLEX_ARRAY in struct merge_remote_desc Convert the name member of struct merge_remote_desc to a FLEX_ARRAY and use FLEX_ALLOC_STR to build the struct. This halves the number of memory allocations, saves the storage for a pointer and avoids an indirection when reading the name. Suggested-by: Jeff King <peff@peff.net> Signed-off-by: Rene Scharfe <l.s.r@web.de> Reviewed-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 14 August 2016, 02:48:07 UTC |
a257165 | René Scharfe | 13 August 2016, 12:16:04 UTC | merge-recursive: fix verbose output for multiple base trees One of the indirect callers of make_virtual_commit() passes the result of oid_to_hex() as the name, i.e. a pointer to a static buffer. Since the function uses that string pointer directly in building a struct merge_remote_desc, multiple entries can end up sharing the same name inadvertently. Fix that by calling set_merge_remote_desc(), which creates a copy of the string, instead of building the struct by hand. Signed-off-by: Rene Scharfe <l.s.r@web.de> Reviewed-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 14 August 2016, 02:48:04 UTC |
beb518c | René Scharfe | 13 August 2016, 12:11:27 UTC | commit: factor out set_merge_remote_desc() Export a helper function for allocating, populating and attaching a merge_remote_desc to a commit. Signed-off-by: Rene Scharfe <l.s.r@web.de> Reviewed-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 14 August 2016, 02:48:00 UTC |
c089320 | René Scharfe | 13 August 2016, 12:09:49 UTC | commit: use xstrdup() in get_merge_parent() Handle allocation errors for the name member just like we already do for the struct merge_remote_desc itself. Signed-off-by: Rene Scharfe <l.s.r@web.de> Reviewed-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 14 August 2016, 02:47:49 UTC |
ecf30b2 | René Scharfe | 13 August 2016, 09:05:42 UTC | mailinfo: recycle strbuf in check_header() handle_message_id() duplicates the contents of the strbuf that is passed to it. Its only caller proceeds to release the strbuf immediately after that. Reuse it instead and make that change of object ownership more obvious by inlining this short function. Signed-off-by: Rene Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 14 August 2016, 02:45:24 UTC |
0bb1519 | René Scharfe | 13 August 2016, 09:01:21 UTC | correct FLEXPTR_* example in comment This section is about "The FLEXPTR_* variants", so use FLEXPTR_ALLOC_STR in the example. Signed-off-by: Rene Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 14 August 2016, 02:44:03 UTC |
3126732 | Vasco Almeida | 12 August 2016, 11:59:02 UTC | t7411: become resilient to GETTEXT_POISON The concerned test greps the error message in git_parse_source() which contains "bad config line %d in submodule-blob %s". Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 August 2016, 22:12:33 UTC |
0955ab4 | Vasco Almeida | 12 August 2016, 11:59:01 UTC | t5520: become resilient to GETTEXT_POISON Use test_i18ngrep function instead of grep for grepping strings. Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 August 2016, 22:12:33 UTC |
7ca79dc | Vasco Almeida | 12 August 2016, 11:59:00 UTC | t3404: become resilient to GETTEXT_POISON The concerned test greps the output of exit_with_patch() in git-rebase--interactive.sh script. Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 August 2016, 22:12:33 UTC |
2376d31 | Junio C Hamano | 12 August 2016, 17:02:18 UTC | Sync with 2.9.3 * tag 'v2.9.3': Git 2.9.3 | 12 August 2016, 17:02:18 UTC |
2807cd7 | Junio C Hamano | 12 August 2016, 17:01:42 UTC | Final batch before 2.10-rc0 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 August 2016, 17:01:48 UTC |
dd610ae | Junio C Hamano | 12 August 2016, 16:47:39 UTC | Merge branch 'kw/patch-ids-optim' When "git rebase" tries to compare set of changes on the updated upstream and our own branch, it computes patch-id for all of these changes and attempts to find matches. This has been optimized by lazily computing the full patch-id (which is expensive) to be compared only for changes that touch the same set of paths. * kw/patch-ids-optim: rebase: avoid computing unnecessary patch IDs patch-ids: add flag to create the diff patch id using header only data patch-ids: replace the seen indicator with a commit pointer patch-ids: stop using a hand-rolled hashmap implementation | 12 August 2016, 16:47:39 UTC |
3787e3c | Junio C Hamano | 12 August 2016, 16:47:38 UTC | Merge branch 'ew/http-backend-batch-headers' The http-backend (the server-side component of smart-http transport) used to trickle the HTTP header one at a time. Now these write(2)s are batched. * ew/http-backend-batch-headers: http-backend: buffer headers before sending | 12 August 2016, 16:47:38 UTC |
7575c12 | Junio C Hamano | 12 August 2016, 16:47:38 UTC | Merge branch 'va/i18n' * va/i18n: i18n: git-stash: mark messages for translation i18n: archive: mark errors for translation i18n: setup: mark error messages for translation | 12 August 2016, 16:47:38 UTC |
e6b8f80 | Junio C Hamano | 12 August 2016, 16:47:37 UTC | Merge branch 'vs/typofix' * vs/typofix: Spelling fixes | 12 August 2016, 16:47:37 UTC |
2c44b7a | Junio C Hamano | 12 August 2016, 16:47:37 UTC | Merge branch 'js/mv-dir-to-new-directory' "git mv dir non-existing-dir/" did not work in some environments the same way as existing mainstream platforms. The code now moves "dir" to "non-existing-dir", without relying on rename("A", "B/") that strips the trailing slash of '/'. * js/mv-dir-to-new-directory: git mv: do not keep slash in `git mv dir non-existing-dir/` | 12 August 2016, 16:47:37 UTC |
0a315be | Junio C Hamano | 12 August 2016, 16:47:37 UTC | Merge branch 'rs/use-strbuf-add-unique-abbrev' A small code clean-up. * rs/use-strbuf-add-unique-abbrev: use strbuf_add_unique_abbrev() for adding short hashes | 12 August 2016, 16:47:37 UTC |
57734b4 | Junio C Hamano | 12 August 2016, 16:47:37 UTC | Merge branch 'jk/big-and-future-archive-tar' A small code clean-up. * jk/big-and-future-archive-tar: archive-tar: make write_extended_header() void | 12 August 2016, 16:47:37 UTC |
6d4960a | Junio C Hamano | 12 August 2016, 16:47:36 UTC | Merge branch 'jk/trace-fixup' Various small fixups to the "GIT_TRACE" facility. * jk/trace-fixup: trace: do not fall back to stderr write_or_die: drop write_or_whine_pipe() trace: disable key after write error trace: correct variable name in write() error message trace: cosmetic fixes for error messages trace: use warning() for printing trace errors trace: stop using write_or_whine_pipe() trace: handle NULL argument in trace_disable() | 12 August 2016, 16:47:36 UTC |
8a5ad2b | Junio C Hamano | 12 August 2016, 16:47:36 UTC | Merge branch 'rs/merge-recursive-string-list-init' A small code clean-up. * rs/merge-recursive-string-list-init: merge-recursive: use STRING_LIST_INIT_NODUP | 12 August 2016, 16:47:36 UTC |
b32d7c5 | Junio C Hamano | 12 August 2016, 16:47:36 UTC | Merge branch 'rs/merge-add-strategies-simplification' A small code clean-up. * rs/merge-add-strategies-simplification: merge: use string_list_split() in add_strategies() | 12 August 2016, 16:47:36 UTC |
18f3ce8 | Junio C Hamano | 12 August 2016, 16:47:36 UTC | Merge branch 'rs/child-process-init' A small code clean-up. * rs/child-process-init: use CHILD_PROCESS_INIT to initialize automatic variables | 12 August 2016, 16:47:36 UTC |
bb876eb | Junio C Hamano | 12 August 2016, 16:47:36 UTC | Merge branch 'js/import-tars-hardlinks' "import-tars" fast-import script (in contrib/) used to ignore a hardlink target and replaced it with an empty file, which has been corrected to record the same blob as the other file the hardlink is shared with. * js/import-tars-hardlinks: import-tars: support hard links | 12 August 2016, 16:47:36 UTC |
62134ef | Junio C Hamano | 12 August 2016, 16:47:35 UTC | Merge branch 'ms/document-pack-window-memory-is-per-thread' * ms/document-pack-window-memory-is-per-thread: document git-repack interaction of pack.threads and pack.windowMemory | 12 August 2016, 16:47:35 UTC |
7d4d742 | Junio C Hamano | 12 August 2016, 16:47:35 UTC | Merge branch 'vs/completion-branch-fully-spelled-d-m-r' * vs/completion-branch-fully-spelled-d-m-r: completion: complete --delete, --move, and --remotes for git branch | 12 August 2016, 16:47:35 UTC |
2f9c615 | Junio C Hamano | 12 August 2016, 16:47:34 UTC | Merge branch 'sb/submodule-clone-retry' Fix-up to an error codepath in a topic already in 'master'. * sb/submodule-clone-retry: submodule--helper: use parallel processor correctly | 12 August 2016, 16:47:34 UTC |
e0c1cea | Junio C Hamano | 12 August 2016, 16:17:51 UTC | Git 2.9.3 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 August 2016, 16:17:51 UTC |
9b601ea | Junio C Hamano | 12 August 2016, 16:16:57 UTC | Merge branch 'jk/difftool-in-subdir' into maint "git difftool <paths>..." started in a subdirectory failed to interpret the paths relative to that directory, which has been fixed. * jk/difftool-in-subdir: difftool: use Git::* functions instead of passing around state difftool: avoid $GIT_DIR and $GIT_WORK_TREE difftool: fix argument handling in subdirs | 12 August 2016, 16:16:57 UTC |
f4fd627 | Junio C Hamano | 12 August 2016, 16:16:56 UTC | Merge branch 'jk/reset-ident-time-per-commit' into maint Not-so-recent rewrite of "git am" that started making internal calls into the commit machinery had an unintended regression, in that no matter how many seconds it took to apply many patches, the resulting committer timestamp for the resulting commits were all the same. * jk/reset-ident-time-per-commit: am: reset cached ident date for each patch | 12 August 2016, 16:16:56 UTC |
b3dfeeb | Kevin Willford | 29 July 2016, 16:19:20 UTC | rebase: avoid computing unnecessary patch IDs The `rebase` family of Git commands avoid applying patches that were already integrated upstream. They do that by using the revision walking option that computes the patch IDs of the two sides of the rebase (local-only patches vs upstream-only ones) and skipping those local patches whose patch ID matches one of the upstream ones. In many cases, this causes unnecessary churn, as already the set of paths touched by a given commit would suffice to determine that an upstream patch has no local equivalent. This hurts performance in particular when there are a lot of upstream patches, and/or large ones. Therefore, let's introduce the concept of a "diff-header-only" patch ID, compare those first, and only evaluate the "full" patch ID lazily. Please note that in contrast to the "full" patch IDs, those "diff-header-only" patch IDs are prone to collide with one another, as adjacent commits frequently touch the very same files. Hence we now have to be careful to allow multiple hash entries with the same hash. We accomplish that by using the hashmap_add() function that does not even test for hash collisions. This also allows us to evaluate the full patch ID lazily, i.e. only when we found commits with matching diff-header-only patch IDs. We add a performance test that demonstrates ~1-6% improvement. In practice this will depend on various factors such as how many upstream changes and how big those changes are along with whether file system caches are cold or warm. As Git's test suite has no way of catching performance regressions, we also add a regression test that verifies that the full patch ID computation is skipped when the diff-header-only computation suffices. Signed-off-by: Kevin Willford <kcwillford@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 11 August 2016, 21:39:16 UTC |
2e3a16b | Ville Skyttä | 09 August 2016, 08:53:38 UTC | Spelling fixes <BAD> <CORRECTED> accidently accidentally commited committed dependancy dependency emtpy empty existance existence explicitely explicitly git-upload-achive git-upload-archive hierachy hierarchy indegee indegree intial initial mulitple multiple non-existant non-existent precendence. precedence. priviledged privileged programatically programmatically psuedo-binary pseudo-binary soemwhere somewhere successfull successful transfering transferring uncommited uncommitted unkown unknown usefull useful writting writing Signed-off-by: Ville Skyttä <ville.skytta@iki.fi> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 11 August 2016, 21:35:42 UTC |
a42d7b6 | Junio C Hamano | 10 August 2016, 19:38:02 UTC | Sync with maint * maint: Yet another batch for 2.9.3 | 10 August 2016, 19:38:02 UTC |
27b0ea4 | Junio C Hamano | 10 August 2016, 19:35:40 UTC | Twelfth batch for 2.10 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 10 August 2016, 19:37:53 UTC |