2076907 | Junio C Hamano | 17 February 2017, 22:00:19 UTC | Git 2.12-rc2 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 17 February 2017, 22:00:19 UTC |
076c053 | Junio C Hamano | 16 February 2017, 22:46:35 UTC | Hopefully the final batch of mini-topics before the final Signed-off-by: Junio C Hamano <gitster@pobox.com> | 16 February 2017, 22:46:35 UTC |
c5b22b8 | Junio C Hamano | 16 February 2017, 22:45:15 UTC | Merge branch 'jk/tempfile-ferror-fclose-confusion' Code clean-up. * jk/tempfile-ferror-fclose-confusion: tempfile: avoid "ferror | fclose" trick | 16 February 2017, 22:45:15 UTC |
62fef5c | Junio C Hamano | 16 February 2017, 22:45:15 UTC | Merge branch 'dp/submodule-doc-markup-fix' Doc fix. * dp/submodule-doc-markup-fix: config.txt: fix formatting of submodule.alternateErrorStrategy section | 16 February 2017, 22:45:15 UTC |
1f73ff0 | Junio C Hamano | 16 February 2017, 22:45:14 UTC | Merge branch 'jk/reset-to-break-a-commit-doc-updated' Doc update. * jk/reset-to-break-a-commit-doc-updated: reset: add an example of how to split a commit into two | 16 February 2017, 22:45:14 UTC |
bf5f119 | Junio C Hamano | 16 February 2017, 22:45:14 UTC | Merge branch 'jk/reset-to-break-a-commit-doc' Doc update. * jk/reset-to-break-a-commit-doc: Revert "reset: add an example of how to split a commit into two" | 16 February 2017, 22:45:14 UTC |
e048a25 | Junio C Hamano | 16 February 2017, 22:45:13 UTC | Merge branch 'js/mingw-isatty' A hotfix for a topic already in 'master'. * js/mingw-isatty: mingw: make stderr unbuffered again | 16 February 2017, 22:45:13 UTC |
1e00c41 | Junio C Hamano | 16 February 2017, 22:45:13 UTC | Merge branch 'rs/strbuf-cleanup-in-rmdir-recursively' Code clean-up. * rs/strbuf-cleanup-in-rmdir-recursively: rm: reuse strbuf for all remove_dir_recursively() calls, again | 16 February 2017, 22:45:13 UTC |
a3b3c9c | Junio C Hamano | 16 February 2017, 22:45:13 UTC | Merge branch 'rs/ls-files-partial-optim' "ls-files" run with pathspec has been micro-optimized to avoid having to memmove(3) unnecessary bytes. * rs/ls-files-partial-optim: ls-files: move only kept cache entries in prune_cache() ls-files: pass prefix length explicitly to prune_cache() | 16 February 2017, 22:45:13 UTC |
0078a75 | Junio C Hamano | 16 February 2017, 22:45:13 UTC | Merge branch 'rs/cocci-check-free-only-null' A new coccinelle rule that catches a check of !pointer before the pointer is free(3)d, which most likely is a bug. * rs/cocci-check-free-only-null: cocci: detect useless free(3) calls | 16 February 2017, 22:45:13 UTC |
5a98255 | Junio C Hamano | 16 February 2017, 22:45:12 UTC | Merge branch 'ls/p4-path-encoding' When "git p4" imports changelist that removes paths, it failed to convert pathnames when the p4 used encoding different from the one used on the Git side. This has been corrected. * ls/p4-path-encoding: git-p4: fix git-p4.pathEncoding for removed files | 16 February 2017, 22:45:12 UTC |
0838cbc | Jeff King | 16 February 2017, 21:31:40 UTC | tempfile: avoid "ferror | fclose" trick The current code wants to record an error condition from either ferror() or fclose(), but makes sure that we always call both functions. So it can't use logical-OR "||", which would short-circuit when ferror() is true. Instead, it uses bitwise-OR "|" to evaluate both functions and set one or more bits in the "err" flag if they reported a failure. Unlike logical-OR, though, bitwise-OR does not introduce a sequence point, and the order of evaluation for its operands is unspecified. So a compiler would be free to generate code which calls fclose() first, and then ferror() on the now-freed filehandle. There's no indication that this has happened in practice, but let's write it out in a way that follows the standard. Noticed-by: Andreas Schwab <schwab@linux-m68k.org> Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 16 February 2017, 22:15:55 UTC |
8ab9740 | David Pursehouse | 16 February 2017, 05:05:35 UTC | config.txt: fix formatting of submodule.alternateErrorStrategy section Add missing `::` after the title. Signed-off-by: David Pursehouse <dpursehouse@collab.net> Acked-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 16 February 2017, 21:46:20 UTC |
f94baa4 | Jacob Keller | 16 February 2017, 00:22:12 UTC | reset: add an example of how to split a commit into two It is often useful to break a commit into multiple parts that are more logical separations. This can be tricky to learn how to do without the brute-force method if re-writing code or commit messages from scratch. Add a section to the git-reset documentation which shows an example process for how to use git add -p and git commit -c HEAD@{1} to interactively break a commit apart and re-use the original commit message as a starting point when making the new commit message. Signed-off-by: Jacob Keller <jacob.keller@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 16 February 2017, 21:38:02 UTC |
ae86372 | Junio C Hamano | 16 February 2017, 21:35:50 UTC | Revert "reset: add an example of how to split a commit into two" This reverts commit 7326451bedaa67d29afe02184b166e28d9393c91; a better rewrite will be queued separately. | 16 February 2017, 21:35:50 UTC |
d09b692 | Junio C Hamano | 15 February 2017, 22:58:25 UTC | A bit more for -rc2 | 15 February 2017, 22:58:25 UTC |
57f7345 | Junio C Hamano | 15 February 2017, 22:56:41 UTC | Merge branch 'tg/stash-doc-cleanup' The documentation explained what "git stash" does to the working tree (after stashing away the local changes) in terms of "reset --hard", which was exposing an unnecessary implementation detail. * tg/stash-doc-cleanup: Documentation/stash: remove mention of git reset --hard | 15 February 2017, 22:56:41 UTC |
3e23116 | Junio C Hamano | 15 February 2017, 22:56:40 UTC | Merge branch 'jk/doc-submodule-markup-fix' Doc markup fix. * jk/doc-submodule-markup-fix: docs/git-submodule: fix unbalanced quote | 15 February 2017, 22:56:40 UTC |
8c00b7e | Junio C Hamano | 15 February 2017, 22:56:40 UTC | Merge branch 'jk/doc-remote-helpers-markup-fix' Doc markup fix. * jk/doc-remote-helpers-markup-fix: docs/gitremote-helpers: fix unbalanced quotes | 15 February 2017, 22:56:40 UTC |
153a33f | Junio C Hamano | 15 February 2017, 20:54:20 UTC | Merge branch 'sb/doc-unify-bottom' Doc clean-up. * sb/doc-unify-bottom: Documentation: unify bottom "part of git suite" lines | 15 February 2017, 20:54:20 UTC |
ca3c2b8 | Junio C Hamano | 15 February 2017, 20:54:19 UTC | Merge branch 'sb/push-options-via-transport' The push-options given via the "--push-options" option were not passed through to external remote helpers such as "smart HTTP" that are invoked via the transport helper. * sb/push-options-via-transport: push options: pass push options to the transport helper | 15 February 2017, 20:54:19 UTC |
3f4ccb5 | Junio C Hamano | 15 February 2017, 20:54:19 UTC | Merge branch 'cw/completion' More command line completion (in contrib/) for recent additions. * cw/completion: completion: recognize more long-options completion: teach remote subcommands to complete options completion: teach replace to complete options completion: teach ls-remote to complete options completion: improve bash completion for git-add completion: add subcommand completion for rerere completion: teach submodule subcommands to complete options | 15 February 2017, 20:54:19 UTC |
cbf1860 | Junio C Hamano | 15 February 2017, 20:54:19 UTC | Merge branch 'rs/swap' Code clean-up. * rs/swap: graph: use SWAP macro diff: use SWAP macro use SWAP macro apply: use SWAP macro add SWAP macro | 15 February 2017, 20:54:19 UTC |
2f4e87d | Junio C Hamano | 15 February 2017, 20:54:18 UTC | Merge branch 'sb/submodule-doc' Doc updates. * sb/submodule-doc: submodule update documentation: don't repeat ourselves submodule documentation: add options to the subcommand | 15 February 2017, 20:54:18 UTC |
a4d92d5 | Johannes Schindelin | 13 February 2017, 22:34:06 UTC | mingw: make stderr unbuffered again When removing the hack for isatty(), we actually removed more than just an isatty() hack: we removed the hack where internal data structures of the MSVC runtime are modified in order to redirect stdout/stderr. Instead of using that hack (that does not work with newer versions of the runtime, anyway), we replaced it by reopening the respective file descriptors. What we forgot was to mark stderr as unbuffered again. Reported by Hannes Sixt. Fixed with Jeff Hostetler's assistance. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Tested-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 14 February 2017, 18:54:21 UTC |
590fc05 | René Scharfe | 11 February 2017, 19:51:08 UTC | rm: reuse strbuf for all remove_dir_recursively() calls, again Don't throw the memory allocated for remove_dir_recursively() away after a single call, use it for the other entries as well instead. This change was done before in deb8e15a (rm: reuse strbuf for all remove_dir_recursively() calls), but was reverted as a side-effect of 55856a35 (rm: absorb a submodules git dir before deletion). Reinstate the optimization. Signed-off-by: Rene Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 13 February 2017, 22:33:32 UTC |
20a7e06 | Thomas Gummerer | 12 February 2017, 21:54:14 UTC | Documentation/stash: remove mention of git reset --hard Don't mention git reset --hard in the documentation for git stash save. It's an implementation detail that doesn't matter to the end user and thus shouldn't be exposed to them. In addition it's not quite true for git stash -p, and will not be true when a filename argument to limit the stash to a few files is introduced. Signed-off-by: Thomas Gummerer <t.gummerer@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 13 February 2017, 22:20:38 UTC |
e91461b | Jeff King | 13 February 2017, 21:05:49 UTC | docs/git-submodule: fix unbalanced quote The documentation gives an example of the submodule foreach command that uses both backticks and single-quotes. We stick the whole thing inside "+" markers to make it monospace, but the inside punctuation still needs escaping. We handle the backticks with "{backtick}", and use backslash-escaping for the single-quotes. But we missed the escaping on the second quote. Fortunately, asciidoc renders this unbalanced quote as we want (showing the quote), but asciidoctor does not. We could fix it by adding the missing backslash. However, let's take a step back. Even when rendered correctly, it's hard to read a long command stuck into the middle of a paragraph, and the important punctuation is hard to notice. Let's instead bump it into its own single-line code block. That makes both the source and the rendered result more readable, and as a bonus we don't have to worry about quoting at all. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 13 February 2017, 22:05:40 UTC |
2aaf37b | Jeff King | 13 February 2017, 20:38:35 UTC | docs/gitremote-helpers: fix unbalanced quotes Each of these options is missing the closing single-quote on the option name. This understandably confuses asciidoc, which ends up rendering a stray quote, like: option cloning {'true|false} Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 13 February 2017, 20:55:36 UTC |
96f6d3f | René Scharfe | 10 February 2017, 20:03:30 UTC | ls-files: move only kept cache entries in prune_cache() prune_cache() first identifies those entries at the start of the sorted array that can be discarded. Then it moves the rest of the entries up. Last it identifies the unwanted trailing entries among the moved ones and cuts them off. Change the order: Identify both start *and* end of the range to keep first and then move only those entries to the top. The resulting code is slightly shorter and a bit more efficient. Signed-off-by: Rene Scharfe <l.s.r@web.de> Reviewed-by: Brandon Williams <bmwill@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 13 February 2017, 20:06:10 UTC |
7b4158a | René Scharfe | 10 February 2017, 19:42:28 UTC | ls-files: pass prefix length explicitly to prune_cache() The function prune_cache() relies on the fact that it is only called on max_prefix and sneakily uses the matching global variable max_prefix_len directly. Tighten its interface by passing both the string and its length as parameters. While at it move the NULL check into the function to collect all cache-pruning related logic in one place. Signed-off-by: Rene Scharfe <l.s.r@web.de> Reviewed-by: Brandon Williams <bmwill@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 13 February 2017, 20:06:08 UTC |
ec6cd14 | René Scharfe | 11 February 2017, 13:58:44 UTC | cocci: detect useless free(3) calls Add a semantic patch for removing checks that cause free(3) to only be called with a NULL pointer, as that must be a programming mistake. Signed-off-by: Rene Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 11 February 2017, 19:29:12 UTC |
a8b0516 | Lars Schneider | 09 February 2017, 15:06:56 UTC | git-p4: fix git-p4.pathEncoding for removed files In a9e38359e3 we taught git-p4 a way to re-encode path names from what was used in Perforce to UTF-8. This path re-encoding worked properly for "added" paths. "Removed" paths were not re-encoded and therefore different from the "added" paths. Consequently, these files were not removed in a git-p4 cloned Git repository because the path names did not match. Fix this by moving the re-encoding to a place that affects "added" and "removed" paths. Add a test to demonstrate the issue. Signed-off-by: Lars Schneider <larsxschneider@gmail.com> Reviewed-by: Luke Diamand <luke@diamand.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 10 February 2017, 22:33:13 UTC |
5588dbf | Junio C Hamano | 10 February 2017, 20:54:23 UTC | Git 2.12-rc1 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 10 February 2017, 20:54:23 UTC |
653078b | Junio C Hamano | 10 February 2017, 20:52:27 UTC | Merge branch 'nd/rev-list-all-includes-HEAD-doc' Doc update. * nd/rev-list-all-includes-HEAD-doc: rev-list-options.txt: update --all about HEAD | 10 February 2017, 20:52:27 UTC |
c1462b8 | Junio C Hamano | 10 February 2017, 20:52:27 UTC | Merge branch 'rs/fill-directory-optim' Code clean-up. * rs/fill-directory-optim: dir: avoid allocation in fill_directory() | 10 February 2017, 20:52:27 UTC |
e53c7f8 | Junio C Hamano | 10 February 2017, 20:52:26 UTC | Merge branch 'jk/log-graph-name-only' "git log --graph" did not work well with "--name-only", even though other forms of "diff" output were handled correctly. * jk/log-graph-name-only: diff: print line prefix for --name-only output | 10 February 2017, 20:52:27 UTC |
dd19bca | Junio C Hamano | 10 February 2017, 20:52:26 UTC | Merge branch 'da/t7800-cleanup' Test updates. * da/t7800-cleanup: t7800: replace "wc -l" with test_line_count | 10 February 2017, 20:52:26 UTC |
0ffe1c9 | Junio C Hamano | 10 February 2017, 20:52:26 UTC | Merge branch 'dl/difftool-doc-no-gui-option' Doc update. * dl/difftool-doc-no-gui-option: Document the --no-gui option in difftool | 10 February 2017, 20:52:26 UTC |
163d24d | Junio C Hamano | 10 February 2017, 20:52:25 UTC | Merge branch 'js/difftool-builtin' A few hot-fixes to C-rewrite of "git difftool". * js/difftool-builtin: t7800: simplify basic usage test difftool: fix bug when printing usage | 10 February 2017, 20:52:25 UTC |
cf36a4d | Junio C Hamano | 10 February 2017, 20:52:25 UTC | Merge branch 'rs/p5302-create-repositories-before-tests' Adjust a perf test to new world order where commands that do require a repository are really strict about having a repository. * rs/p5302-create-repositories-before-tests: p5302: create repositories for index-pack results explicitly | 10 February 2017, 20:52:25 UTC |
65fecf0 | Junio C Hamano | 10 February 2017, 20:52:25 UTC | Merge branch 'ps/worktree-prune-help-fix' Incorrect usage help message for "git worktree prune" has been fixed. * ps/worktree-prune-help-fix: worktree: fix option descriptions for `prune` | 10 February 2017, 20:52:25 UTC |
f7490fd | Junio C Hamano | 10 February 2017, 20:52:24 UTC | Merge branch 'ew/complete-svn-authorship-options' Correct command line completion (in contrib/) on "git svn" * ew/complete-svn-authorship-options: completion: fix git svn authorship switches | 10 February 2017, 20:52:24 UTC |
5c40e9c | Junio C Hamano | 10 February 2017, 20:52:23 UTC | Merge branch 'jk/reset-to-break-a-commit-doc' A minor doc update. * jk/reset-to-break-a-commit-doc: reset: add an example of how to split a commit into two | 10 February 2017, 20:52:24 UTC |
8e7c1f3 | Junio C Hamano | 10 February 2017, 20:52:23 UTC | Merge branch 'bw/push-submodule-only' Add missing documentation update to a recent topic. * bw/push-submodule-only: completion: add completion for --recurse-submodules=only doc: add doc for git-push --recurse-submodules=only | 10 February 2017, 20:52:23 UTC |
941b9c5 | Stefan Beller | 09 February 2017, 01:29:30 UTC | Documentation: unify bottom "part of git suite" lines We currently have 168 man pages that mention they are part of Git, you can check yourself easily via: $ git grep "Part of the linkgit:git\[1\] suite" |wc -l 168 However some have a trailing period, i.e. $ git grep "Part of the linkgit:git\[1\] suite." |wc -l 8 Unify the bottom line in all man pages to not end with a period. Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 09 February 2017, 23:14:01 UTC |
438fc68 | Stefan Beller | 08 February 2017, 22:04:00 UTC | push options: pass push options to the transport helper When using non-builtin protocols relying on a transport helper (such as http), push options are not propagated to the helper. The user could ask for push options and a push would seemingly succeed, but the push options would never be transported to the server, misleading the users expectation. Fix this by propagating the push options to the transport helper. This is only addressing the first issue of (1) the helper protocol does not propagate push-option (2) the http helper is not prepared to handle push-option Once we fix (2), the http transport helper can make use of push options as well, but that happens as a follow up. (1) is a bug fix, whereas (2) is a feature, which is why we only do (1) here. Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 08 February 2017, 23:45:01 UTC |
f5022b5 | Jeff King | 08 February 2017, 20:31:15 UTC | diff: print line prefix for --name-only output If you run "git log --graph --name-only", the pathnames are not indented to go along with their matching commits (unlike all of the other diff formats). We need to output the line prefix for each item before writing it. The tests cover both --name-status and --name-only. The former actually gets this right already, because it builds on the --raw format functions. It's only --name-only which uses its own code (and this fix mirrors the code in diff_flush_raw()). Note that the tests don't follow our usual style of setting up the "expect" output inside the test block. This matches the surrounding style, but more importantly it is easier to read: we don't have to worry about embedded single-quotes, and the leading indentation is more obvious. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 08 February 2017, 21:39:57 UTC |
bec5ab8 | René Scharfe | 07 February 2017, 22:04:25 UTC | dir: avoid allocation in fill_directory() Pass the match member of the first pathspec item directly to read_directory() instead of using common_prefix() to duplicate it first, thus avoiding memory duplication, strlen(3) and free(3). Signed-off-by: Rene Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 08 February 2017, 21:38:41 UTC |
209df26 | Nguyễn Thái Ngọc Duy | 08 February 2017, 06:06:41 UTC | rev-list-options.txt: update --all about HEAD This is the document patch for f0298cf1c6 (revision walker: include a detached HEAD in --all - 2009-01-16). Even though that commit is about detached HEAD, as Jeff pointed out, always adding HEAD in that case may have subtle differences with --source or --exclude. So the document mentions nothing about the detached-ness. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 08 February 2017, 21:37:32 UTC |
1ce515f | David Aguilar | 07 February 2017, 09:17:00 UTC | t7800: replace "wc -l" with test_line_count Make t7800 easier to debug by capturing output into temporary files and using test_line_count to make assertions on those files. Signed-off-by: David Aguilar <davvid@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 08 February 2017, 21:36:07 UTC |
a83c2d2 | Junio C Hamano | 08 February 2017, 21:36:03 UTC | Merge branch 'da/difftool-dir-diff-fix' into da/t7800-cleanup * da/difftool-dir-diff-fix: difftool: fix dir-diff index creation when in a subdirectory | 08 February 2017, 21:36:03 UTC |
e66adca | David Aguilar | 07 February 2017, 09:16:59 UTC | t7800: simplify basic usage test Use "test_line_count" instead of "wc -l", use "git -C" instead of a subshell, and use test_expect_code when calling difftool. Ease debugging by capturing output into temporary files. Suggested-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: David Aguilar <davvid@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 08 February 2017, 21:31:20 UTC |
56c2da5 | Denton Liu | 07 February 2017, 06:32:07 UTC | Document the --no-gui option in difftool Prior to this, the `--no-gui` option was not documented in the manpage. This commit introduces this into the manpage Signed-off-by: Denton Liu <liu.denton@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 08 February 2017, 21:30:28 UTC |
2488dca | Patrick Steinhardt | 06 February 2017, 13:13:59 UTC | worktree: fix option descriptions for `prune` The `verbose` and `expire` options of the `git worktree prune` subcommand have wrong descriptions in that they pretend to relate to objects. But as the git-worktree(1) correctly states, these options have nothing to do with objects but only with worktrees. Fix the description accordingly. Signed-off-by: Patrick Steinhardt <patrick.steinhardt@elego.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 06 February 2017, 18:59:25 UTC |
c86000c | René Scharfe | 05 February 2017, 11:43:29 UTC | p5302: create repositories for index-pack results explicitly Before 7176a314 (index-pack: complain when --stdin is used outside of a repo) index-pack silently created a non-existing target directory; now the command refuses to work unless it's used against a valid repository. That causes p5302 to fail, which relies on the former behavior. Fix it by setting up the destinations for its performance tests using git init. Signed-off-by: Rene Scharfe <l.s.r@web.de> Acked-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 06 February 2017, 18:55:25 UTC |
2cbad17 | Eric Wong | 05 February 2017, 02:18:57 UTC | completion: fix git svn authorship switches --add-author-from and --use-log-author are for "git svn dcommit", not "git svn (init|clone)" Signed-off-by: Eric Wong <e@80x24.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 06 February 2017, 18:40:39 UTC |
d81345c | David Aguilar | 05 February 2017, 21:23:38 UTC | difftool: fix bug when printing usage "git difftool -h" reports an error: fatal: BUG: setup_git_env called without repository Defer repository setup so that the help option processing happens before the repository is initialized. Add tests to ensure that the basic usage works inside and outside of a repository. Signed-off-by: David Aguilar <davvid@gmail.com> Acked-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 06 February 2017, 18:13:48 UTC |
7326451 | Jacob Keller | 03 February 2017, 20:28:33 UTC | reset: add an example of how to split a commit into two It is often useful to break a commit into multiple parts that are more logical separations. This can be tricky to learn how to do without the brute-force method if re-writing code or commit messages from scratch. Add a section to the git-reset documentation which shows an example process for how to use git add -p and git commit -c HEAD@{1} to interactively break a commit apart and re-use the original commit message as a starting point when making the new commit message. Signed-off-by: Jacob Keller <jacob.keller@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 04 February 2017, 06:31:47 UTC |
f483a0a | Cornelius Weig | 03 February 2017, 11:01:59 UTC | completion: recognize more long-options Command completion only recognizes a subset of the available options for the various git commands. The set of recognized options needs to balance between having all useful options and to not clutter the terminal. This commit adds all long-options that are mentioned in the man-page synopsis of the respective git command. Possibly dangerous options are not included in this set, to avoid accidental data loss. The added options are: - apply: --recount --directory= - archive: --output - branch: --column --no-column --sort= --points-at - clone: --no-single-branch --shallow-submodules - commit: --patch --short --date --allow-empty - describe: --first-parent - fetch, pull: --unshallow --update-shallow - fsck: --name-objects - grep: --break --heading --show-function --function-context --untracked --no-index - mergetool: --prompt --no-prompt - reset: --keep - revert: --strategy= --strategy-option= - shortlog: --email - tag: --merged --no-merged --create-reflog Signed-off-by: Cornelius Weig <cornelius.weig@tngtech.com> Helped-by: Johannes Sixt <j6t@kdbg.org> Reviewed-by: SZEDER Gábor <szeder.dev@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 04 February 2017, 06:25:46 UTC |
cac8496 | Cornelius Weig | 03 February 2017, 11:01:58 UTC | completion: teach remote subcommands to complete options Git-remote needs to complete remote names, its subcommands, and options thereof. In addition to the existing subcommand and remote name completion, do also complete the options - add: --track --master --fetch --tags --no-tags --mirror= - set-url: --push --add --delete - get-url: --push --all - prune: --dry-run Signed-off-by: Cornelius Weig <cornelius.weig@tngtech.com> Reviewed-by: SZEDER Gábor <szeder.dev@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 04 February 2017, 06:25:46 UTC |
188fba1 | Cornelius Weig | 03 February 2017, 11:01:57 UTC | completion: teach replace to complete options Git-replace needs to complete references and its own options. In addition to the existing references completions, do also complete the options --edit --graft --format= --list --delete. Signed-off-by: Cornelius Weig <cornelius.weig@tngtech.com> Reviewed-by: SZEDER Gábor <szeder.dev@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 04 February 2017, 06:25:46 UTC |
2c0f3a5 | Cornelius Weig | 03 February 2017, 11:01:56 UTC | completion: teach ls-remote to complete options ls-remote needs to complete remote names and its own options. In addition to the existing remote name completions, do also complete the options --heads, --tags, --refs, --get-url, and --symref. Signed-off-by: Cornelius Weig <cornelius.weig@tngtech.com> Reviewed-by: SZEDER Gábor <szeder.dev@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 04 February 2017, 06:25:46 UTC |
bd9ab9d | Cornelius Weig | 03 February 2017, 11:01:55 UTC | completion: improve bash completion for git-add Command completion for git-add did not recognize some long-options. This commits adds completion for all long-options that are mentioned in the man-page synopsis. In addition, if the user specified `--update` or `-u`, path completion will only suggest modified tracked files. Signed-off-by: Cornelius Weig <cornelius.weig@tngtech.com> Reviewed-by: SZEDER Gábor <szeder.dev@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 04 February 2017, 06:25:46 UTC |
e24a256 | Cornelius Weig | 03 February 2017, 11:01:54 UTC | completion: add subcommand completion for rerere Managing recorded resolutions requires command-line usage of git-rerere. Added subcommand completion for rerere and path completion for its subcommand forget. Signed-off-by: Cornelius Weig <cornelius.weig@tngtech.com> Reviewed-by: SZEDER Gábor <szeder.dev@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 04 February 2017, 06:25:46 UTC |
65d5a1e | Cornelius Weig | 03 February 2017, 11:01:53 UTC | completion: teach submodule subcommands to complete options Each submodule subcommand has specific long-options. Therefore, teach bash completion to support option completion based on the current subcommand. All long-options that are mentioned in the man-page synopsis are added. Signed-off-by: Cornelius Weig <cornelius.weig@tngtech.com> Reviewed-by: SZEDER Gábor <szeder.dev@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 04 February 2017, 06:25:46 UTC |
6e3a7b3 | Junio C Hamano | 03 February 2017, 19:29:52 UTC | Git 2.12-rc0 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 03 February 2017, 19:29:52 UTC |
fafca0f | Junio C Hamano | 03 February 2017, 19:25:19 UTC | Merge branch 'cw/log-updates-for-all-refs-really' The "core.logAllRefUpdates" that used to be boolean has been enhanced to take 'always' as well, to record ref updates to refs other than the ones that are expected to be updated (i.e. branches, remote-tracking branches and notes). * cw/log-updates-for-all-refs-really: doc: add note about ignoring '--no-create-reflog' update-ref: add test cases for bare repository refs: add option core.logAllRefUpdates = always config: add markup to core.logAllRefUpdates doc | 03 February 2017, 19:25:19 UTC |
74dee5c | Junio C Hamano | 03 February 2017, 19:25:19 UTC | Merge branch 'pl/complete-diff-submodule-diff' The command line completion (in contrib/) learned that "git diff --submodule=" can take "diff" as a recently added option. * pl/complete-diff-submodule-diff: Completion: Add support for --submodule=diff | 03 February 2017, 19:25:19 UTC |
36acf41 | Junio C Hamano | 03 February 2017, 19:25:19 UTC | Merge branch 'rs/object-id' "uchar [40]" to "struct object_id" conversion continues. * rs/object-id: checkout: convert post_checkout_hook() to struct object_id use oidcpy() for copying hashes between instances of struct object_id use oid_to_hex_r() for converting struct object_id hashes to hex strings | 03 February 2017, 19:25:19 UTC |
ecc486b | Junio C Hamano | 03 February 2017, 19:25:19 UTC | Merge branch 'js/re-running-failed-tests' "make -C t failed" will now run only the tests that failed in the previous run. This is usable only when prove is not use, and gives a useless error message when run after "make clean", but otherwise is serviceable. * js/re-running-failed-tests: t/Makefile: add a rule to re-run previously-failed tests | 03 February 2017, 19:25:19 UTC |
4ba6bb2 | Junio C Hamano | 03 February 2017, 19:25:19 UTC | Merge branch 'sb/submodule-update-initial-runs-custom-script' The user can specify a custom update method that is run when "submodule update" updates an already checked out submodule. This was ignored when checking the submodule out for the first time and we instead always just checked out the commit that is bound to the path in the superproject's index. * sb/submodule-update-initial-runs-custom-script: submodule update: run custom update script for initial populating as well | 03 February 2017, 19:25:19 UTC |
5348021 | Junio C Hamano | 03 February 2017, 19:25:18 UTC | Merge branch 'sb/submodule-recursive-absorb' When a submodule "A", which has another submodule "B" nested within it, is "absorbed" into the top-level superproject, the inner submodule "B" used to be left in a strange state. The logic to adjust the .git pointers in these submodules has been corrected. * sb/submodule-recursive-absorb: submodule absorbing: fix worktree/gitdir pointers recursively for non-moves cache.h: expose the dying procedure for reading gitlinks setup: add gentle version of resolve_git_dir | 03 February 2017, 19:25:18 UTC |
2243d22 | Junio C Hamano | 03 February 2017, 19:25:18 UTC | Merge branch 'sb/unpack-trees-super-prefix' "git read-tree" and its underlying unpack_trees() machinery learned to report problematic paths prefixed with the --super-prefix option. * sb/unpack-trees-super-prefix: unpack-trees: support super-prefix option t1001: modernize style t1000: modernize style read-tree: use OPT_BOOL instead of OPT_SET_INT | 03 February 2017, 19:25:18 UTC |
8a8f121 | Junio C Hamano | 02 February 2017, 21:43:19 UTC | Sync with v2.11.1 * maint: Git 2.11.1 | 02 February 2017, 21:43:19 UTC |
289ec4d | Junio C Hamano | 02 February 2017, 21:43:10 UTC | Ninth batch for 2.12; almost ready for -rc0 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 02 February 2017, 21:43:10 UTC |
85279e8 | Junio C Hamano | 02 February 2017, 21:36:58 UTC | Merge branch 'nd/log-graph-configurable-colors' Some people feel the default set of colors used by "git log --graph" rather limiting. A mechanism to customize the set of colors has been introduced. * nd/log-graph-configurable-colors: document behavior of empty color name color_parse_mem: allow empty color spec log --graph: customize the graph lines with config log.graphColors color.c: trim leading spaces in color_parse_mem() color.c: fix color_parse_mem() with value_len == 0 | 02 February 2017, 21:36:58 UTC |
cc8364c | Junio C Hamano | 02 February 2017, 21:36:57 UTC | Merge branch 'ep/commit-static-buf-cleanup' Code clean-up. * ep/commit-static-buf-cleanup: builtin/commit.c: switch to strbuf, instead of snprintf() builtin/commit.c: remove the PATH_MAX limitation via dynamic allocation | 02 February 2017, 21:36:57 UTC |
a77fe4a | Junio C Hamano | 02 February 2017, 21:36:57 UTC | Merge branch 'bc/use-asciidoctor-opt' Asciidoctor, an alternative reimplementation of AsciiDoc, still needs some changes to work with documents meant to be formatted with AsciiDoc. "make USE_ASCIIDOCTOR=YesPlease" to use it out of the box to document our pages is getting closer to reality. * bc/use-asciidoctor-opt: Documentation: implement linkgit macro for Asciidoctor Makefile: add a knob to enable the use of Asciidoctor Documentation: move dblatex arguments into variable Documentation: add XSLT to fix DocBook for Texinfo Documentation: sort sources for gitman.texi Documentation: remove unneeded argument in cat-texi.perl Documentation: modernize cat-texi.perl Documentation: fix warning in cat-texi.perl | 02 February 2017, 21:36:57 UTC |
be6de6e | Junio C Hamano | 02 February 2017, 21:36:57 UTC | Merge branch 'sg/mailmap-self' * sg/mailmap-self: .mailmap: update Gábor Szeder's email address | 02 February 2017, 21:36:57 UTC |
cddbda4 | Junio C Hamano | 02 February 2017, 21:36:57 UTC | Merge branch 'js/mingw-hooks-with-exe-suffix' Names of the various hook scripts must be spelled exactly, but on Windows, an .exe binary must be named with .exe suffix; notice $GIT_DIR/hooks/<hookname>.exe as a valid <hookname> hook. * js/mingw-hooks-with-exe-suffix: mingw: allow hooks to be .exe files | 02 February 2017, 21:36:57 UTC |
140d41a | Junio C Hamano | 02 February 2017, 21:36:56 UTC | Merge branch 'rs/receive-pack-cleanup' Code clean-up. * rs/receive-pack-cleanup: receive-pack: call string_list_clear() unconditionally | 02 February 2017, 21:36:57 UTC |
f1fac40 | Junio C Hamano | 02 February 2017, 21:36:56 UTC | Merge branch 'mm/reset-facl-before-umask-test' Test tweaks for those who have default ACL in their git source tree that interfere with the umask test. * mm/reset-facl-before-umask-test: t0001: don't let a default ACL interfere with the umask test | 02 February 2017, 21:36:56 UTC |
ce05047 | Junio C Hamano | 02 February 2017, 21:36:55 UTC | Merge branch 'hv/mingw-help-is-executable' "git help" enumerates executable files in $PATH; the implementation of "is this file executable?" on Windows has been optimized. * hv/mingw-help-is-executable: help: improve is_executable() on Windows | 02 February 2017, 21:36:56 UTC |
a482cf4 | Junio C Hamano | 02 February 2017, 21:36:55 UTC | Merge branch 'gv/mingw-p4-mapuser' "git p4" did not work well with multiple git-p4.mapUser entries on Windows. * gv/mingw-p4-mapuser: git-p4: fix git-p4.mapUser on Windows | 02 February 2017, 21:36:55 UTC |
6f1c08b | Junio C Hamano | 02 February 2017, 21:36:55 UTC | Merge branch 'rs/absolute-pathdup' Code cleanup. * rs/absolute-pathdup: use absolute_pathdup() abspath: add absolute_pathdup() | 02 February 2017, 21:36:55 UTC |
d008809 | Junio C Hamano | 02 February 2017, 21:36:55 UTC | Merge branch 'js/unzip-in-usr-bin-workaround' Test tweak for FreeBSD where /usr/bin/unzip is unsuitable to run our tests but /usr/local/bin/unzip is usable. * js/unzip-in-usr-bin-workaround: test-lib: on FreeBSD, look for unzip(1) in /usr/local/bin/ | 02 February 2017, 21:36:55 UTC |
d3a0172 | Junio C Hamano | 02 February 2017, 21:36:54 UTC | Merge branch 'cw/doc-sign-off' Doc update. * cw/doc-sign-off: doc: clarify distinction between sign-off and pgp-signing | 02 February 2017, 21:36:55 UTC |
93d2387 | Junio C Hamano | 02 February 2017, 21:36:54 UTC | Merge branch 'js/status-pre-rebase-i' After starting "git rebase -i", which first opens the user's editor to edit the series of patches to apply, but before saving the contents of that file, "git status" failed to show the current state (i.e. you are in an interactive rebase session, but you have applied no steps yet) correctly. * js/status-pre-rebase-i: status: be prepared for not-yet-started interactive rebase | 02 February 2017, 21:36:54 UTC |
9dec2c6 | Junio C Hamano | 02 February 2017, 21:36:54 UTC | Merge branch 'js/retire-relink' Cruft removal. * js/retire-relink: relink: really remove the command relink: retire the command | 02 February 2017, 21:36:54 UTC |
1e6a893 | Junio C Hamano | 02 February 2017, 21:36:54 UTC | Merge branch 'sb/submodule-add-force' "git submodule add" used to be confused and refused to add a locally created repository; users can now use "--force" option to add them. * sb/submodule-add-force: submodule add: extend force flag to add existing repos | 02 February 2017, 21:36:54 UTC |
3b9e3c2 | Junio C Hamano | 02 February 2017, 21:21:27 UTC | Git 2.11.1 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 02 February 2017, 21:21:27 UTC |
45f28ed | Junio C Hamano | 02 February 2017, 21:20:30 UTC | Merge branch 'ws/request-pull-code-cleanup' into maint Code clean-up. * ws/request-pull-code-cleanup: request-pull: drop old USAGE stuff | 02 February 2017, 21:20:30 UTC |
5816d3c | Junio C Hamano | 02 February 2017, 21:20:29 UTC | Merge branch 'jk/execv-dashed-external' into maint Typing ^C to pager, which usually does not kill it, killed Git and took the pager down as a collateral damage in certain process-tree structure. This has been fixed. * jk/execv-dashed-external: execv_dashed_external: wait for child on signal death execv_dashed_external: stop exiting with negative code execv_dashed_external: use child_process struct | 02 February 2017, 21:20:29 UTC |
512aba2 | Jeff King | 02 February 2017, 12:42:44 UTC | document behavior of empty color name Commit 55cccf4bb (color_parse_mem: allow empty color spec, 2017-02-01) clearly defined the behavior of an empty color config variable. Let's document that, and give a hint about why it might be useful. It's important not to say that it makes the item uncolored, because it doesn't. It just sets no attributes, which means that any previous attributes continue to take effect. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 02 February 2017, 20:23:16 UTC |
67c70bd | Cornelius Weig | 01 February 2017, 22:07:27 UTC | doc: add note about ignoring '--no-create-reflog' The commands git-branch and git-tag accept the '--create-reflog' option, and create reflog even when core.logallrefupdates configuration is explicitly set not to. On the other hand, the negated form '--no-create-reflog' is accepted as a valid option but has no effect (other than overriding an earlier '--create-reflog' on the command line). This silent noop may puzzle users. To communicate that this is a known limitation, add a short note in the manuals for git-branch and git-tag. Signed-off-by: Cornelius Weig <cornelius.weig@tngtech.com> Helped-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 01 February 2017, 23:53:40 UTC |
446624c | Cornelius Weig | 01 February 2017, 23:07:53 UTC | completion: add completion for --recurse-submodules=only Command completion for 'git-push --recurse-submodules' already knows to complete some modes. However, the recently added mode 'only' is missing. Adding 'only' to the recognized modes completes the list of non-trivial modes. Signed-off-by: Cornelius Weig <cornelius.weig@tngtech.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 01 February 2017, 23:16:50 UTC |
9c24c87 | Cornelius Weig | 01 February 2017, 23:07:52 UTC | doc: add doc for git-push --recurse-submodules=only Add documentation for the `--recurse-submodules=only` option of git-push. The feature was added in commit 225e8bf (add option to push only submodules). Signed-off-by: Cornelius Weig <cornelius.weig@tngtech.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 01 February 2017, 23:16:49 UTC |
55cccf4 | Jeff King | 01 February 2017, 00:21:29 UTC | color_parse_mem: allow empty color spec Prior to c2f41bf52 (color.c: fix color_parse_mem() with value_len == 0, 2017-01-19), the empty string was interpreted as a color "reset". This was an accidental outcome, and that commit turned it into an error. However, scripts may pass the empty string as a default value to "git config --get-color" to disable color when the value is not defined. The git-add--interactive script does this. As a result, the script is unusable since c2f41bf52 unless you have color.diff.plain defined (if it is defined, then we don't parse the empty default at all). Our test scripts didn't notice the recent breakage because they run without a terminal, and thus without color. They never hit this code path at all. And nobody noticed the original buggy "reset" behavior, because it was effectively a noop. Let's fix the code to have an empty color name produce an empty sequence of color codes. The tests need a few fixups: - we'll add a new test in t4026 to cover this case. But note that we need to tweak the color() helper. While we're there, let's factor out the literal ANSI ESC character. Otherwise it makes the diff quite hard to read. - we'll add a basic sanity-check in t4026 that "git add -p" works at all when color is enabled. That would have caught this bug, as well as any others that are specific to the color code paths. - 73c727d69 (log --graph: customize the graph lines with config log.graphColors, 2017-01-19) added a test to t4202 that checks some "invalid" graph color config. Since ",, blue" before yielded only "blue" as valid, and now yields "empty, empty, blue", we don't match the expected output. One way to fix this would be to change the expectation to the empty color strings. But that makes the test much less interesting, since we show only two graph lines, both of which would be colorless. Since the empty-string case is now covered by t4026, let's remove them entirely here. They're just in the way of the primary thing the test is supposed to be checking. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 01 February 2017, 05:02:04 UTC |
540a398 | SZEDER Gábor | 31 January 2017, 18:42:12 UTC | .mailmap: update Gábor Szeder's email address Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 31 January 2017, 23:18:20 UTC |