126e72e | 张亚栋 | 16 December 2017, 15:37:25 UTC | Create bug | 16 December 2017, 15:37:25 UTC |
52015aa | Todd Zullinger | 14 December 2017, 02:42:44 UTC | RelNotes: minor typo fixes in 2.16.0 draft Signed-off-by: Todd Zullinger <tmz@pobox.com> | 14 December 2017, 18:46:09 UTC |
d9a3764 | Junio C Hamano | 13 December 2017, 21:32:34 UTC | RelNotes: the ninth batch Signed-off-by: Junio C Hamano <gitster@pobox.com> | 13 December 2017, 21:32:34 UTC |
d919598 | Junio C Hamano | 13 December 2017, 21:28:58 UTC | Merge branch 'js/hashmap-update-sample' Code comment update. * js/hashmap-update-sample: hashmap: adjust documentation to reflect reality | 13 December 2017, 21:28:58 UTC |
37cba00 | Junio C Hamano | 13 December 2017, 21:28:58 UTC | Merge branch 'en/remove-stripspace' An internal function that was left for backward compatibility has been removed, as there is no remaining callers. * en/remove-stripspace: strbuf: remove unused stripspace function alias | 13 December 2017, 21:28:58 UTC |
e6bf6af | Junio C Hamano | 13 December 2017, 21:28:58 UTC | Merge branch 'jk/no-optional-locks' Doc update for a feature available in Git v2.14 and upwards. * jk/no-optional-locks: git-status.txt: mention --no-optional-locks | 13 December 2017, 21:28:58 UTC |
97e1f85 | Junio C Hamano | 13 December 2017, 21:28:57 UTC | Merge branch 'ds/for-each-file-in-obj-micro-optim' The code to iterate over loose object files got optimized. * ds/for-each-file-in-obj-micro-optim: sha1_file: use strbuf_add() instead of strbuf_addf() | 13 December 2017, 21:28:57 UTC |
36ddee9 | Junio C Hamano | 13 December 2017, 21:28:57 UTC | Merge branch 'jk/progress-delay-fix' A regression in the progress eye-candy was fixed. * jk/progress-delay-fix: progress: drop delay-threshold code progress: set default delay threshold to 100%, not 0% | 13 December 2017, 21:28:57 UTC |
7065665 | Junio C Hamano | 13 December 2017, 21:28:57 UTC | Merge branch 'ks/doc-checkout-previous' @{-N} in "git checkout @{-N}" may refer to a detached HEAD state, but the documentation was not clear about it, which has been fixed. * ks/doc-checkout-previous: Doc/checkout: checking out using @{-N} can lead to detached state | 13 December 2017, 21:28:57 UTC |
577051b | Junio C Hamano | 13 December 2017, 21:28:56 UTC | Merge branch 'fk/sendmail-from-path' "git send-email" tries to see if the sendmail program is available in /usr/lib and /usr/sbin; extend the list of locations to be checked to also include directories on $PATH. * fk/sendmail-from-path: git-send-email: honor $PATH for sendmail binary | 13 December 2017, 21:28:56 UTC |
d22512e | Junio C Hamano | 13 December 2017, 21:28:56 UTC | Merge branch 'tg/t-readme-updates' Developer doc updates. * tg/t-readme-updates: t/README: document test_cmp_rev t/README: remove mention of adding copyright notices | 13 December 2017, 21:28:56 UTC |
41a05ee | Junio C Hamano | 13 December 2017, 21:28:56 UTC | Merge branch 'pc/submodule-helper' A message fix. * pc/submodule-helper: submodule--helper.c: i18n: add a missing space in message | 13 December 2017, 21:28:56 UTC |
e49ac11 | Junio C Hamano | 13 December 2017, 21:28:55 UTC | Merge branch 'jc/receive-pack-hook-doc' Doc update. * jc/receive-pack-hook-doc: hooks doc: clarify when receive-pack invokes its hooks | 13 December 2017, 21:28:55 UTC |
b3f04e5 | Junio C Hamano | 13 December 2017, 21:28:54 UTC | Merge branch 'ab/pcre2-grep' "git grep" compiled with libpcre2 sometimes triggered a segfault, which is being fixed. * ab/pcre2-grep: grep: fix segfault under -P + PCRE2 <=10.30 + (*NO_JIT) test-lib: add LIBPCRE1 & LIBPCRE2 prerequisites | 13 December 2017, 21:28:54 UTC |
6c3daa2 | Junio C Hamano | 13 December 2017, 21:28:54 UTC | Merge branch 'ra/decorate-limit-refs' The tagnames "git log --decorate" uses to annotate the commits can now be limited to subset of available refs with the two additional options, --decorate-refs[-exclude]=<pattern>. * ra/decorate-limit-refs: log: add option to choose which refs to decorate | 13 December 2017, 21:28:54 UTC |
721cc43 | Junio C Hamano | 13 December 2017, 21:28:54 UTC | Merge branch 'bc/hash-algo' An infrastructure to define what hash function is used in Git is introduced, and an effort to plumb that throughout various codepaths has been started. * bc/hash-algo: repository: fix a sparse 'using integer as NULL pointer' warning Switch empty tree and blob lookups to use hash abstraction Integrate hash algorithm support with repo setup Add structure representing hash algorithm setup: expose enumerated repo info | 13 December 2017, 21:28:54 UTC |
95ec6b1 | Junio C Hamano | 06 December 2017, 17:29:50 UTC | RelNotes: the eighth batch Signed-off-by: Junio C Hamano <gitster@pobox.com> | 06 December 2017, 17:29:50 UTC |
3b136a7 | Junio C Hamano | 06 December 2017, 17:27:59 UTC | Sync with maint | 06 December 2017, 17:27:59 UTC |
ef47036 | Junio C Hamano | 06 December 2017, 17:23:45 UTC | Merge branch 'jn/ssh-wrappers' The ssh-variant 'simple' introduced earlier broke existing installations by not passing --port/-4/-6 and not diagnosing an attempt to pass these as an error. Instead, default to automatically detect how compatible the GIT_SSH/GIT_SSH_COMMAND is to OpenSSH convention and then error out an invocation to make it easier to diagnose connection errors. * jn/ssh-wrappers: connect: correct style of C-style comment ssh: 'simple' variant does not support --port ssh: 'simple' variant does not support -4/-6 ssh: 'auto' variant to select between 'ssh' and 'simple' connect: split ssh option computation to its own function connect: split ssh command line options into separate function connect: split git:// setup into a separate function connect: move no_fork fallback to git_tcp_connect ssh test: make copy_ssh_wrapper_as clean up after itself | 06 December 2017, 17:23:45 UTC |
4c6dad0 | Junio C Hamano | 06 December 2017, 17:23:44 UTC | Merge branch 'bw/protocol-v1' A new mechanism to upgrade the wire protocol in place is proposed and demonstrated that it works with the older versions of Git without harming them. * bw/protocol-v1: Documentation: document Extra Parameters ssh: introduce a 'simple' ssh variant i5700: add interop test for protocol transition http: tell server that the client understands v1 connect: tell server that the client understands v1 connect: teach client to recognize v1 server response upload-pack, receive-pack: introduce protocol version 1 daemon: recognize hidden request arguments protocol: introduce protocol extension mechanisms pkt-line: add packet_write function connect: in ref advertisement, shallows are last | 06 December 2017, 17:23:44 UTC |
f65ab57 | Junio C Hamano | 06 December 2017, 17:23:43 UTC | Merge branch 'sp/doc-info-attributes' Doc update. * sp/doc-info-attributes: doc: Mention info/attributes in gitrepository-layout | 06 December 2017, 17:23:43 UTC |
714485c | Junio C Hamano | 06 December 2017, 17:23:42 UTC | Merge branch 'ph/stash-save-m-option-fix' In addition to "git stash -m message", the command learned to accept "git stash -mmessage" form. * ph/stash-save-m-option-fix: stash: learn to parse -m/--message like commit does | 06 December 2017, 17:23:43 UTC |
79bafd2 | Junio C Hamano | 06 December 2017, 17:23:42 UTC | Merge branch 'jk/fewer-pack-rescan' Internaly we use 0{40} as a placeholder object name to signal the codepath that there is no such object (e.g. the fast-forward check while "git fetch" stores a new remote-tracking ref says "we know there is no 'old' thing pointed at by the ref, as we are creating it anew" by passing 0{40} for the 'old' side), and expect that a codepath to locate an in-core object to return NULL as a sign that the object does not exist. A look-up for an object that does not exist however is quite costly with a repository with large number of packfiles. This access pattern has been optimized. * jk/fewer-pack-rescan: sha1_file: fast-path null sha1 as a missing object everything_local: use "quick" object existence check p5551: add a script to test fetch pack-dir rescans t/perf/lib-pack: use fast-import checkpoint to create packs p5550: factor out nonsense-pack creation | 06 December 2017, 17:23:42 UTC |
4ca10aa | Junio C Hamano | 06 December 2017, 17:23:41 UTC | Merge branch 'tg/deprecate-stash-save' Doc update. * tg/deprecate-stash-save: doc: prefer 'stash push' over 'stash save' | 06 December 2017, 17:23:41 UTC |
5b5710e | Junio C Hamano | 06 December 2017, 17:23:40 UTC | Merge branch 'rd/doc-notes-prune-fix' Doc update. * rd/doc-notes-prune-fix: notes: correct 'git notes prune' options to '[-n] [-v]' | 06 December 2017, 17:23:40 UTC |
24065b8 | Junio C Hamano | 06 December 2017, 17:23:39 UTC | Merge branch 'rd/man-reflog-add-n' Doc update. * rd/man-reflog-add-n: doc: add missing "-n" (dry-run) option to reflog man page | 06 December 2017, 17:23:40 UTC |
c3d2d34 | Junio C Hamano | 06 December 2017, 17:23:39 UTC | Merge branch 'rd/man-prune-progress' Doc update. * rd/man-prune-progress: prune: add "--progress" to man page and usage msg | 06 December 2017, 17:23:39 UTC |
e8b96bd | Junio C Hamano | 06 December 2017, 17:23:38 UTC | Merge branch 'jt/submodule-tests-cleanup' Further test clean-up. * jt/submodule-tests-cleanup: Tests: clean up submodule recursive helpers | 06 December 2017, 17:23:38 UTC |
3fea5c5 | Junio C Hamano | 06 December 2017, 17:23:37 UTC | Merge branch 'jn/reproducible-build' The build procedure has been taught to avoid some unnecessary instability in the build products. * jn/reproducible-build: generate-cmdlist: avoid non-deterministic output git-gui: sort entries in optimized tclIndex | 06 December 2017, 17:23:38 UTC |
b16488e | Junio C Hamano | 06 December 2017, 17:23:37 UTC | Merge branch 'cc/git-packet-pm' Code clean-up. * cc/git-packet-pm: Git/Packet.pm: use 'if' instead of 'unless' Git/Packet: clarify that packet_required_key_val_read allows EOF | 06 December 2017, 17:23:37 UTC |
00bcc35 | Junio C Hamano | 06 December 2017, 17:23:37 UTC | Merge branch 'ac/complete-pull-autostash' The shell completion (in contrib/) learned that "git pull" can take the "--autostash" option. * ac/complete-pull-autostash: completion: add --autostash and --no-autostash to pull | 06 December 2017, 17:23:37 UTC |
6cddb73 | Junio C Hamano | 06 December 2017, 17:23:37 UTC | Merge branch 'hm/config-parse-expiry-date' "git config --expiry-date gc.reflogexpire" can read "2.weeks" from the configuration and report it as a timestamp, just like "--int" would read "1k" and report 1024, to help consumption by scripts. * hm/config-parse-expiry-date: config: add --expiry-date | 06 December 2017, 17:23:37 UTC |
0186e9e | Junio C Hamano | 06 December 2017, 17:23:36 UTC | Merge branch 'tz/branch-doc-remove-set-upstream' "git branch --set-upstream" has been deprecated and (sort of) removed, as "--set-upstream-to" is the preferred one these days. The documentation still had "--set-upstream" listed on its synopsys section, which has been corrected. * tz/branch-doc-remove-set-upstream: branch doc: remove --set-upstream from synopsis | 06 December 2017, 17:23:36 UTC |
7102541 | Junio C Hamano | 06 December 2017, 17:23:36 UTC | Merge branch 'cc/perf-run-config' * cc/perf-run-config: perf: store subsection results in "test-results/$GIT_PERF_SUBSECTION/" perf/run: show name of rev being built perf/run: add run_subsection() perf/run: update get_var_from_env_or_config() for subsections perf/run: add get_subsections() perf/run: add calls to get_var_from_env_or_config() perf/run: add GIT_PERF_DIRS_OR_REVS perf/run: add get_var_from_env_or_config() perf/run: add '--config' option to the 'run' script | 06 December 2017, 17:23:36 UTC |
0b75572 | Junio C Hamano | 06 December 2017, 17:23:35 UTC | Merge branch 'sb/submodule-recursive-checkout-detach-head' "git checkout --recursive" may overwrite and rewind the history of the branch that happens to be checked out in submodule repositories, which might not be desirable. Detach the HEAD but still allow the recursive checkout to succeed in such a case. * sb/submodule-recursive-checkout-detach-head: Documentation/checkout: clarify submodule HEADs to be detached recursive submodules: detach HEAD from new state | 06 December 2017, 17:23:35 UTC |
3013dff | Junio C Hamano | 06 December 2017, 17:10:35 UTC | Prepare for 2.15.2 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 06 December 2017, 17:10:35 UTC |
03d4bc1 | Junio C Hamano | 06 December 2017, 17:09:05 UTC | Merge branch 'jc/merge-base-fork-point-doc' into maint Clarify and enhance documentation for "merge-base --fork-point", as it was clear what it computed but not why/what for. * jc/merge-base-fork-point-doc: merge-base --fork-point doc: clarify the example and failure modes | 06 December 2017, 17:09:05 UTC |
ce73209 | Junio C Hamano | 06 December 2017, 17:09:04 UTC | Merge branch 'tz/redirect-fix' into maint A few scripts (both in production and tests) incorrectly redirected their error output. These have been corrected. * tz/redirect-fix: rebase: fix stderr redirect in apply_autostash() t/lib-gpg: fix gpgconf stderr redirect to /dev/null | 06 December 2017, 17:09:04 UTC |
0cfcb16 | Junio C Hamano | 06 December 2017, 17:09:04 UTC | Merge branch 'tz/notes-error-to-stderr' into maint "git notes" sent its error message to its standard output stream, which was corrected. * tz/notes-error-to-stderr: notes: send "Automatic notes merge failed" messages to stderr | 06 December 2017, 17:09:04 UTC |
2ace172 | Junio C Hamano | 06 December 2017, 17:09:03 UTC | Merge branch 'sb/test-cherry-pick-submodule-getting-in-a-way' into maint The three-way merge performed by "git cherry-pick" was confused when a new submodule was added in the meantime, which has been fixed (or "papered over"). * sb/test-cherry-pick-submodule-getting-in-a-way: merge-recursive: handle addition of submodule on our side of history t/3512: demonstrate unrelated submodule/file conflict as cherry-pick failure | 06 December 2017, 17:09:03 UTC |
0175b6e | Junio C Hamano | 06 December 2017, 17:09:03 UTC | Merge branch 'pw/sequencer-recover-from-unlockable-index' into maint The sequencer machinery (used by "git cherry-pick A..B", and "git rebase -i", among other things) would have lost a commit if stopped due to an unlockable index file, which has been fixed. * pw/sequencer-recover-from-unlockable-index: sequencer: reschedule pick if index can't be locked | 06 December 2017, 17:09:03 UTC |
43240cb | Junio C Hamano | 06 December 2017, 17:09:03 UTC | Merge branch 'rs/apply-inaccurate-eof-with-incomplete-line' into maint "git apply --inaccurate-eof" when used with "--ignore-space-change" triggered an internal sanity check, which has been fixed. * rs/apply-inaccurate-eof-with-incomplete-line: apply: update line lengths for --inaccurate-eof | 06 December 2017, 17:09:03 UTC |
2db93a8 | Junio C Hamano | 06 December 2017, 17:09:02 UTC | Merge branch 'tz/complete-branch-copy' into maint Command line completion (in contrib/) has been taught about the "--copy" option of "git branch". * tz/complete-branch-copy: completion: add '--copy' option to 'git branch' | 06 December 2017, 17:09:02 UTC |
3cc60ec | Junio C Hamano | 06 December 2017, 17:09:01 UTC | Merge branch 'ew/rebase-mboxrd' into maint When "git rebase" prepared an mailbox of changes and fed it to "git am" to replay them, it was confused when a stray "From " happened to be in the log message of one of the replayed changes. This has been corrected. * ew/rebase-mboxrd: rebase: use mboxrd format to avoid split errors | 06 December 2017, 17:09:01 UTC |
74d6c9d | Junio C Hamano | 06 December 2017, 17:09:01 UTC | Merge branch 'sd/branch-copy' into maint Code clean-up. * sd/branch-copy: config: avoid "write_in_full(fd, buf, len) != len" pattern | 06 December 2017, 17:09:01 UTC |
0114a7a | Junio C Hamano | 06 December 2017, 17:09:00 UTC | Merge branch 'sw/pull-ipv46-passthru' into maint Contrary to the documentation, "git pull -4/-6 other-args" did not ask the underlying "git fetch" to go over IPv4/IPv6, which has been corrected. * sw/pull-ipv46-passthru: pull: pass -4/-6 option to 'git fetch' | 06 December 2017, 17:09:00 UTC |
3cdea38 | Junio C Hamano | 06 December 2017, 17:08:59 UTC | Merge branch 'bc/submitting-patches-in-asciidoc' into maint The SubmittingPatches document has been converted to produce an HTML version via AsciiDoc/Asciidoctor. * bc/submitting-patches-in-asciidoc: Documentation: convert SubmittingPatches to AsciiDoc Documentation: enable compat-mode for Asciidoctor | 06 December 2017, 17:08:59 UTC |
02abc6b | Junio C Hamano | 06 December 2017, 17:08:20 UTC | Merge branch 'mh/avoid-rewriting-packed-refs' into maint Recent update to the refs infrastructure implementation started rewriting packed-refs file more often than before; this has been optimized again for most trivial cases. * mh/avoid-rewriting-packed-refs: files-backend: don't rewrite the `packed-refs` file unnecessarily t1409: check that `packed-refs` is not rewritten unnecessarily | 06 December 2017, 17:08:50 UTC |
826c778 | Johannes Schindelin | 29 November 2017, 23:51:41 UTC | hashmap: adjust documentation to reflect reality The hashmap API is just complicated enough that even at least one long-time Git contributor has to look up how to use it every time he finds a new use case. When that happens, it is really useful if the provided example code is correct... While at it, "fix a memory leak", avoid statements before variable declarations, fix a const -> no-const cast, several %l specifiers (which want to be %ld), avoid using an undefined constant, call scanf() correctly, use FLEX_ALLOC_STR() where appropriate, and adjust the style here and there. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Reviewed-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 05 December 2017, 21:37:43 UTC |
9881f21 | Elijah Newren | 29 November 2017, 01:45:59 UTC | strbuf: remove unused stripspace function alias In commit 63af4a8446 ("strbuf: make stripspace() part of strbuf", 2015-10-16), stripspace() was moved to strbuf and renamed to strbuf_stripspace(). A "temporary" alias was added for the old name until all topic branches had time to switch over. They have had time, so remove the old alias. Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 05 December 2017, 16:50:15 UTC |
9c5951c | Lars Schneider | 04 December 2017, 22:07:00 UTC | progress: drop delay-threshold code Since 180a9f2268 (provide a facility for "delayed" progress reporting, 2007-04-20), the progress code has allowed callers to skip showing progress if they have reached a percentage-threshold of the total work before the delay period passes. But since 8aade107dd (progress: simplify "delayed" progress API, 2017-08-19), that parameter is not available to outside callers (we always passed zero after that commit, though that was corrected in the previous commit to "100%"). Let's drop the threshold code, which never triggers in any meaningful way. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 04 December 2017, 22:22:18 UTC |
ee85e41 | Jeff King | 04 December 2017, 22:05:23 UTC | progress: set default delay threshold to 100%, not 0% Commit 8aade107dd (progress: simplify "delayed" progress API, 2017-08-19) dropped the parameter by which callers could say "show my progress only if I haven't passed M% progress after N seconds". The intent was to just show nothing for 2 seconds, and then always progress after that. But we flipped the logic in the wrapper: it sets M=0, meaning that we'd almost _never_ show progress after 2 seconds, since we'd generally have made some progress. This should have been 100%, not 0%. We were fooled by existing calls like: start_progress_delay("foo", 0, 0, 2); which behaved this way. The trick is that the first "0" there is "how many items total", and there zero means "we don't know". And without knowing that, we cannot compute a completed percent at all, and we ignored the threshold parameter entirely! Modeling our wrapper after that broke callers which pass a non-zero value for "total". We can switch to the intended behavior by using "100" in the wrapper call. Reported-by: Lars Schneider <larsxschneider@gmail.com> Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 04 December 2017, 22:22:17 UTC |
163ee5e | Derrick Stolee | 04 December 2017, 14:06:03 UTC | sha1_file: use strbuf_add() instead of strbuf_addf() Replace use of strbuf_addf() with strbuf_add() when enumerating loose objects in for_each_file_in_obj_subdir(). Since we already check the length and hex-values of the string before consuming the path, we can prevent extra computation by using the lower- level method. One consumer of for_each_file_in_obj_subdir() is the abbreviation code. OID abbreviations use a cached list of loose objects (per object subdirectory) to make repeated queries fast, but there is significant cache load time when there are many loose objects. Most repositories do not have many loose objects before repacking, but in the GVFS case the repos can grow to have millions of loose objects. Profiling 'git log' performance in GitForWindows on a GVFS-enabled repo with ~2.5 million loose objects revealed 12% of the CPU time was spent in strbuf_addf(). Add a new performance test to p4211-line-log.sh that is more sensitive to this cache-loading. By limiting to 1000 commits, we more closely resemble user wait time when reading history into a pager. For a copy of the Linux repo with two ~512 MB packfiles and ~572K loose objects, running 'git log --oneline --parents --raw -1000' had the following performance: HEAD~1 HEAD ---------------------------------------- 7.70(7.15+0.54) 7.44(7.09+0.29) -3.4% Signed-off-by: Derrick Stolee <dstolee@microsoft.com> Reviewed-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 04 December 2017, 18:38:55 UTC |
1a4e40a | Junio C Hamano | 28 November 2017, 04:43:55 UTC | Sync with v2.15.1 | 28 November 2017, 04:44:21 UTC |
afc63cb | Junio C Hamano | 28 November 2017, 04:43:32 UTC | RelNotes: the seventh batch Signed-off-by: Junio C Hamano <gitster@pobox.com> | 28 November 2017, 04:43:32 UTC |
f034901 | Junio C Hamano | 28 November 2017, 04:41:50 UTC | Merge branch 'rs/include-comments-before-the-function-header' "git grep -W", "git diff -W" and their friends learned a heuristic to extend a pre-context beyond the line that matches the "function pattern" (aka "diff.*.xfuncname") to include a comment block, if exists, that immediately precedes it. * rs/include-comments-before-the-function-header: grep: show non-empty lines before functions with -W grep: update boundary variable for pre-context t7810: improve check of -W with user-defined function lines xdiff: show non-empty lines before functions with -W xdiff: factor out is_func_rec() t4051: add test for comments preceding function lines | 28 November 2017, 04:41:50 UTC |
3b49e1b | Junio C Hamano | 28 November 2017, 04:41:49 UTC | Merge branch 'ma/branch-list-paginate' "git branch --list" learned to show its output through the pager by default when the output is going to a terminal, which is controlled by the pager.branch configuration variable. This is similar to a recent change to "git tag --list". * ma/branch-list-paginate: branch: change default of `pager.branch` to "on" branch: respect `pager.branch` in list-mode only t7006: add tests for how git branch paginates | 28 November 2017, 04:41:50 UTC |
1616928 | Junio C Hamano | 28 November 2017, 04:41:49 UTC | Merge branch 'jc/branch-name-sanity' "git branch" and "git checkout -b" are now forbidden from creating a branch whose name is "HEAD". * jc/branch-name-sanity: builtin/branch: remove redundant check for HEAD branch: correctly reject refs/heads/{-dash,HEAD} branch: split validate_new_branchname() into two branch: streamline "attr_only" handling in validate_new_branchname() | 28 November 2017, 04:41:49 UTC |
9b185be | Junio C Hamano | 28 November 2017, 04:39:14 UTC | Git 2.15.1 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 28 November 2017, 04:39:14 UTC |
b201e96 | Junio C Hamano | 28 November 2017, 04:38:33 UTC | Merge branch 'rs/config-write-section-fix' into maint There was a recent semantic mismerge in the codepath to write out a section of a configuration section, which has been corrected. * rs/config-write-section-fix: config: flip return value of write_section() | 28 November 2017, 04:38:33 UTC |
c250e02 | Ramsay Jones | 28 November 2017, 03:01:19 UTC | repository: fix a sparse 'using integer as NULL pointer' warning Commit 78a6766802 ("Integrate hash algorithm support with repo setup", 2017-11-12) added a 'const struct git_hash_algo *hash_algo' field to the repository structure, without modifying the initializer of the 'the_repo' variable. This does not actually introduce a bug, since the '0' initializer for the 'ignore_env:1' bit-field is interpreted as a NULL pointer (hence the warning), and the final field (now with no initializer) receives a default '0'. Signed-off-by: Ramsay Jones <ramsay@ramsayjones.plus.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 28 November 2017, 03:37:37 UTC |
75ce149 | Kaartic Sivaraam | 27 November 2017, 17:28:33 UTC | Doc/checkout: checking out using @{-N} can lead to detached state @{-N} is a syntax for the N-th last "checkout" and not the N-th last "branch". Therefore, in some cases using `git checkout @{-$N}` DOES lead to a "detached HEAD" state. This can also be ensured by the commit message of 75d6e552a (Documentation: @{-N} can refer to a commit, 2014-01-19) which clearly specifies how @{-N} can be used to refer not only to a branch but also to a commit. Correct the misleading sentence which states that @{-N} doesn't detach HEAD. Signed-off-by: Kaartic Sivaraam <kaartic.sivaraam@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 28 November 2017, 02:33:12 UTC |
1ab2fd4 | Florian Klink | 28 November 2017, 00:49:04 UTC | git-send-email: honor $PATH for sendmail binary This extends git-send-email to also consider sendmail binaries in $PATH after checking the (fixed) list of /usr/sbin and /usr/lib, and before falling back to localhost. Signed-off-by: Florian Klink <flokli@flokli.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 28 November 2017, 01:14:30 UTC |
5e83cca | Jeff King | 27 November 2017, 06:04:12 UTC | git-status.txt: mention --no-optional-locks If you come to the documentation thinking "I do not want Git to take any locks for my background processes", then you may easily run across "--no-optional-locks" in git.txt. But it's quite reasonable to hit a specific instance of the problem: you have "git status" running in the background, and you notice that it causes lock contention with other processes. So you look in git-status.txt to see if there is a way to disable it, but there's no mention of the flag. Let's add a short note mentioning that status does indeed touch the index (and why), with a pointer to the global option. That can point users in the right direction and help them make a more informed decision about what they're disabling. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 27 November 2017, 06:09:56 UTC |
5f9953d | Junio C Hamano | 27 November 2017, 02:16:50 UTC | RelNotes: the sixth batch for 2.16 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 27 November 2017, 02:16:50 UTC |
0c24fdc | Junio C Hamano | 27 November 2017, 02:15:09 UTC | Sync with maint * maint: A bit more fixes for 2.15.1 RelNotes: minor typo fixes in 2.15.1 draft | 27 November 2017, 02:15:09 UTC |
c2b6135 | Junio C Hamano | 27 November 2017, 02:06:40 UTC | Merge branch 'sw/pull-ipv46-passthru' Contrary to the documentation, "git pull -4/-6 other-args" did not ask the underlying "git fetch" to go over IPv4/IPv6, which has been corrected. * sw/pull-ipv46-passthru: pull: pass -4/-6 option to 'git fetch' | 27 November 2017, 02:06:40 UTC |
88e2efc | Junio C Hamano | 27 November 2017, 02:06:39 UTC | Merge branch 'ks/rebase-no-git-foo' Mentions of "git-rebase" and "git-am" (dashed form) still remained in end-user visible strings emitted by the "git rebase" command; they have been corrected. * ks/rebase-no-git-foo: git-rebase: clean up dashed-usages in messages | 27 November 2017, 02:06:39 UTC |
51affbd | Junio C Hamano | 27 November 2017, 02:06:38 UTC | Merge branch 'rs/config-write-section-fix' There was a recent semantic mismerge in the codepath to write out a section of a configuration section, which has been corrected. * rs/config-write-section-fix: config: flip return value of write_section() | 27 November 2017, 02:06:38 UTC |
12e87e2 | Junio C Hamano | 27 November 2017, 02:06:37 UTC | Merge branch 'ew/rebase-mboxrd' When "git rebase" prepared an mailbox of changes and fed it to "git am" to replay them, it was confused when a stray "From " happened to be in the log message of one of the replayed changes. This has been corrected. * ew/rebase-mboxrd: rebase: use mboxrd format to avoid split errors | 27 November 2017, 02:06:38 UTC |
af6e0fe | Junio C Hamano | 27 November 2017, 02:06:37 UTC | Merge branch 'tb/add-renormalize' "git add --renormalize ." is a new and safer way to record the fact that you are correcting the end-of-line convention and other "convert_to_git()" glitches in the in-repository data. * tb/add-renormalize: add: introduce "--renormalize" | 27 November 2017, 02:06:37 UTC |
93bfe62 | Junio C Hamano | 27 November 2017, 02:06:37 UTC | Merge branch 'tz/complete-branch-copy' Command line completion (in contrib/) has been taught about the "--copy" option of "git branch". * tz/complete-branch-copy: completion: add '--copy' option to 'git branch' | 27 November 2017, 02:06:37 UTC |
d78a122 | Junio C Hamano | 27 November 2017, 02:06:36 UTC | Merge branch 'rs/apply-inaccurate-eof-with-incomplete-line' "git apply --inaccurate-eof" when used with "--ignore-space-change" triggered an internal sanity check, which has been fixed. * rs/apply-inaccurate-eof-with-incomplete-line: apply: update line lengths for --inaccurate-eof | 27 November 2017, 02:06:36 UTC |
c2ed683 | Junio C Hamano | 27 November 2017, 02:06:35 UTC | Merge branch 'pw/sequencer-recover-from-unlockable-index' The sequencer machinery (used by "git cherry-pick A..B", and "git rebase -i", among other things) would have lost a commit if stopped due to an unlockable index file, which has been fixed. * pw/sequencer-recover-from-unlockable-index: sequencer: reschedule pick if index can't be locked | 27 November 2017, 02:06:35 UTC |
6254330 | Junio C Hamano | 27 November 2017, 02:06:35 UTC | Merge branch 'sd/branch-copy' Code clean-up. * sd/branch-copy: config: avoid "write_in_full(fd, buf, len) != len" pattern | 27 November 2017, 02:06:35 UTC |
f70a50f | Junio C Hamano | 27 November 2017, 02:06:34 UTC | Merge branch 'sb/test-cherry-pick-submodule-getting-in-a-way' The three-way merge performed by "git cherry-pick" was confused when a new submodule was added in the meantime, which has been fixed (or "papered over"). * sb/test-cherry-pick-submodule-getting-in-a-way: merge-recursive: handle addition of submodule on our side of history t/3512: demonstrate unrelated submodule/file conflict as cherry-pick failure | 27 November 2017, 02:06:34 UTC |
c5e7630 | Junio C Hamano | 27 November 2017, 02:06:34 UTC | Merge branch 'tz/notes-error-to-stderr' "git notes" sent its error message to its standard output stream, which was corrected. * tz/notes-error-to-stderr: notes: send "Automatic notes merge failed" messages to stderr | 27 November 2017, 02:06:34 UTC |
dec01ee | Junio C Hamano | 27 November 2017, 02:06:33 UTC | Merge branch 'tz/redirect-fix' A few scripts (both in production and tests) incorrectly redirected their error output. These have been corrected. * tz/redirect-fix: rebase: fix stderr redirect in apply_autostash() t/lib-gpg: fix gpgconf stderr redirect to /dev/null | 27 November 2017, 02:06:33 UTC |
f3f671b | Junio C Hamano | 27 November 2017, 02:06:32 UTC | Merge branch 'rv/sendemail-tocmd-in-config-and-completion' Teach "sendemail.tocmd" to places that know about "sendemail.to", like documentation and shell completion (in contrib/). * rv/sendemail-tocmd-in-config-and-completion: completion: add git config sendemail.tocmd Documentation/config: add sendemail.tocmd to list preceding "See git-send-email(1)" | 27 November 2017, 02:06:32 UTC |
022dd4a | Junio C Hamano | 27 November 2017, 02:06:32 UTC | Merge branch 'jc/merge-base-fork-point-doc' Clarify and enhance documentation for "merge-base --fork-point", as it was clear what it computed but not why/what for. * jc/merge-base-fork-point-doc: merge-base --fork-point doc: clarify the example and failure modes | 27 November 2017, 02:06:32 UTC |
10f65c2 | Junio C Hamano | 27 November 2017, 02:06:31 UTC | Merge branch 'jc/ignore-cr-at-eol' The "diff" family of commands learned to ignore differences in carriage return at the end of line. * jc/ignore-cr-at-eol: diff: --ignore-cr-at-eol xdiff: reassign xpparm_t.flags bits | 27 November 2017, 02:06:31 UTC |
7bc7776 | Junio C Hamano | 27 November 2017, 01:58:31 UTC | A bit more fixes for 2.15.1 We've been waiting long enough, a few more would not hurt ;-) Signed-off-by: Junio C Hamano <gitster@pobox.com> | 27 November 2017, 01:58:31 UTC |
80a0e0f | Junio C Hamano | 27 November 2017, 01:57:02 UTC | Merge branch 'ma/reduce-heads-leakfix' into maint Leak fixes. * ma/reduce-heads-leakfix: reduce_heads: fix memory leaks builtin/merge-base: free commit lists | 27 November 2017, 01:57:02 UTC |
03e8004 | Junio C Hamano | 27 November 2017, 01:57:02 UTC | Merge branch 'ma/bisect-leakfix' into maint Leak fixes. * ma/bisect-leakfix: bisect: fix memory leak when returning best element bisect: fix off-by-one error in `best_bisection_sorted()` bisect: fix memory leak in `find_bisection()` bisect: change calling-convention of `find_bisection()` | 27 November 2017, 01:57:02 UTC |
df481b9 | Junio C Hamano | 27 November 2017, 01:57:02 UTC | Merge branch 'rs/apply-fuzzy-match-fix' into maint A fix for an ancient bug in "git apply --ignore-space-change" codepath. * rs/apply-fuzzy-match-fix: apply: avoid out-of-bounds access in fuzzy_matchlines() | 27 November 2017, 01:57:02 UTC |
b51df7d | Junio C Hamano | 27 November 2017, 01:57:01 UTC | Merge branch 'ad/submitting-patches-title-decoration' into maint Doc update around use of "format-patch --subject-prefix" etc. * ad/submitting-patches-title-decoration: doc/SubmittingPatches: correct subject guidance | 27 November 2017, 01:57:01 UTC |
95bf615 | Junio C Hamano | 27 November 2017, 01:57:00 UTC | Merge branch 'rs/imap-send-next-arg-fix' into maint Error checking in "git imap-send" for empty response has been improved. * rs/imap-send-next-arg-fix: imap-send: handle missing response codes gracefully imap-send: handle NULL return of next_arg() | 27 November 2017, 01:57:00 UTC |
5a05262 | Thomas Gummerer | 26 November 2017, 20:21:00 UTC | t/README: document test_cmp_rev test_cmp_rev is a useful function that's used in quite a few test scripts. It is however not documented in t/README. Document it. Signed-off-by: Thomas Gummerer <t.gummerer@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 27 November 2017, 01:36:58 UTC |
51b7a52 | Thomas Gummerer | 26 November 2017, 20:20:59 UTC | t/README: remove mention of adding copyright notices We generally no longer include copyright notices in new test scripts. However t/README still mentions it as something to include at the top of every new script. Remove that mention as it's outdated. Signed-off-by: Thomas Gummerer <t.gummerer@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 27 November 2017, 01:36:57 UTC |
ed5bdd5 | Jean-Noel Avila | 25 November 2017, 19:55:24 UTC | submodule--helper.c: i18n: add a missing space in message The message spans over 2 lines but the C concatenation does not add the needed space between the two lines. Signed-off-by: Jean-Noel Avila <jn.avila@free.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 26 November 2017, 03:52:17 UTC |
7d22aec | Todd Zullinger | 25 November 2017, 17:32:40 UTC | RelNotes: minor typo fixes in 2.15.1 draft Signed-off-by: Todd Zullinger <tmz@pobox.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 26 November 2017, 03:49:23 UTC |
ff4c9b4 | Steffen Prohaska | 22 November 2017, 08:58:14 UTC | doc: Mention info/attributes in gitrepository-layout Signed-off-by: Steffen Prohaska <prohaska@zib.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 24 November 2017, 07:19:19 UTC |
a25b908 | Ævar Arnfjörð Bjarmason | 23 November 2017, 14:16:58 UTC | grep: fix segfault under -P + PCRE2 <=10.30 + (*NO_JIT) Fix a bug in the compilation of PCRE2 patterns under JIT (the most common runtime configuration). Any pattern with a (*NO_JIT) verb would segfault in any currently released PCRE2 version: $ git grep -P '(*NO_JIT)hi.*there' Segmentation fault That this segfaulted was a bug in PCRE2 itself, after reporting it[1] on pcre-dev it's been fixed in a yet-to-be-released version of PCRE (presumably released first as 10.31). Now it'll die with: $ git grep -P '(*NO_JIT)hi.*there' fatal: pcre2_jit_match failed with error code -45: bad JIT option But the cause of the bug is in our own code dating back to my 94da9193a6 ("grep: add support for PCRE v2", 2017-06-01). As explained at more length in the comment being added here, it isn't sufficient to just check pcre2_config() to see whether the JIT should be used, pcre2_pattern_info() also has to be asked. This is something I discovered myself when fiddling around with PCRE2 verbs in patterns passed to git. I don't expect that any user of git has encountered this given the obscurity of passing PCRE2 verbs through to the library, along with the relative obscurity of (*NO_JIT) itself. 1. "How am I supposed to use PCRE2 JIT in the face of (*NO_JIT) ?" (<CACBZZX5mMqDuWuFmi7sRBp3wH6CFyd-ghACukd=v0NN=rBMnJg@mail.gmail.com> & https://lists.exim.org/lurker/thread/20171123.101502.7f0d38ca.en.html) on the pcre-dev mailing list Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 24 November 2017, 07:12:26 UTC |
ce9a257 | Ævar Arnfjörð Bjarmason | 23 November 2017, 14:16:57 UTC | test-lib: add LIBPCRE1 & LIBPCRE2 prerequisites Add LIBPCRE1 and LIBPCRE2 prerequisites which are true when git is compiled with USE_LIBPCRE1=YesPlease or USE_LIBPCRE2=YesPlease, respectively. The syntax of PCRE1 and PCRE2 isn't the same in all cases (see pcresyntax(3) and pcre2syntax(3)). If test are added that test for those they'll need to be guarded by these new prerequisites. The subsequent patch will make use of LIBPCRE2, so LIBPCRE1 isn't strictly needed for now, but let's add it for consistency and so that checking for it doesn't have to be done with the less obvious "PCRE, !LIBPCRE2", which while semantically the same is more confusing, and would lead to bugs if PCRE v3 is ever released as the tests would mean v1, not any non-v2 version. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 24 November 2017, 07:12:24 UTC |
5675473 | Phil Hord | 22 November 2017, 21:20:30 UTC | stash: learn to parse -m/--message like commit does `git stash push -m foo` uses "foo" as the message for the stash. But `git stash push -m"foo"` does not parse successfully. Similarly `git stash push --message="My stash message"` also fails. The stash documentation doesn't suggest this syntax should work, but gitcli does and my fingers have learned this pattern long ago for `commit`. Teach `git stash` to parse -mFoo and --message=Foo the same as `git commit` would do. Even though it's an internal function, add similar support to create_stash() for consistency. Signed-off-by: Phil Hord <phil.hord@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 24 November 2017, 05:47:44 UTC |
7db2cbf | Junio C Hamano | 24 November 2017, 02:10:58 UTC | hooks doc: clarify when receive-pack invokes its hooks The text meant to say that receive-pack runs these hooks, and only because receive-pack is not a command the end users use every day (ever), as an explanation also meantioned that it is run in response to 'git push', which is an end-user facing command readers hopefully know about. This unfortunately gave an incorrect impression that 'git push' always result in the hook to run. If the refs push wanted to update all already had the desired value, these hooks are not run. Explicitly mention "... and updates reference(s)" as a precondition to avoid this confusion. Helped-by: Christoph Michelbach <michelbach94@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 24 November 2017, 02:20:29 UTC |
541c2a3 | Albert Astals Cid | 21 November 2017, 14:39:28 UTC | completion: add --autostash and --no-autostash to pull Ideally we should only autocomplete if pull has --rebase since they only work with it but could not figure out how to do that and the error message of doing git pull --autostash points out that you need --rebase so i guess it's good enough Signed-off-by: Albert Astals Cid <albert.astals.cid@kdab.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 22 November 2017, 07:31:43 UTC |
4a54370 | Christian Couder | 21 November 2017, 16:09:39 UTC | Git/Packet.pm: use 'if' instead of 'unless' The code is more understandable with 'if' instead of 'unless'. Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 22 November 2017, 07:23:55 UTC |
cb1c64b | Christian Couder | 21 November 2017, 16:09:38 UTC | Git/Packet: clarify that packet_required_key_val_read allows EOF The function calls itself "required", but it does not die when it sees an unexpected EOF. Let's rename it to "packet_key_val_read()". Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 22 November 2017, 07:23:55 UTC |
da10ea3 | Junio C Hamano | 22 November 2017, 05:57:52 UTC | Merge branch 'jn/reproducible-build' of ../git-gui into jn/reproducible-build * 'jn/reproducible-build' of ../git-gui: git-gui: sort entries in optimized tclIndex | 22 November 2017, 05:57:52 UTC |