swh:1:snp:6df5a50b8107b6bbe1e51d0239d816a7503c536a

sort by:
Revision Author Date Message Commit Date
2f74393 Git 2.19-rc1 Signed-off-by: Junio C Hamano <gitster@pobox.com> 28 August 2018, 19:01:01 UTC
b9dfa23 Getting ready for -rc1 Signed-off-by: Junio C Hamano <gitster@pobox.com> 27 August 2018, 21:34:54 UTC
8edb1b3 Merge branch 'ja/i18n-message-fixes' Messages fix. * ja/i18n-message-fixes: i18n: fix mistakes in translated strings 27 August 2018, 21:33:52 UTC
aa5dc61 Merge branch 'ds/commit-graph-fsck' Finishing touches to doc. * ds/commit-graph-fsck: config: fix commit-graph related config docs 27 August 2018, 21:33:51 UTC
6201d75 Merge branch 'js/range-diff' Finishing touched to help string. * js/range-diff: range-diff: update stale summary of --no-dual-color 27 August 2018, 21:33:51 UTC
926107d Merge branch 'sg/test-rebase-editor-fix' Test fix. * sg/test-rebase-editor-fix: t/lib-rebase.sh: support explicit 'pick' commands in 'fake_editor.sh' 27 August 2018, 21:33:50 UTC
86ef236 Merge branch 'jk/hashcmp-optim-for-2.19' Partially revert the support for multiple hash functions to regain hash comparison performance; we'd think of a way to do this better in the next cycle. * jk/hashcmp-optim-for-2.19: hashcmp: assert constant hash size 27 August 2018, 21:33:50 UTC
99fb11d Merge branch 'ab/test-must-be-empty-for-master' Test fixes. * ab/test-must-be-empty-for-master: t6018-rev-list-glob: fix 'empty stdin' test 27 August 2018, 21:33:49 UTC
56ce87d Merge branch 'sg/t3420-autostash-fix' Test fixes. * sg/t3420-autostash-fix: t3420-rebase-autostash: don't try to grep non-existing files 27 August 2018, 21:33:49 UTC
5f0ed3e Merge branch 'sg/t3903-missing-fix' Test fixes. * sg/t3903-missing-fix: t3903-stash: don't try to grep non-existing file 27 August 2018, 21:33:48 UTC
1d27164 Merge branch 'sg/t7501-thinkofix' Test fixes. * sg/t7501-thinkofix: t7501-commit: drop silly command substitution 27 August 2018, 21:33:48 UTC
df19317 Merge branch 'sg/t0020-conversion-fix' Test fixes. * sg/t0020-conversion-fix: t0020-crlf: check the right file 27 August 2018, 21:33:47 UTC
603160b Merge branch 'sg/t4051-fix' Test fixes. * sg/t4051-fix: t4051-diff-function-context: read the right file 27 August 2018, 21:33:45 UTC
1392c5d Merge branch 'js/larger-timestamps' Portability fix. * js/larger-timestamps: commit: use timestamp_t for author_date_slab 27 August 2018, 21:33:44 UTC
6d9276e Merge branch 'jk/use-compat-util-in-test-tool' Dev tool update. * jk/use-compat-util-in-test-tool: test-tool.h: include git-compat-util.h 27 August 2018, 21:33:43 UTC
986c518 Merge branch 'sg/test-must-be-empty' Test fixes. * sg/test-must-be-empty: tests: use 'test_must_be_empty' instead of 'test_cmp <empty> <out>' tests: use 'test_must_be_empty' instead of 'test_cmp /dev/null <out>' tests: use 'test_must_be_empty' instead of 'test ! -s' tests: use 'test_must_be_empty' instead of '! test -s' 27 August 2018, 21:33:43 UTC
fc0df93 Merge branch 'rs/opt-updates' "git cmd -h" updates. * rs/opt-updates: parseopt: group literal string alternatives in argument help remote: improve argument help for add --mirror checkout-index: improve argument help for --stage 27 August 2018, 21:33:43 UTC
6e96e88 Merge branch 'nd/complete-config-vars' "git help --config" (which is used in command line completion) missed the configuration variables not described in the main config.txt file but are described in another file that is included by it, which has been corrected. * nd/complete-config-vars: generate-cmdlist.sh: collect config from all config.txt files 27 August 2018, 21:33:42 UTC
7ae96e3 Merge branch 'ab/unconditional-free-and-null' Code clean-up. * ab/unconditional-free-and-null: refactor various if (x) FREE_AND_NULL(x) to just FREE_AND_NULL(x) 27 August 2018, 21:33:42 UTC
a988ce9 Merge branch 'ep/worktree-quiet-option' "git worktree" command learned "--quiet" option to make it less verbose. * ep/worktree-quiet-option: worktree: add --quiet option 27 August 2018, 21:33:42 UTC
d89db6f Merge branch 'sm/branch-sort-config' "git branch --list" learned to take the default sort order from the 'branch.sort' configuration variable, just like "git tag --list" pays attention to 'tag.sort'. * sm/branch-sort-config: branch: support configuring --sort via .gitconfig 27 August 2018, 21:33:42 UTC
9b73732 Merge branch 'nd/config-core-checkstat-doc' The meaning of the possible values the "core.checkStat" configuration variable can take were not adequately documented, which has been fixed. * nd/config-core-checkstat-doc: config.txt: clarify core.checkStat 27 August 2018, 21:33:42 UTC
72f47be range-diff: update stale summary of --no-dual-color 275267937b (range-diff: make dual-color the default mode, 2018-08-13) replaced --dual-color with --no-dual-color but left the option's summary untouched. Rewrite the summary to describe --no-dual-color rather than dual-color. Helped-by: Jonathan Nieder <jrnieder@gmail.com> Helped-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Kyle Meyer <kyle@kyleam.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 27 August 2018, 20:13:59 UTC
27c929e i18n: fix mistakes in translated strings Fix typos and convert a question which does not expect to be replied to a simple advice. Signed-off-by: Jean-Noël Avila <jn.avila@free.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com> 23 August 2018, 21:29:12 UTC
d915114 config: fix commit-graph related config docs The core.commitGraph config setting was accidentally removed from the config documentation. In that same patch, the config setting that writes a commit-graph during garbage collection was incorrectly written to the doc as "gc.commitGraph" instead of "gc.writeCommitGraph". Reported-by: Szeder Gábor <szeder.dev@gmail.com> Signed-off-by: Derrick Stolee <dstolee@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 23 August 2018, 17:20:54 UTC
7afb0d6 t/lib-rebase.sh: support explicit 'pick' commands in 'fake_editor.sh' The verbose output of the test 'reword without issues functions as intended' in 't3423-rebase-reword.sh', added in a9279c6785 (sequencer: do not squash 'reword' commits when we hit conflicts, 2018-06-19), contains the following error output: sed: -e expression #1, char 2: extra characters after command This error comes from within the 'fake-editor.sh' script created by 'lib-rebase.sh's set_fake_editor() function, and the root cause is the FAKE_LINES="pick 1 reword 2" variable in the test in question, in particular the "pick" word. 'fake-editor.sh' assumes 'pick' to be the default rebase command and doesn't support an explicit 'pick' command in FAKE_LINES. As a result, 'pick' will be used instead of a line number when assembling the following 'sed' script: sed -n picks/^pick/pick/p which triggers the aforementioned error. Luckily, this didn't affect the test's correctness: the erroring 'sed' command doesn't write anything to the todo script, and processing the rest of FAKE_LINES generates the desired todo script, as if that 'pick' command were not there at all. The minimal fix would be to remove the 'pick' word from FAKE_LINES, but that would leave us susceptible to similar issues in the future. Instead, teach the fake-editor script to recognize an explicit 'pick' command, which is still a fairly trivial change. In the future we might want to consider reinforcing this fake editor script with an &&-chain and stricter parsing of the FAKE_LINES variable (e.g. to error out when encountering unknown rebase commands or commands and line numbers in the wrong order). Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 23 August 2018, 16:23:34 UTC
183a638 hashcmp: assert constant hash size Prior to 509f6f62a4 (cache: update object ID functions for the_hash_algo, 2018-07-16), hashcmp() called memcmp() with a constant size of 20 bytes. Some compilers were able to turn that into a few quad-word comparisons, which is faster than actually calling memcmp(). In 509f6f62a4, we started using the_hash_algo->rawsz instead. Even though this will always be 20, the compiler doesn't know that while inlining hashcmp() and ends up just generating a call to memcmp(). Eventually we'll have to deal with multiple hash sizes, but for the upcoming v2.19, we can restore some of the original performance by asserting on the size. That gives the compiler enough information to know that the memcmp will always be called with a length of 20, and it performs the same optimization. Here are numbers for p0001.2 run against linux.git on a few versions. This is using -O2 with gcc 8.2.0. Test v2.18.0 v2.19.0-rc0 HEAD ------------------------------------------------------------------------------ 0001.2: 34.24(33.81+0.43) 34.83(34.42+0.40) +1.7% 33.90(33.47+0.42) -1.0% You can see that v2.19 is a little slower than v2.18. This commit ended up slightly faster than v2.18, but there's a fair bit of run-to-run noise (the generated code in the two cases is basically the same). This patch does seem to be consistently 1-2% faster than v2.19. I tried changing hashcpy(), which was also touched by 509f6f62a4, in the same way, but couldn't measure any speedup. Which makes sense, at least for this workload. A traversal of the whole commit graph requires looking up every entry of every tree via lookup_object(). That's many multiples of the numbers of objects in the repository (most of the lookups just return "yes, we already saw that object"). [jn: verified using "make object.s" that the memcmp call goes away.] Reported-by: Derrick Stolee <stolee@gmail.com> Signed-off-by: Jeff King <peff@peff.net Reviewed-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 23 August 2018, 13:20:58 UTC
2745817 t3420-rebase-autostash: don't try to grep non-existing files Several tests in 't3420-rebase-autostash.sh' start various rebase processes that are expected to fail because of merge conflicts. These tests then run '! grep' to ensure that the autostash feature did its job, and the dirty contents of a file is gone. However, due to the test repo's history and the choice of upstream branch that file shouldn't exist in the conflicted state at all. Consequently, this 'grep' doesn't fail as expected, because it can't find the dirty content, but it fails because it can't open the file. Tighten this check by using 'test_path_is_missing' instead, thereby avoiding unexpected errors from 'grep' as well. Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 22 August 2018, 18:52:51 UTC
79b04f9 t3903-stash: don't try to grep non-existing file The test 'store updates stash ref and reflog' in 't3903-stash.sh' creates a stash from a new file, runs 'git reset --hard' to throw away any modifications to the work tree, and then runs '! grep' to ensure that the staged contents are gone. Since the file didn't exist before, it shouldn't exist after 'git reset' either. Consequently, this 'grep' doesn't fail as expected, because it can't find the staged content, but it fails because it can't open the file. Tighten this check by using 'test_path_is_missing' instead, thereby avoiding an unexpected error from 'grep' as well. Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 22 August 2018, 18:52:35 UTC
29d9e3e Merge branch 'nd/pack-deltify-regression-fix' In a recent update in 2.18 era, "git pack-objects" started producing a larger than necessary packfiles by missing opportunities to use large deltas. * nd/pack-deltify-regression-fix: pack-objects: fix performance issues on packing large deltas 22 August 2018, 18:17:05 UTC
b89b4a6 t6018-rev-list-glob: fix 'empty stdin' test Prior to d3c6751b18 (tests: make use of the test_must_be_empty function, 2018-07-27), in the test 'rev-list should succeed with empty output on empty stdin' in 't6018-rev-list-glob' the empty 'expect' file served dual purpose: besides specifying the expected output, as usual, it also served as empty input for 'git rev-list --stdin'. Then d3c6751b18 came along, and, as part of the conversion to 'test_must_be_empty', removed this empty 'expect' file, not realizing its secondary purpose. Redirecting stdin from the now non-existing file failed the test, but since this test expects failure in the first place, this issue went unnoticed. Redirect 'git rev-list's stdin explicitly from /dev/null to provide empty input. (Strictly speaking we don't need this redirection, because the test script's stdin is already redirected from /dev/null anyway, but I think it's better to be explicit about it.) Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 22 August 2018, 18:02:07 UTC
c8b35b9 t4051-diff-function-context: read the right file The test ' context does not include preceding empty lines' in the block of tests 'change with long common tail and no context' in 't4051-diff-function-context.sh' tries to read the file 'long_common_tail.diff.diff', but that file doesn't exist as its name contains one more '.diff' suffixes than necessary. Despite this error the test still succeeded without checking what it's supposed to, because this erroneous read is done on the line: test "$(first_context_line <long_common_tail.diff.diff)" != " " which means that: - the command substitution hides the error, so it won't fail the test, and - the result of the command substitution is the empty string, which is, of course, not equal to a single space character, so the condition is fulfilled, and the test succeeds. As a minimal fix, fix the name of the file to be read. In the future we might want to reorganize this test script (1) to use 'test_cmp' instead of 'test's and command substitutions to catch failing commands and to provide helpful error messages, and (2) to specify what the expected result actually _is_ instead of what it isn't. Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 22 August 2018, 16:14:24 UTC
30612cb t0020-crlf: check the right file In the test 'checkout with autocrlf=input' in 't0020-crlf.sh', one of the 'has_cr' checks looks at the non-existing file 'two' instead of 'dir/two'. The test still succeeds, without actually checking what it was supposed to, because this check is expected to fail anyway. As a minimal fix, fix the name of the file to be checked. Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 22 August 2018, 16:08:08 UTC
15da753 t7501-commit: drop silly command substitution The test '--dry-run with conflicts fixed from a merge' in 't7501-commit.sh', added in 8dc874b2ee (wt-status.c: set commitable bit if there is a meaningful merge., 2016-02-15), runs the following unnecessary and downright bogus command substitution: ! $(git merge --no-commit commit-1) && I.e. after 'git merge ...' is executed and expectedly fails, the test attempts to execute its output: Merging: 80f2ea2 commit 2 virtual commit-1 found 1 common ancestor: e60d113 Initial commit Auto-merging test-file CONFLICT (content): Merge conflict in test-file Automatic merge failed; fix conflicts and then commit the result. as a command, which most likely fails, because there is no such command as "Merging:". Then '!' negates the failed exit status, the test continues, and eventually succeeds. Remove this command substitution and use 'test_must_fail' to ensure that 'git merge' fails. Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 22 August 2018, 15:39:31 UTC
1820703 commit: use timestamp_t for author_date_slab The author_date_slab is used to store the author date of a commit when walking with the --author-date flag in rev-list or log. This was added as an 'unsigned long' in 81c6b38b "log: --author-date-order" Since 'unsigned long' is ambiguous in its bit-ness across platforms (64-bit in Linux, 32-bit in Windows, for example), most references to the author dates in commit.c were converted to timestamp_t in dddbad72 "timestamp_t: a new data type for timestamps" However, the slab definition was missed, leading to a mismatch in the data types in Windows. This would not reveal itself as a bug unless someone authors a commit after February 2106, but commits can store anything as their author date. Signed-off-by: Derrick Stolee <dstolee@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 21 August 2018, 21:08:18 UTC
69d846f test-tool.h: include git-compat-util.h The test-tool programs include "test-tool.h" as their first include, which breaks our CodingGuideline of "the first include must be git-compat-util.h or an equivalent". Rather than change them all, let's instead make test-tool.h one of those equivalents, just like we do for builtin.h (which many of the actual git builtins include first). Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 21 August 2018, 19:11:40 UTC
1c5e94f tests: use 'test_must_be_empty' instead of 'test_cmp <empty> <out>' Using 'test_must_be_empty' is shorter and more idiomatic than >empty && test_cmp empty out as it saves the creation of an empty file. Furthermore, sometimes the expected empty file doesn't have such a descriptive name like 'empty', and its creation is far away from the place where it's finally used for comparison (e.g. in 't7600-merge.sh', where two expected empty files are created in the 'setup' test, but are used only about 500 lines later). These cases were found by instrumenting 'test_cmp' to error out the test script when it's used to compare empty files, and then converted manually. Note that even after this patch there still remain a lot of cases where we use 'test_cmp' to check empty files: - Sometimes the expected output is not hard-coded in the test, but 'test_cmp' is used to ensure that two similar git commands produce the same output, and that output happens to be empty, e.g. the test 'submodule update --merge - ignores --merge for new submodules' in 't7406-submodule-update.sh'. - Repetitive common tasks, including preparing the expected results and running 'test_cmp', are often extracted into a helper function, and some of this helper's callsites expect no output. - For the same reason as above, the whole 'test_expect_success' block is within a helper function, e.g. in 't3070-wildmatch.sh'. - Or 'test_cmp' is invoked in a loop, e.g. the test 'cvs update (-p)' in 't9400-git-cvsserver-server.sh'. Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 21 August 2018, 18:48:36 UTC
ec21ac8 tests: use 'test_must_be_empty' instead of 'test_cmp /dev/null <out>' Using 'test_must_be_empty' is more idiomatic than 'test_cmp /dev/null out', and its message on error is perhaps a bit more to the point. This patch was basically created by running: sed -i -e 's%test_cmp /dev/null%test_must_be_empty%' t[0-9]*.sh with the exception of the change in 'should not fail in an empty repo' in 't7401-submodule-summary.sh', where it was 'test_cmp output /dev/null'. Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 21 August 2018, 18:48:34 UTC
f0dc593 tests: use 'test_must_be_empty' instead of 'test ! -s' Using 'test_must_be_empty' is preferable to 'test ! -s', because it gives a helpful error message if the given file is unexpectedly no empty, while the latter remains completely silent. Furthermore, it also catches cases when the given file unexpectedly does not exist at all. This patch was created by: sed -i -e 's/test ! -s/test_must_be_empty/' t[0-9]*.sh Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 21 August 2018, 18:48:31 UTC
ec10b01 tests: use 'test_must_be_empty' instead of '! test -s' Using 'test_must_be_empty' is preferable to '! test -s', because it gives a helpful error message if the given file is unexpectedly not empty, while the latter remains completely silent. Furthermore, it also catches cases when the given file unexpectedly does not exist at all. This patch was basically created by: sed -i -e 's/! test -s/test_must_be_empty/' t[0-9]*.sh with the following notable exceptions: - The '! test -s' check in '.gitmodules ignore=dirty suppresses submodules with untracked content' in 't7508-status.sh' is left as-is, because it's bogus and, therefore, it's subject of a dedicated patch. - The '! test -s' checks in 't9131-git-svn-empty-symlink.sh' and 't9135-git-svn-moved-branch-empty-file.sh' are immediately preceeded by a 'test -f' to ensure that the files exist in the first place. 'test_must_be_empty' ensures that as well, so those 'test -f' commands are removed as well. Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 21 August 2018, 18:48:29 UTC
bbc072f parseopt: group literal string alternatives in argument help This formally clarifies that the "--option=" part is the same for all alternatives. Signed-off-by: Rene Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 21 August 2018, 18:35:54 UTC
446e63c remote: improve argument help for add --mirror Group the possible values using a pair of parentheses and don't mark them for translation, as they are literal strings that have to be used as-is in any locale. Signed-off-by: Rene Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 21 August 2018, 18:33:21 UTC
168f32e checkout-index: improve argument help for --stage Spell out all alternatives and avoid using a numerical range operator, as it is not mentioned in CodingGuidelines and the resulting string is still concise. Wrap them in parentheses to document clearly that the "--stage=" part is common among them. Signed-off-by: Rene Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 21 August 2018, 18:32:44 UTC
eb90ea7 generate-cmdlist.sh: collect config from all config.txt files This script uses Documentation/config.txt as input for "git help --config" and "git config" completion but it misses the fact that config.txt includes other txt files. Include all *config.txt as input when scanning for config keys. This could produce false positives, but as long as we stick to the blah-config.txt naming convention, we should be ok. While at there, move diff.* from config.txt to diff-config.txt where all other diff config keys are. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 21 August 2018, 18:28:11 UTC
7e8bfb0 Git 2.19-rc0 Signed-off-by: Junio C Hamano <gitster@pobox.com> 20 August 2018, 19:53:58 UTC
273b0a1 Merge branch 'ab/checkout-default-remote' * ab/checkout-default-remote: t2024: mark test using "checkout -p" with PERL prerequisite 20 August 2018, 19:53:46 UTC
d280170 Merge branch 'hn/highlight-sideband-keywords' The sideband code learned to optionally paint selected keywords at the beginning of incoming lines on the receiving end. * hn/highlight-sideband-keywords: sideband: do not read beyond the end of input sideband: highlight keywords in remote sideband output 20 August 2018, 19:41:34 UTC
39e415c Merge branch 'nd/cherry-pick-quit-fix' "git cherry-pick --quit" failed to remove CHERRY_PICK_HEAD even though we won't be in a cherry-pick session after it returns, which has been corrected. * nd/cherry-pick-quit-fix: cherry-pick: fix --quit not deleting CHERRY_PICK_HEAD 20 August 2018, 19:41:34 UTC
85c54ec Merge branch 'sb/submodule-cleanup' A few preliminary minor clean-ups in the area around submodules. * sb/submodule-cleanup: builtin/submodule--helper: remove stray new line t7410: update to new style 20 August 2018, 19:41:33 UTC
5a5c5e9 Merge branch 'pw/rebase-i-merge-segv-fix' "git rebase -i", when a 'merge <branch>' insn in its todo list fails, segfaulted, which has been (minimally) corrected. * pw/rebase-i-merge-segv-fix: rebase -i: fix SIGSEGV when 'merge <branch>' fails t3430: add conflicting commit 20 August 2018, 19:41:33 UTC
36fd1e8 Merge branch 'pw/rebase-i-squash-number-fix' When "git rebase -i" is told to squash two or more commits into one, it labeled the log message for each commit with its number. It correctly called the first one "1st commit", but the next one was "commit #1", which was off-by-one. This has been corrected. * pw/rebase-i-squash-number-fix: rebase -i: fix numbering in squash message 20 August 2018, 19:41:33 UTC
2a2c18f Merge branch 'sb/config-write-fix' Recent update to "git config" broke updating variable in a subsection, which has been corrected. * sb/config-write-fix: git-config: document accidental multi-line setting in deprecated syntax config: fix case sensitive subsection names on writing t1300: document current behavior of setting options 20 August 2018, 19:41:32 UTC
87aa159 Merge branch 'ab/submodule-relative-url-tests' Test updates. * ab/submodule-relative-url-tests: submodule: add more exhaustive up-path testing 20 August 2018, 19:41:32 UTC
5ade034 Merge branch 'en/incl-forward-decl' Code hygiene improvement for the header files. * en/incl-forward-decl: Remove forward declaration of an enum compat/precompose_utf8.h: use more common include guard style urlmatch.h: fix include guard Move definition of enum branch_track from cache.h to branch.h alloc: make allocate_alloc_state and clear_alloc_state more consistent Add missing includes and forward declarations 20 August 2018, 19:41:32 UTC
36f0f34 Merge branch 'jt/repack-promisor-packs' After a partial clone, repeated fetches from promisor remote would have accumulated many packfiles marked with .promisor bit without getting them coalesced into fewer packfiles, hurting performance. "git repack" now learned to repack them. * jt/repack-promisor-packs: repack: repack promisor objects if -a or -A is set repack: refactor setup of pack-objects cmd 20 August 2018, 19:40:31 UTC
e72db08 Merge branch 'wc/make-funnynames-shared-lazy-prereq' A test prerequisite defined by various test scripts with slightly different semantics has been consolidated into a single copy and made into a lazily defined one. * wc/make-funnynames-shared-lazy-prereq: t: factor out FUNNYNAMES as shared lazy prereq 20 August 2018, 18:33:55 UTC
6bbd103 Merge branch 'jh/partial-clone-doc' Doc updates. * jh/partial-clone-doc: partial-clone: render design doc using asciidoc 20 August 2018, 18:33:55 UTC
4601516 Merge branch 'js/chain-lint-attrfix' Test fix. * js/chain-lint-attrfix: chainlint: fix for core.autocrlf=true 20 August 2018, 18:33:54 UTC
ce9c6a3 Merge branch 'sb/pull-rebase-submodule' "git pull --rebase -v" in a repository with a submodule barfed as an intermediate process did not understand what "-v(erbose)" flag meant, which has been fixed. * sb/pull-rebase-submodule: git-submodule.sh: accept verbose flag in cmd_update to be non-quiet 20 August 2018, 18:33:54 UTC
81eab68 Merge branch 'js/range-diff' "git tbdiff" that lets us compare individual patches in two iterations of a topic has been rewritten and made into a built-in command. * js/range-diff: (21 commits) range-diff: use dim/bold cues to improve dual color mode range-diff: make --dual-color the default mode range-diff: left-pad patch numbers completion: support `git range-diff` range-diff: populate the man page range-diff --dual-color: skip white-space warnings range-diff: offer to dual-color the diffs diff: add an internal option to dual-color diffs of diffs color: add the meta color GIT_COLOR_REVERSE range-diff: use color for the commit pairs range-diff: add tests range-diff: do not show "function names" in hunk headers range-diff: adjust the output of the commit pairs range-diff: suppress the diff headers range-diff: indent the diffs just like tbdiff range-diff: right-trim commit messages range-diff: also show the diff between patches range-diff: improve the order of the shown commits range-diff: first rudimentary implementation Introduce `range-diff` to compare iterations of a topic branch ... 20 August 2018, 18:33:53 UTC
dc0f6f9 Merge branch 'nd/no-the-index' The more library-ish parts of the codebase learned to work on the in-core index-state instance that is passed in by their callers, instead of always working on the singleton "the_index" instance. * nd/no-the-index: (24 commits) blame.c: remove implicit dependency on the_index apply.c: remove implicit dependency on the_index apply.c: make init_apply_state() take a struct repository apply.c: pass struct apply_state to more functions resolve-undo.c: use the right index instead of the_index archive-*.c: use the right repository archive.c: avoid access to the_index grep: use the right index instead of the_index attr: remove index from git_attr_set_direction() entry.c: use the right index instead of the_index submodule.c: use the right index instead of the_index pathspec.c: use the right index instead of the_index unpack-trees: avoid the_index in verify_absent() unpack-trees: convert clear_ce_flags* to avoid the_index unpack-trees: don't shadow global var the_index unpack-trees: add a note about path invalidation unpack-trees: remove 'extern' on function declaration ls-files: correct index argument to get_convert_attr_ascii() preload-index.c: use the right index instead of the_index dir.c: remove an implicit dependency on the_index in pathspec code ... 20 August 2018, 18:33:53 UTC
ace1f99 Merge branch 'es/chain-lint-more' Improve built-in facility to catch broken &&-chain in the tests. * es/chain-lint-more: chainlint: add test of pathological case which triggered false positive chainlint: recognize multi-line quoted strings more robustly chainlint: let here-doc and multi-line string commence on same line chainlint: recognize multi-line $(...) when command cuddled with "$(" chainlint: match 'quoted' here-doc tags chainlint: match arbitrary here-docs tags rather than hard-coded names 20 August 2018, 18:33:53 UTC
a15bfa5 Merge branch 'sg/t5310-empty-input-fix' Test fix. * sg/t5310-empty-input-fix: t5310-pack-bitmaps: fix bogus 'pack-objects to file can use bitmap' test 20 August 2018, 18:33:52 UTC
d18d09b Merge branch 'js/mingw-o-append' Among the three codepaths we use O_APPEND to open a file for appending, one used for writing GIT_TRACE output requires O_APPEND implementation that behaves sensibly when multiple processes are writing to the same file. POSIX emulation used in the Windows port has been updated to improve in this area. * js/mingw-o-append: mingw: enable atomic O_APPEND 20 August 2018, 18:33:52 UTC
0c54cda Merge branch 'jk/for-each-object-iteration' The API to iterate over all objects learned to optionally list objects in the order they appear in packfiles, which helps locality of access if the caller accesses these objects while as objects are enumerated. * jk/for-each-object-iteration: for_each_*_object: move declarations to object-store.h cat-file: use a single strbuf for all output cat-file: split batch "buf" into two variables cat-file: use oidset check-and-insert cat-file: support "unordered" output for --batch-all-objects cat-file: rename batch_{loose,packed}_object callbacks t1006: test cat-file --batch-all-objects with duplicates for_each_packed_object: support iterating in pack-order for_each_*_object: give more comprehensive docstrings for_each_*_object: take flag arguments as enum for_each_*_object: store flag definitions in a single location 20 August 2018, 18:33:52 UTC
42a6274 Merge branch 'ab/fetch-tags-noclobber' Test and doc clean-ups. * ab/fetch-tags-noclobber: pull doc: fix a long-standing grammar error fetch tests: correct a comment "remove it" -> "remove them" push tests: assert re-pushing annotated tags push tests: add more testing for forced tag pushing push tests: fix logic error in "push" test assertion push tests: remove redundant 'git push' invocation fetch tests: change "Tag" test tag to "testTag" 20 August 2018, 18:33:52 UTC
03e904c Merge branch 'ng/mergetool-lose-final-prompt' "git mergetool" stopped and gave an extra prompt to continue after the last path has been handled, which did not make much sense. * ng/mergetool-lose-final-prompt: mergetool: don't suggest to continue after last file 20 August 2018, 18:33:51 UTC
3bc484a Merge branch 'jt/commit-graph-per-object-store' Test update. * jt/commit-graph-per-object-store: t5318: avoid unnecessary command substitutions 20 August 2018, 18:33:51 UTC
5dd5474 Merge branch 'ds/commit-graph-fsck' Test fix. * ds/commit-graph-fsck: t5318: use 'test_cmp_bin' to compare commit-graph files 20 August 2018, 18:33:51 UTC
c5c2162 Merge branch 'jt/fetch-negotiator-skipping' Test fix. * jt/fetch-negotiator-skipping: t5552: suppress upload-pack trace output 20 August 2018, 18:33:51 UTC
4d34122 Merge branch 'jc/gpg-status' "git verify-tag" and "git verify-commit" have been taught to use the exit status of underlying "gpg --verify" to signal bad or untrusted signature they found. * jc/gpg-status: gpg-interface: propagate exit status from gpg back to the callers 20 August 2018, 18:33:50 UTC
6e8f3d1 Merge branch 'jc/update-index-doc' Doc update. * jc/update-index-doc: update-index: there no longer is `apply --index-info` 20 August 2018, 18:33:50 UTC
7d91699 Merge branch 'en/update-index-doc' Doc update. * en/update-index-doc: git-update-index.txt: reword possibly confusing example 20 August 2018, 18:33:50 UTC
13bf260 Merge branch 'js/typofixes' Comment update. * js/typofixes: remote-curl: remove spurious period git-compat-util.h: fix typo 20 August 2018, 18:33:50 UTC
93ded33 Merge branch 'sk/instaweb-rh-update' "git instaweb" has been adjusted to run better with newer Apache on RedHat based distros. * sk/instaweb-rh-update: git-instaweb: fix apache2 config with apache >= 2.4 git-instaweb: support Fedora/Red Hat apache module path 20 August 2018, 18:33:49 UTC
02c51a2 Merge branch 'en/t7406-fixes' Test fixes. * en/t7406-fixes: t7406: avoid using test_must_fail for commands other than git t7406: prefer test_* helper functions to test -[feds] t7406: avoid having git commands upstream of a pipe t7406: simplify by using diff --name-only instead of diff --raw t7406: fix call that was failing for the wrong reason 20 August 2018, 18:33:49 UTC
750eb11 Merge branch 'js/rebase-merges-exec-fix' The "--exec" option to "git rebase --rebase-merges" placed the exec commands at wrong places, which has been corrected. * js/rebase-merges-exec-fix: rebase --exec: make it work with --rebase-merges t3430: demonstrate what -r, --autosquash & --exec should do 20 August 2018, 18:33:48 UTC
14677d2 Merge branch 'ab/test-must-be-empty-for-master' Test updates. * ab/test-must-be-empty-for-master: tests: make use of the test_must_be_empty function 20 August 2018, 18:33:48 UTC
34f2297 Merge branch 'ab/newhash-is-sha256' Documentation update. * ab/newhash-is-sha256: doc hash-function-transition: pick SHA-256 as NewHash doc hash-function-transition: note the lack of a changelog 20 August 2018, 18:33:48 UTC
3338e99 t2024: mark test using "checkout -p" with PERL prerequisite Checkout with the -p switch uses the "add interactive" framework which is written in Perl. One test added in 8d7b558bae ("checkout & worktree: introduce checkout.defaultRemote", 2018-06-05) didn't declare the PERL prerequisite, breaking the test when built with NO_PERL. Reported-by: CB Bailey <cb@hashpling.org> Signed-off-by: CB Bailey <cb@hashpling.org> Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 18 August 2018, 16:26:54 UTC
59a255a sideband: do not read beyond the end of input The caller of maybe_colorize_sideband() gives a counted buffer <src, n>, but the callee checked src[] as if it were a NUL terminated buffer. If src[] had all isspace() bytes in it, we would have made n negative, and then (1) made number of strncasecmp() calls to see if the remaining bytes in src[] matched keywords, reading beyond the end of the array (this actually happens even if n does not go negative), and/or (2) called strbuf_add() with negative count, most likely triggering the "you want to use way too much memory" error due to unsigned integer overflow. Fix both issues by making sure we do not go beyond &src[n]. In the longer term we may want to accept size_t as parameter for clarity (even though we know that a sideband message we are painting typically would fit on a line on a terminal and int is sufficient). Write it down as a NEEDSWORK comment. Helped-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 18 August 2018, 16:16:48 UTC
371979c worktree: add --quiet option Add the '--quiet' option to git worktree, as for the other git commands. 'add' is the only command affected by it since all other commands, except 'list', are currently silent by default. [jc: appiled trivial fix-up to keep the tests from touching outside the scratch area] Helped-by: Martin Ågren <martin.agren@gmail.com> Helped-by: Duy Nguyen <pclouds@gmail.com> Helped-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: Elia Pinto <gitter.spiros@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 17 August 2018, 22:18:01 UTC
fa03cdc Seventh batch for 2.19 cycle Signed-off-by: Junio C Hamano <gitster@pobox.com> 17 August 2018, 20:15:06 UTC
4e0ea8e Merge branch 'nd/complete-config-vars' Build fix. * nd/complete-config-vars: Makefile: add missing dependency for command-list.h 17 August 2018, 20:09:59 UTC
2c8c407 Merge branch 'ar/t4150-am-scissors-test-fix' Test fix. * ar/t4150-am-scissors-test-fix: t4150: fix broken test for am --scissors 17 August 2018, 20:09:59 UTC
c757aa2 Merge branch 'js/pull-rebase-type-shorthand' "git pull --rebase=interactive" learned "i" as a short-hand for "interactive". * js/pull-rebase-type-shorthand: pull --rebase=<type>: allow single-letter abbreviations for the type 17 August 2018, 20:09:59 UTC
f74e7b8 Merge branch 'jk/diff-rendered-docs' The end result of documentation update has been made to be inspected more easily to help developers. * jk/diff-rendered-docs: add a script to diff rendered documentation 17 August 2018, 20:09:58 UTC
f382c24 Merge branch 'hn/config-in-code-comment' Header update. * hn/config-in-code-comment: config: document git config getter return value 17 August 2018, 20:09:58 UTC
3146f8a Merge branch 'nd/config-blame-sort' Doc fix. * nd/config-blame-sort: config.txt: reorder blame stuff to keep config keys sorted 17 August 2018, 20:09:58 UTC
b576cf7 Merge branch 'en/t3031-title-fix' Test fix. * en/t3031-title-fix: t3031: update test description to mention desired behavior 17 August 2018, 20:09:58 UTC
791ad49 Merge branch 'sb/indent-heuristic-optim' "git diff --indent-heuristic" had a bad corner case performance. * sb/indent-heuristic-optim: xdiff: reduce indent heuristic overhead 17 August 2018, 20:09:57 UTC
8ba8642 Merge branch 'en/abort-df-conflict-fixes' "git merge --abort" etc. did not clean things up properly when there were conflicted entries in the index in certain order that are involved in D/F conflicts. This has been corrected. * en/abort-df-conflict-fixes: read-cache: fix directory/file conflict handling in read_index_unmerged() t1015: demonstrate directory/file conflict recovery failures 17 August 2018, 20:09:57 UTC
c5d276c Merge branch 'mk/http-backend-content-length' The http-backend (used for smart-http transport) used to slurp the whole input until EOF, without paying attention to CONTENT_LENGTH that is supplied in the environment and instead expecting the Web server to close the input stream. This has been fixed. * mk/http-backend-content-length: t5562: avoid non-portable "export FOO=bar" construct http-backend: respect CONTENT_LENGTH for receive-pack http-backend: respect CONTENT_LENGTH as specified by rfc3875 http-backend: cleanup writing to child process 17 August 2018, 20:09:57 UTC
c83149a Merge branch 'ot/ref-filter-object-info' A few atoms like %(objecttype) and %(objectsize) in the format specifier of "for-each-ref --format=<format>" can be filled without getting the full contents of the object, but just with the object header. These cases have been optimized by calling oid_object_info() API (instead of reading and inspecting the data). * ot/ref-filter-object-info: ref-filter: use oid_object_info() to get object ref-filter: merge get_obj and get_object ref-filter: initialize eaten variable ref-filter: fill empty fields with empty values ref-filter: add info_source to valid_atom 17 August 2018, 20:09:57 UTC
0194c9a Merge branch 'nd/no-extern' Noiseword "extern" has been removed from function decls in the header files. * nd/no-extern: submodule.h: drop extern from function declaration revision.h: drop extern from function declaration repository.h: drop extern from function declaration rerere.h: drop extern from function declaration line-range.h: drop extern from function declaration diff.h: remove extern from function declaration diffcore.h: drop extern from function declaration convert.h: drop 'extern' from function declaration cache-tree.h: drop extern from function declaration blame.h: drop extern on func declaration attr.h: drop extern from function declaration apply.h: drop extern on func declaration 17 August 2018, 20:09:56 UTC
271940c Merge branch 'es/want-color-fd-defensive' Futureproofing a helper function that can easily be misused. * es/want-color-fd-defensive: color: protect against out-of-bounds reads and writes 17 August 2018, 20:09:56 UTC
d1b0164 Merge branch 'ab/sha1dc' AIX portability update for the SHA1DC hash, imported from upstream. * ab/sha1dc: sha1dc: update from upstream 17 August 2018, 20:09:56 UTC
8963bb0 Merge branch 'rs/parse-opt-lithelp' The parse-options machinery learned to refrain from enclosing placeholder string inside a "<bra" and "ket>" pair automatically without PARSE_OPT_LITERAL_ARGHELP. Existing help text for option arguments that are not formatted correctly have been identified and fixed. * rs/parse-opt-lithelp: parse-options: automatically infer PARSE_OPT_LITERAL_ARGHELP shortlog: correct option help for -w send-pack: specify --force-with-lease argument help explicitly pack-objects: specify --index-version argument help explicitly difftool: remove angular brackets from argument help add, update-index: fix --chmod argument help push: use PARSE_OPT_LITERAL_ARGHELP instead of unbalanced brackets 17 August 2018, 20:09:56 UTC
28dbabb Merge branch 'ab/fetch-nego' Update to a few other topics around 'git fetch'. * ab/fetch-nego: fetch doc: cross-link two new negotiation options negotiator: unknown fetch.negotiationAlgorithm should error out 17 August 2018, 20:09:55 UTC
72c11b7 Merge branch 'jt/refspec-dwim-precedence-fix' "git fetch $there refs/heads/s" ought to fetch the tip of the branch 's', but when "refs/heads/refs/heads/s", i.e. a branch whose name is "refs/heads/s" exists at the same time, fetched that one instead by mistake. This has been corrected to honor the usual disambiguation rules for abbreviated refnames. * jt/refspec-dwim-precedence-fix: remote: make refspec follow the same disambiguation rule as local refs 17 August 2018, 20:09:55 UTC
back to top