Junio C Hamano [Wed, 23 Oct 2019 05:43:09 +0000 (14:43 +0900)]
Merge branch 'sg/progress-fix'
Byte-order fix the recent update to progress display code.
* sg/progress-fix:
test-progress: fix test failures on big-endian systems
Junio C Hamano [Wed, 23 Oct 2019 05:43:09 +0000 (14:43 +0900)]
Merge branch 'nr/diff-highlight-indent-fix'
Code cleanup.
* nr/diff-highlight-indent-fix:
diff-highlight: fix a whitespace nit
Junio C Hamano [Wed, 23 Oct 2019 05:43:09 +0000 (14:43 +0900)]
Merge branch 'mb/clarify-zsh-completion-doc'
The installation instruction for zsh completion script (in
contrib/) has been a bit improved.
* mb/clarify-zsh-completion-doc:
completion: clarify installation instruction for zsh
Junio C Hamano [Wed, 23 Oct 2019 02:06:46 +0000 (11:06 +0900)]
Merge branch 'js/azure-pipelines-msvc'
* js/azure-pipelines-msvc:
ci(visual-studio): actually run the tests in parallel
ci(visual-studio): use strict compile flags, and optimization
Johannes Schindelin [Mon, 21 Oct 2019 19:59:58 +0000 (19:59 +0000)]
ci(visual-studio): actually run the tests in parallel
Originally, the CI/PR builds that build and test using Visual Studio
were implemented imitating `linux-clang`, i.e. still using the
`Makefile`-based build infrastructure.
Later (but still before the patches made their way into git.git's
`master`), however, this was changed to generate Visual Studio project
files and build the binaries using `MSBuild`, as this reflects more
accurately how Visual Studio users would want to build Git (internally,
Visual Studio uses `MSBuild`, or at least something very similar).
During that transition, we needed to implement a new way to run the test
suite in parallel, as Visual Studio users typically will only have a Git
Bash available (which does not ship with `make` nor with support for
`prove`): we simply implemented a new test helper to run the test suite.
This helper even knows how to run the tests in parallel, but due to a
mistake on this developer's part, it was never turned on in the CI/PR
builds. This results in 2x-3x longer run times of the test phase.
Let's use the `--jobs=10` option to fix this.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Johannes Schindelin [Mon, 21 Oct 2019 19:59:57 +0000 (19:59 +0000)]
ci(visual-studio): use strict compile flags, and optimization
To make full use of the work that went into the Visual Studio build &
test jobs in our CI/PR builds, let's turn on strict compiler flags. This
will give us the benefit of Visual C's compiler warnings (which, at
times, seem to catch things that GCC does not catch, and vice versa).
While at it, also turn on optimization; It does not make sense to
produce binaries with debug information, and we can use any ounce of
speed that we get (because the test suite is particularly slow on
Windows, thanks to the need to run inside a Unix shell, which
requires us to use the POSIX emulation layer provided by MSYS2).
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
SZEDER Gábor [Sat, 19 Oct 2019 23:37:06 +0000 (01:37 +0200)]
test-progress: fix test failures on big-endian systems
In 't0500-progress-display.sh' all tests running 'test-tool progress
--total=<N>' fail on big-endian systems, e.g. like this:
+ test-tool progress --total=3 Working hard
[...]
+ test_i18ncmp expect out
--- expect 2019-10-18 23:07:54.
765523916 +0000
+++ out 2019-10-18 23:07:54.
773523916 +0000
@@ -1,4 +1,2 @@
-Working hard: 33% (1/3)<CR>
-Working hard: 66% (2/3)<CR>
-Working hard: 100% (3/3)<CR>
-Working hard: 100% (3/3), done.
+Working hard: 0% (1/
12884901888)<CR>
+Working hard: 0% (3/
12884901888), done.
The reason for that bogus value is that '--total's parameter is parsed
via parse-options's OPT_INTEGER into a uint64_t variable [1], so the
two bits of 3 end up in the "wrong" bytes on big-endian systems
(
12884901888 = 0x300000000).
Change the type of that variable from uint64_t to int, to match what
parse-options expects; in the tests of the progress output we won't
use values that don't fit into an int anyway.
[1] start_progress() expects the total number as an uint64_t, that's
why I chose the same type when declaring the variable holding the
value given on the command line.
Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com>
[jpag: Debian unstable/ppc64 (big-endian)]
Tested-By: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
[tz: Fedora s390x (big-endian)]
Tested-By: Todd Zullinger <tmz@pobox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Maxim Belsky [Fri, 11 Oct 2019 17:54:28 +0000 (10:54 -0700)]
completion: clarify installation instruction for zsh
The original comment does not describe type of ~/.zsh/_git explicitly
and zsh does not warn or fail if a user create it as a dictionary.
So unexperienced users could be misled by the original comment.
There is a small update to clarify it.
Helped-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Helped-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Maxim Belsky <public.belsky@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Fri, 18 Oct 2019 02:31:00 +0000 (11:31 +0900)]
Git 2.24-rc0
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Fri, 18 Oct 2019 02:40:50 +0000 (11:40 +0900)]
Merge branch 'rs/remote-curl-use-argv-array'
Code cleanup.
* rs/remote-curl-use-argv-array:
remote-curl: use argv_array in parse_push()
Junio C Hamano [Fri, 18 Oct 2019 02:40:49 +0000 (11:40 +0900)]
Merge branch 'rs/column-use-utf8-strnwidth'
Code cleanup.
* rs/column-use-utf8-strnwidth:
column: use utf8_strnwidth() to strip out ANSI color escapes
Junio C Hamano [Fri, 18 Oct 2019 02:40:49 +0000 (11:40 +0900)]
Merge branch 'rs/http-push-simplify'
Code cleanup.
* rs/http-push-simplify:
http-push: simplify deleting a list item
Junio C Hamano [Fri, 18 Oct 2019 02:40:49 +0000 (11:40 +0900)]
Merge branch 'jj/stash-reset-only-toplevel'
"git stash save" lost local changes to submodules, which has been
corrected.
* jj/stash-reset-only-toplevel:
stash: avoid recursive hard reset on submodules
Junio C Hamano [Fri, 18 Oct 2019 02:40:48 +0000 (11:40 +0900)]
Merge branch 'bw/format-patch-o-create-leading-dirs'
"git format-patch -o <outdir>" did an equivalent of "mkdir <outdir>"
not "mkdir -p <outdir>", which is being corrected.
* bw/format-patch-o-create-leading-dirs:
format-patch: create leading components of output directory
Junio C Hamano [Fri, 18 Oct 2019 02:40:48 +0000 (11:40 +0900)]
Merge branch 'bb/compat-util-comment-fix'
Code cleanup.
* bb/compat-util-comment-fix:
git-compat-util: fix documentation syntax
Junio C Hamano [Fri, 18 Oct 2019 02:40:48 +0000 (11:40 +0900)]
Merge branch 'bb/utf8-wcwidth-cleanup'
Code cleanup.
* bb/utf8-wcwidth-cleanup:
utf8: use ARRAY_SIZE() in git_wcwidth()
Junio C Hamano [Fri, 18 Oct 2019 02:40:48 +0000 (11:40 +0900)]
Merge branch 'dl/allow-running-cocci-verbosely'
Dev support update.
* dl/allow-running-cocci-verbosely:
Makefile: respect $(V) in %.cocci.patch target
Junio C Hamano [Fri, 18 Oct 2019 02:40:47 +0000 (11:40 +0900)]
Merge branch 'dl/compat-cleanup'
Code formatting micronit fix.
* dl/compat-cleanup:
pthread.h: manually align parameter lists
Junio C Hamano [Fri, 18 Oct 2019 02:40:47 +0000 (11:40 +0900)]
Merge branch 'ta/t1308-typofix'
Test fix.
* ta/t1308-typofix:
t1308-config-set: fix a test that has a typo
Junio C Hamano [Fri, 18 Oct 2019 02:40:47 +0000 (11:40 +0900)]
Merge branch 'js/doc-stash-save'
Doc clarification.
* js/doc-stash-save:
doc(stash): clarify the description of `save`
Norman Rasmussen [Tue, 15 Oct 2019 03:31:26 +0000 (03:31 +0000)]
diff-highlight: fix a whitespace nit
This changes the indent from
"<tab><sp><sp><sp><sp><sp><sp><sp><sp>"
to
"<tab><tab>"
so that the statement lines up with the rest of the block.
Signed-off-by: Norman Rasmussen <norman@rasmussen.co.za>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 15 Oct 2019 04:31:50 +0000 (13:31 +0900)]
Ninth batch
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 15 Oct 2019 04:48:03 +0000 (13:48 +0900)]
Merge branch 'jk/coc'
Code-of-conduct document.
* jk/coc:
CODE_OF_CONDUCT: mention individual project-leader emails
add a Code of Conduct document
Junio C Hamano [Tue, 15 Oct 2019 04:48:03 +0000 (13:48 +0900)]
Merge branch 'js/trace2-fetch-push'
Dev support.
* js/trace2-fetch-push:
transport: push codepath can take arbitrary repository
push: add trace2 instrumentation
fetch: add trace2 instrumentation
Junio C Hamano [Tue, 15 Oct 2019 04:48:03 +0000 (13:48 +0900)]
Merge branch 'jt/push-avoid-lazy-fetch'
Performance hack.
* jt/push-avoid-lazy-fetch:
send-pack: never fetch when checking exclusions
Junio C Hamano [Tue, 15 Oct 2019 04:48:03 +0000 (13:48 +0900)]
Merge branch 'dl/format-patch-doc-test-cleanup'
test cleanup.
* dl/format-patch-doc-test-cleanup:
t4014: treat rev-list output as the expected value
Junio C Hamano [Tue, 15 Oct 2019 04:48:03 +0000 (13:48 +0900)]
Merge branch 'js/xdiffi-comment-updates'
Comment update.
* js/xdiffi-comment-updates:
xdiffi: fix typos and touch up comments
Junio C Hamano [Tue, 15 Oct 2019 04:48:02 +0000 (13:48 +0900)]
Merge branch 'dl/t0000-skip-test-test'
test update.
* dl/t0000-skip-test-test:
t0000: cover GIT_SKIP_TESTS blindspots
Junio C Hamano [Tue, 15 Oct 2019 04:48:02 +0000 (13:48 +0900)]
Merge branch 'tg/range-diff-output-update'
"git range-diff" failed to handle mode-only change, which has been
corrected.
* tg/range-diff-output-update:
range-diff: don't segfault with mode-only changes
Junio C Hamano [Tue, 15 Oct 2019 04:48:02 +0000 (13:48 +0900)]
Merge branch 'gs/sq-quote-buf-pretty'
Pretty-printed command line formatter (used in e.g. reporting the
command being run by the tracing API) had a bug that lost an
argument that is an empty string, which has been corrected.
* gs/sq-quote-buf-pretty:
sq_quote_buf_pretty: don't drop empty arguments
Junio C Hamano [Tue, 15 Oct 2019 04:48:01 +0000 (13:48 +0900)]
Merge branch 'ew/hashmap'
Code clean-up of the hashmap API, both users and implementation.
* ew/hashmap:
hashmap_entry: remove first member requirement from docs
hashmap: remove type arg from hashmap_{get,put,remove}_entry
OFFSETOF_VAR macro to simplify hashmap iterators
hashmap: introduce hashmap_free_entries
hashmap: hashmap_{put,remove} return hashmap_entry *
hashmap: use *_entry APIs for iteration
hashmap_cmp_fn takes hashmap_entry params
hashmap_get{,_from_hash} return "struct hashmap_entry *"
hashmap: use *_entry APIs to wrap container_of
hashmap_get_next returns "struct hashmap_entry *"
introduce container_of macro
hashmap_put takes "struct hashmap_entry *"
hashmap_remove takes "const struct hashmap_entry *"
hashmap_get takes "const struct hashmap_entry *"
hashmap_add takes "struct hashmap_entry *"
hashmap_get_next takes "const struct hashmap_entry *"
hashmap_entry_init takes "struct hashmap_entry *"
packfile: use hashmap_entry in delta_base_cache_entry
coccicheck: detect hashmap_entry.hash assignment
diff: use hashmap_entry_init on moved_entry.ent
Junio C Hamano [Tue, 15 Oct 2019 04:48:01 +0000 (13:48 +0900)]
Merge branch 'js/trace2-cap-max-output-files'
The trace2 output, when sending them to files in a designated
directory, can populate the directory with too many files; a
mechanism is introduced to set the maximum number of files and
discard further logs when the maximum is reached.
* js/trace2-cap-max-output-files:
trace2: write discard message to sentinel files
trace2: discard new traces if target directory has too many files
docs: clarify trace2 version invariants
docs: mention trace2 target-dir mode in git-config
Junio C Hamano [Tue, 15 Oct 2019 04:48:01 +0000 (13:48 +0900)]
Merge branch 'am/t0028-utf16-tests'
Test fixes.
* am/t0028-utf16-tests:
t0028: add more tests
t0028: fix test for UTF-16-LE-BOM
Junio C Hamano [Tue, 15 Oct 2019 04:48:01 +0000 (13:48 +0900)]
Merge branch 'dl/octopus-graph-bug'
"git log --graph" for an octopus merge is sometimes colored
incorrectly, which is demonstrated and documented but not yet
fixed.
* dl/octopus-graph-bug:
t4214: demonstrate octopus graph coloring failure
t4214: explicitly list tags in log
t4214: generate expect in their own test cases
t4214: use test_merge
test-lib: let test_merge() perform octopus merges
Junio C Hamano [Tue, 15 Oct 2019 04:48:00 +0000 (13:48 +0900)]
Merge branch 'en/fast-imexport-nested-tags'
Updates to fast-import/export.
* en/fast-imexport-nested-tags:
fast-export: handle nested tags
t9350: add tests for tags of things other than a commit
fast-export: allow user to request tags be marked with --mark-tags
fast-export: add support for --import-marks-if-exists
fast-import: add support for new 'alias' command
fast-import: allow tags to be identified by mark labels
fast-import: fix handling of deleted tags
fast-export: fix exporting a tag and nothing else
Junio C Hamano [Tue, 15 Oct 2019 04:48:00 +0000 (13:48 +0900)]
Merge branch 'js/azure-pipelines-msvc'
CI updates.
* js/azure-pipelines-msvc:
ci: also build and test with MS Visual Studio on Azure Pipelines
ci: really use shallow clones on Azure Pipelines
tests: let --immediate and --write-junit-xml play well together
test-tool run-command: learn to run (parts of) the testsuite
vcxproj: include more generated files
vcxproj: only copy `git-remote-http.exe` once it was built
msvc: work around a bug in GetEnvironmentVariable()
msvc: handle DEVELOPER=1
msvc: ignore some libraries when linking
compat/win32/path-utils.h: add #include guards
winansi: use FLEX_ARRAY to avoid compiler warning
msvc: avoid using minus operator on unsigned types
push: do not pretend to return `int` from `die_push_simple()`
Junio C Hamano [Tue, 15 Oct 2019 04:48:00 +0000 (13:48 +0900)]
Merge branch 'gs/commit-graph-trace-with-cmd'
Dev support.
* gs/commit-graph-trace-with-cmd:
commit-graph: emit trace2 cmd_mode for each sub-command
Junio C Hamano [Tue, 15 Oct 2019 04:48:00 +0000 (13:48 +0900)]
Merge branch 'js/fetch-jobs'
"git fetch --jobs=<n>" allowed <n> parallel jobs when fetching
submodules, but this did not apply to "git fetch --multiple" that
fetches from multiple remote repositories. It now does.
* js/fetch-jobs:
fetch: let --jobs=<n> parallelize --multiple, too
Junio C Hamano [Tue, 15 Oct 2019 04:47:59 +0000 (13:47 +0900)]
Merge branch 'en/merge-recursive-cleanup'
The merge-recursive machiery is one of the most complex parts of
the system that accumulated cruft over time. This large series
cleans up the implementation quite a bit.
* en/merge-recursive-cleanup: (26 commits)
merge-recursive: fix the fix to the diff3 common ancestor label
merge-recursive: fix the diff3 common ancestor label for virtual commits
merge-recursive: alphabetize include list
merge-recursive: add sanity checks for relevant merge_options
merge-recursive: rename MERGE_RECURSIVE_* to MERGE_VARIANT_*
merge-recursive: split internal fields into a separate struct
merge-recursive: avoid losing output and leaking memory holding that output
merge-recursive: comment and reorder the merge_options fields
merge-recursive: consolidate unnecessary fields in merge_options
merge-recursive: move some definitions around to clean up the header
merge-recursive: rename merge_options argument to opt in header
merge-recursive: rename 'mrtree' to 'result_tree', for clarity
merge-recursive: use common name for ancestors/common/base_list
merge-recursive: fix some overly long lines
cache-tree: share code between functions writing an index as a tree
merge-recursive: don't force external callers to do our logging
merge-recursive: remove useless parameter in merge_trees()
merge-recursive: exit early if index != head
Ensure index matches head before invoking merge machinery, round N
merge-recursive: remove another implicit dependency on the_repository
...
René Scharfe [Sun, 13 Oct 2019 13:37:39 +0000 (15:37 +0200)]
remote-curl: use argv_array in parse_push()
Use argv_array to build an array of strings instead of open-coding it.
This simplifies the code a bit.
We also need to make the specs parameter of push(), push_dav() and
push_git() const to match the argv member of the argv_array. That's
fine, as all three only actually read from the specs array anyway.
Signed-off-by: René Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
René Scharfe [Sun, 13 Oct 2019 12:49:50 +0000 (14:49 +0200)]
column: use utf8_strnwidth() to strip out ANSI color escapes
Make use of utf8_strnwidth()'s feature to skip ANSI escape sequences
instead of open-coding it. This shortens the code and makes it more
consistent.
This changes the behavior, though: The old code skips all kinds of
Control Sequence Introducer sequences, while utf8_strnwidth() only skips
the Select Graphic Rendition kind, i.e. those ending with "m". They are
used for specifying color and font attributes like boldness. The only
other kind of escape sequence we print in Git is Erase in Line, ending
with "K". That's not used for columnar output, so this difference
actually doesn't matter here.
Signed-off-by: René Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
René Scharfe [Sun, 13 Oct 2019 12:49:17 +0000 (14:49 +0200)]
http-push: simplify deleting a list item
The first step for deleting an item from a linked list is to locate the
item preceding it. Be more careful in release_request() and handle an
empty list. This only has consequences for invalid delete requests
(removing the same item twice, or deleting an item that was never added
to the list), but simplifies the loop condition as well as the check
after the loop.
Once we found the item's predecessor in the list, update its next
pointer to skip over the item, which removes it from the list. In other
words: Make the item's successor the successor of its predecessor.
(At this point entry->next == request and prev->next == lock,
respectively.) This is a bit simpler and saves a pointer dereference.
Signed-off-by: René Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jakob Jarmar [Sat, 12 Oct 2019 15:38:29 +0000 (17:38 +0200)]
stash: avoid recursive hard reset on submodules
git stash push does not recursively stash submodules, but if
submodule.recurse is set, it may recursively reset --hard them. Having
only the destructive action recurse is likely to be surprising
behaviour, and unlikely to be desirable, so the easiest fix should be to
ensure that the call to git reset --hard never recurses into submodules.
This matches the behavior of check_changes_tracked_files, which ignores
submodules.
Signed-off-by: Jakob Jarmar <jakob@jarmar.se>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Bert Wesarg [Fri, 11 Oct 2019 08:36:41 +0000 (10:36 +0200)]
format-patch: create leading components of output directory
'git format-patch -o <outdir>' did an equivalent of 'mkdir <outdir>'
not 'mkdir -p <outdir>', which is being corrected.
Avoid the usage of 'adjust_shared_perm' on the leading directories which
may have security implications. Achieved by temporarily disabling of
'config.sharedRepository' like 'git init' does.
Signed-off-by: Bert Wesarg <bert.wesarg@googlemail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Beat Bolli [Fri, 11 Oct 2019 18:24:54 +0000 (20:24 +0200)]
git-compat-util: fix documentation syntax
The parameter marker for x was garbled in its introduction in
89c855ed3c
("git-compat-util.h: implement a different ARRAY_SIZE macro for for
safely deriving the size of array", 2015-04-30).
Signed-off-by: Beat Bolli <dev+git@drbeat.li>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Beat Bolli [Fri, 11 Oct 2019 18:41:23 +0000 (20:41 +0200)]
utf8: use ARRAY_SIZE() in git_wcwidth()
This macro has been available globally since
b4f2a6ac92 ("Use #define
ARRAY_SIZE(x) (sizeof(x)/sizeof(x[0]))", 2006-03-09), so let's use it.
Signed-off-by: Beat Bolli <dev+git@drbeat.li>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Denton Liu [Wed, 9 Oct 2019 20:43:46 +0000 (13:43 -0700)]
Makefile: respect $(V) in %.cocci.patch target
When the %.cocci.patch target was defined in
63f0a758a0 (add coccicheck
make target, 2016-09-15), it included a mechanism to suppress the noisy
output, similar to the $(QUIET_<x>) family of variables.
In the case where one wants to inspect the output hidden by
$(QUIET_<x>), one could define $(V) for verbose output. In the
%.cocci.patch target, this was not implemented.
Move the output suppression into the $(QUIET_SPATCH) variable which is
used like the other $(QUIET_<x>) variables. While we're at it, change
the number of spaces printed from 5 to 4, like the other variables
there.
Signed-off-by: Denton Liu <liu.denton@gmail.com>
Acked-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Denton Liu [Thu, 10 Oct 2019 19:37:04 +0000 (12:37 -0700)]
pthread.h: manually align parameter lists
In previous patches, extern was mechanically removed from function
declarations without care to formatting, causing parameter lists to be
misaligned. Manually format changed sections such that the parameter
lists are realigned.
Viewing this patch with 'git diff -w' should produce no output.
Signed-off-by: Denton Liu <liu.denton@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Tanay Abhra [Thu, 10 Oct 2019 12:35:34 +0000 (05:35 -0700)]
t1308-config-set: fix a test that has a typo
Change test 'find value_list for a key from a configset' to redirect the
result to 'expect' instead of 'except' which was a typo.
With this change, the test case actually fails because it uses
`configset_get_value`. Clearly, this was intended to be
`configset_get_value_multi` since the test expects a list of values
instead of a single value, so let's fix that, too.
Signed-off-by: Tanay Abhra <tanayabh@gmail.com>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Johannes Schindelin [Thu, 10 Oct 2019 10:06:41 +0000 (03:06 -0700)]
doc(stash): clarify the description of `save`
The original phrasing of this paragraph made at least one person stumble
over the word "from" (thinking that it was a typo and "from" was
intended), and other readers chimed in, agreeing that it was confusing:
https://public-inbox.org/git/
0102016b8d597569-
c1f6cfdc-cb45-4428-8737-
cb1bc30655d8-000000@eu-west-1.amazonses.com/#t
Let's rewrite that paragraph for clarity.
Inspired-by-a-patch-by: Catalin Criste <cris_linu_w@yahoo.com>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Fri, 11 Oct 2019 05:16:01 +0000 (14:16 +0900)]
Eighth batch
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Fri, 11 Oct 2019 05:24:48 +0000 (14:24 +0900)]
Merge branch 'dl/rev-list-doc-cleanup'
Doc update.
* dl/rev-list-doc-cleanup:
git-rev-list.txt: prune options in synopsis
Junio C Hamano [Fri, 11 Oct 2019 05:24:48 +0000 (14:24 +0900)]
Merge branch 'kt/add-i-progress'
"git add -i" has been taught to show the total number of hunks and
the hunks that has been processed so far when showing prompts.
* kt/add-i-progress:
add -i: show progress counter in the prompt
Junio C Hamano [Fri, 11 Oct 2019 05:24:48 +0000 (14:24 +0900)]
Merge branch 'js/stash-apply-in-secondary-worktree'
"git stash apply" in a subdirectory of a secondary worktree failed
to access the worktree correctly, which has been corrected.
* js/stash-apply-in-secondary-worktree:
stash apply: report status correctly even in a worktree's subdirectory
Junio C Hamano [Fri, 11 Oct 2019 05:24:48 +0000 (14:24 +0900)]
Merge branch 'rs/dedup-includes'
Code cleanup.
* rs/dedup-includes:
treewide: remove duplicate #include directives
Junio C Hamano [Fri, 11 Oct 2019 05:24:47 +0000 (14:24 +0900)]
Merge branch 'js/range-diff-noprefix'
"git range-diff" segfaulted when diff.noprefix configuration was
used, as it blindly expected the patch it internally generates to
have the standard a/ and b/ prefixes. The command now forces the
internal patch to be built without any prefix, not to be affected
by any end-user configuration.
* js/range-diff-noprefix:
range-diff: internally force `diff.noprefix=true`
Junio C Hamano [Fri, 11 Oct 2019 05:24:47 +0000 (14:24 +0900)]
Merge branch 'cb/pcre1-cleanup'
PCRE fixes.
* cb/pcre1-cleanup:
grep: refactor and simplify PCRE1 support
grep: make sure NO_LIBPCRE1_JIT disable JIT in PCRE1
Junio C Hamano [Fri, 11 Oct 2019 05:24:47 +0000 (14:24 +0900)]
Merge branch 'ab/pcre-jit-fixes'
A few simplification and bugfixes to PCRE interface.
* ab/pcre-jit-fixes:
grep: under --debug, show whether PCRE JIT is enabled
grep: do not enter PCRE2_UTF mode on fixed matching
grep: stess test PCRE v2 on invalid UTF-8 data
grep: create a "is_fixed" member in "grep_pat"
grep: consistently use "p->fixed" in compile_regexp()
grep: stop using a custom JIT stack with PCRE v1
grep: stop "using" a custom JIT stack with PCRE v2
grep: remove overly paranoid BUG(...) code
grep: use PCRE v2 for optimized fixed-string search
grep: remove the kwset optimization
grep: drop support for \0 in --fixed-strings <pattern>
grep: make the behavior for NUL-byte in patterns sane
grep tests: move binary pattern tests into their own file
grep tests: move "grep binary" alongside the rest
grep: inline the return value of a function call used only once
t4210: skip more command-line encoding tests on MinGW
grep: don't use PCRE2?_UTF8 with "log --encoding=<non-utf8>"
log tests: test regex backends in "--encode=<enc>" tests
Junio C Hamano [Fri, 11 Oct 2019 05:24:46 +0000 (14:24 +0900)]
Merge branch 'pw/rebase-i-show-HEAD-to-reword'
"git rebase -i" showed a wrong HEAD while "reword" open the editor.
* pw/rebase-i-show-HEAD-to-reword:
sequencer: simplify root commit creation
rebase -i: check for updated todo after squash and reword
rebase -i: always update HEAD before rewording
Junio C Hamano [Fri, 11 Oct 2019 05:24:46 +0000 (14:24 +0900)]
Merge branch 'tk/git-svn-trim-author-name'
The author names taken from SVN repositories may have extra leading
or trailing whitespaces, which are now munged away.
* tk/git-svn-trim-author-name:
git-svn: trim leading and trailing whitespaces in author name
Junio C Hamano [Fri, 11 Oct 2019 05:24:46 +0000 (14:24 +0900)]
Merge branch 'bc/object-id-part17'
Preparation for SHA-256 upgrade continues.
* bc/object-id-part17: (26 commits)
midx: switch to using the_hash_algo
builtin/show-index: replace sha1_to_hex
rerere: replace sha1_to_hex
builtin/receive-pack: replace sha1_to_hex
builtin/index-pack: replace sha1_to_hex
packfile: replace sha1_to_hex
wt-status: convert struct wt_status to object_id
cache: remove null_sha1
builtin/worktree: switch null_sha1 to null_oid
builtin/repack: write object IDs of the proper length
pack-write: use hash_to_hex when writing checksums
sequencer: convert to use the_hash_algo
bisect: switch to using the_hash_algo
sha1-lookup: switch hard-coded constants to the_hash_algo
config: use the_hash_algo in abbrev comparison
combine-diff: replace GIT_SHA1_HEXSZ with the_hash_algo
bundle: switch to use the_hash_algo
connected: switch GIT_SHA1_HEXSZ to the_hash_algo
show-index: switch hard-coded constants to the_hash_algo
blame: remove needless comparison with GIT_SHA1_HEXSZ
...
Junio C Hamano [Fri, 11 Oct 2019 05:24:45 +0000 (14:24 +0900)]
Merge branch 'en/clean-nested-with-ignored'
"git clean" fixes.
* en/clean-nested-with-ignored:
dir: special case check for the possibility that pathspec is NULL
clean: fix theoretical path corruption
clean: rewrap overly long line
clean: avoid removing untracked files in a nested git repository
clean: disambiguate the definition of -d
git-clean.txt: do not claim we will delete files with -n/--dry-run
dir: add commentary explaining match_pathspec_item's return value
dir: if our pathspec might match files under a dir, recurse into it
dir: make the DO_MATCH_SUBMODULE code reusable for a non-submodule case
dir: also check directories for matching pathspecs
dir: fix off-by-one error in match_pathspec_item
dir: fix typo in comment
t7300: add testcases showing failure to clean specified pathspecs
Jeff King [Thu, 26 Sep 2019 07:20:46 +0000 (03:20 -0400)]
CODE_OF_CONDUCT: mention individual project-leader emails
It's possible that somebody on the project committee is the subject of a
complaint. In that case, it may be useful to be able to contact the
other members individually, so let's make it clear that's an option.
This also serves to enumerate the set of people on the committee. That
lets you easily _know_ if you're in the situation mentioned above. And
it's just convenient to list who's involved in the process, since the
project committee list is not anywhere else in the repository.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jeff King [Tue, 24 Sep 2019 06:44:54 +0000 (02:44 -0400)]
add a Code of Conduct document
We've never had a formally written Code of Conduct document. Though it
has been discussed off and on over the years, for the most part the
behavior on the mailing list has been good enough that nobody felt the
need to push one forward.
However, even if there aren't specific problems now, it's a good idea to
have a document:
- it puts everybody on the same page with respect to expectations.
This might avoid poor behavior, but also makes it easier to handle
it if it does happen.
- it publicly advertises that good conduct is important to us and will
be enforced, which may make some people more comfortable with
joining our community
- it may be a good time to cement our expectations when things are
quiet, since it gives everybody some distance rather than focusing
on a current contentious issue
This patch adapts the Contributor Covenant Code of Conduct. As opposed
to writing our own from scratch, this uses common and well-accepted
language, and strikes a good balance between illustrating expectations
and avoiding a laundry list of behaviors. It's also the same document
used by the Git for Windows project.
The text is taken mostly verbatim from:
https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
I also stole a very nice introductory paragraph from the Git for Windows
version of the file.
There are a few subtle points, though:
- the document refers to "the project maintainers". For the code, we
generally only consider there to be one maintainer: Junio C Hamano.
But for dealing with community issues, it makes sense to involve
more people to spread the responsibility. I've listed the project
committee address of git@sfconservancy.org as the contact point.
- the document mentions banning from the community, both in the intro
paragraph and in "Our Responsibilities". The exact mechanism here is
left vague. I can imagine it might start with social enforcement
(not accepting patches, ignoring emails) and could escalate to
technical measures if necessary (asking vger admins to block an
address). It probably make sense _not_ to get too specific at this
point, and deal with specifics as they come up.
Signed-off-by: Jeff King <peff@peff.net>
Acked-by: CB Bailey <cb@hashpling.org>
Acked-by: Christian Couder <chriscool@tuxfamily.org>
Acked-by: Emily Shaffer <emilyshaffer@google.com>
Acked-by: Garima Singh <garimasigit@gmail.com>
Acked-by: Junio C Hamano <gitster@pobox.com>
Acked-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Acked-by: Jonathan Tan <jonathantanmy@google.com>
Acked-by: Jonathan Nieder <jrnieder@gmail.com>
Acked-by: Taylor Blau <me@ttaylorr.com>
Acked-by: Elijah Newren <newren@gmail.com>
Acked-by: Phillip Wood <phillip.wood@dunelm.org.uk>
Acked-by: brian m. carlson <sandals@crustytoothpaste.net>
Acked-by: Derrick Stolee <stolee@gmail.com>
Acked-by: Thomas Gummerer <t.gummerer@gmail.com>
Acked-by: William Baker <williamtbakeremail@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 9 Oct 2019 05:02:58 +0000 (14:02 +0900)]
Seventh batch
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 9 Oct 2019 05:01:01 +0000 (14:01 +0900)]
Merge branch 'rs/test-remove-useless-debugging-cat'
Code cleanup.
* rs/test-remove-useless-debugging-cat:
tests: remove "cat foo" before "test_i18ngrep bar foo"
Junio C Hamano [Wed, 9 Oct 2019 05:01:00 +0000 (14:01 +0900)]
Merge branch 'pm/p4-auto-delete-named-temporary'
* pm/p4-auto-delete-named-temporary:
git-p4: auto-delete named temporary file
Junio C Hamano [Wed, 9 Oct 2019 05:01:00 +0000 (14:01 +0900)]
Merge branch 'rs/convert-fix-utf-without-dash'
The code to skip "UTF" and "UTF-" prefix, when computing an advice
message, did not work correctly when the prefix was "UTF", which
has been fixed.
* rs/convert-fix-utf-without-dash:
convert: fix handling of dashless UTF prefix in validate_encoding()
Junio C Hamano [Wed, 9 Oct 2019 05:01:00 +0000 (14:01 +0900)]
Merge branch 'py/git-gui-has-maintainer'
Doc update.
* py/git-gui-has-maintainer:
Documentation: update the location of the git-gui repo
Junio C Hamano [Wed, 9 Oct 2019 05:01:00 +0000 (14:01 +0900)]
Merge branch 'ah/cleanups'
Miscellaneous code clean-ups.
* ah/cleanups:
git_mkstemps_mode(): replace magic numbers with computed value
wrapper: use a loop instead of repetitive statements
diffcore-break: use a goto instead of a redundant if statement
commit-graph: remove a duplicate assignment
Junio C Hamano [Wed, 9 Oct 2019 05:00:59 +0000 (14:00 +0900)]
Merge branch 'js/diff-rename-force-stable-sort'
The rename detection logic sorts a list of rename source candidates
by similarity to pick the best candidate, which means that a tie
between sources with the same similarity is broken by the original
location in the original candidate list (which is sorted by path).
Force the sorting by similarity done with a stable sort, which is
not promised by system supplied qsort(3), to ensure consistent
results across platforms.
* js/diff-rename-force-stable-sort:
diffcore_rename(): use a stable sort
Move git_sort(), a stable sort, into into libgit.a
Junio C Hamano [Wed, 9 Oct 2019 05:00:59 +0000 (14:00 +0900)]
Merge branch 'js/mingw-spawn-with-spaces-in-path'
Test fix.
* js/mingw-spawn-with-spaces-in-path:
t0061: fix test for argv[0] with spaces (MINGW only)
Junio C Hamano [Wed, 9 Oct 2019 05:00:59 +0000 (14:00 +0900)]
Merge branch 'as/shallow-slab-use-fix'
Correct code that tried to reference all entries in a sparse array
of pointers by mistake.
* as/shallow-slab-use-fix:
shallow.c: don't free unallocated slabs
Junio C Hamano [Wed, 9 Oct 2019 05:00:58 +0000 (14:00 +0900)]
Merge branch 'sg/name-rev-cutoff-underflow-fix'
Integer arithmetic fix.
* sg/name-rev-cutoff-underflow-fix:
name-rev: avoid cutoff timestamp underflow
Junio C Hamano [Wed, 9 Oct 2019 05:00:58 +0000 (14:00 +0900)]
Merge branch 'am/visual-studio-config-fix'
Dev support.
* am/visual-studio-config-fix:
contrib/buildsystems: fix Visual Studio Debug configuration
Johannes Schindelin [Tue, 8 Oct 2019 18:27:52 +0000 (11:27 -0700)]
xdiffi: fix typos and touch up comments
Inspired by the thoroughly stale https://github.com/git/git/pull/159,
this patch fixes a couple of typos, rewraps and clarifies some comments.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Denton Liu [Tue, 8 Oct 2019 09:22:47 +0000 (02:22 -0700)]
t0000: cover GIT_SKIP_TESTS blindspots
Currently, the tests for GIT_SKIP_TESTS do not cover the situation where
we skip an entire test suite. The tests also do not cover the situation
where we have GIT_SKIP_TESTS defined but the test suite does not match.
Add two test cases so we cover this blindspot.
Signed-off-by: Denton Liu <liu.denton@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jonathan Tan [Tue, 8 Oct 2019 18:37:39 +0000 (11:37 -0700)]
send-pack: never fetch when checking exclusions
When building the packfile to be sent, send_pack() is given a list of
remote refs to be used as exclusions. For each ref, it first checks if
the ref exists locally, and if it does, passes it with a "^" prefix to
pack-objects. However, in a partial clone, the check may trigger a lazy
fetch.
The additional commit ancestry information obtained during such fetches
may show that certain objects that would have been sent are already
known to the server, resulting in a smaller pack being sent. But this is
at the cost of fetching from many possibly unrelated refs, and the lazy
fetches do not help at all in the typical case where the client is
up-to-date with the upstream of the branch being pushed.
Ensure that these lazy fetches do not occur.
Signed-off-by: Jonathan Tan <jonathantanmy@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Denton Liu [Tue, 8 Oct 2019 09:14:11 +0000 (02:14 -0700)]
t4014: treat rev-list output as the expected value
In
6bd26f58ea (t4014: use test_line_count() where possible, 2019-08-27),
we converted many test cases to take advantage of the test_line_count()
function. In one conversion, we inverted the expected and actual value
as tested by test_line_count(). Although functionally correct, if
format-patch ever produced incorrect output, the debugging output would
be a bunch of hashes which would be difficult to debug.
Invert the expected and actual values provided to test_line_count() so
that if format-patch produces incorrect output, the debugging output
will be a list of human-readable files instead.
Helped-by: SZEDER Gábor <szeder.dev@gmail.com>
Signed-off-by: Denton Liu <liu.denton@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Thomas Gummerer [Tue, 8 Oct 2019 17:38:43 +0000 (18:38 +0100)]
range-diff: don't segfault with mode-only changes
In
ef283b3699 ("apply: make parse_git_diff_header public", 2019-07-11)
the 'parse_git_diff_header' function was made public and useable by
callers outside of apply.c.
However it was missed that its (then) only caller, 'find_header' did
some error handling, and completing 'struct patch' appropriately.
range-diff then started using this function, and tried to handle this
appropriately itself, but fell short in some cases. This in turn
would lead to range-diff segfaulting when there are mode-only changes
in a range.
Move the error handling and completing of the struct into the
'parse_git_diff_header' function, so other callers can take advantage
of it. This fixes the segfault in 'git range-diff'.
Reported-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Thomas Gummerer <t.gummerer@gmail.com>
Acked-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 8 Oct 2019 04:18:24 +0000 (13:18 +0900)]
transport: push codepath can take arbitrary repository
The previous step added annotations with "the_repository" to various
functions in the push codepath in the transport layer, but they all
can take arbitrary repository pointer, and may be working on a
repository that is not the_repository. Fix them.
Signed-off-by: Josh Steadmon <steadmon@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Garima Singh [Mon, 7 Oct 2019 19:38:56 +0000 (12:38 -0700)]
sq_quote_buf_pretty: don't drop empty arguments
Empty arguments passed on the command line can be represented by
a '', however sq_quote_buf_pretty was incorrectly dropping these
arguments altogether. Fix this problem by ensuring that such
arguments are emitted as '' instead.
Signed-off-by: Garima Singh <garima.singh@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Elijah Newren [Mon, 7 Oct 2019 15:52:11 +0000 (08:52 -0700)]
merge-recursive: fix the fix to the diff3 common ancestor label
In commit
8e4ec337 ("merge-recursive: fix the diff3 common ancestor
label for virtual commits", 2019-10-01), which was a fix to commit
743474cbfa8b ("merge-recursive: provide a better label for diff3
common ancestor", 2019-08-17), the label for the common ancestor was
changed from always being
"merged common ancestors"
to instead be based on the number of merge bases and whether the merge
base was a real commit or a virtual one:
>=2: "merged common ancestors"
1, via merge_recursive_generic: "constructed merge base"
1, otherwise: <abbreviated commit hash>
0: "<empty tree>"
The handling for "constructed merge base" worked by allowing
opt->ancestor to be set in merge_recursive_generic(), so we paid
attention to the setting of that variable in merge_recursive_internal().
Now, for the outer merge, the code flow was simply the following:
ancestor_name = "merged merge bases"
loop over merge_bases: merge_recursive_internal()
The first merge base not needing recursion would determine its own
ancestor_name however necessary and thus run
ancestor_name = $SOMETHING
empty loop over merge_bases...
opt->ancestor = ancestor_name
merge_trees_internal()
Now, the next set of merge_bases that would need to be merged after this
particular merge had completed would note that opt->ancestor has been
set to something (to a local ancestor_name variable that has since been
popped off the stack), and thus it would run:
... else if (opt->ancestor) {
ancestor_name = opt->ancestor; /* OOPS! */
loop over merge_bases: merge_recursive_internal()
opt->ancestor = ancestor_name
merge_trees_internal()
This resulted in garbage strings being printed for the virtual merge
bases, which was visible in git.git by just merging commit
b744c3af07
into commit
6d8cb22a4f. There are two ways to fix this: set
opt->ancestor to NULL after using it to avoid re-use, or add a
!opt->priv->call_depth check to the if block for using a pre-defined
opt->ancestor. Apply both fixes.
Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 7 Oct 2019 02:33:44 +0000 (11:33 +0900)]
Sixth batch
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 7 Oct 2019 02:33:03 +0000 (11:33 +0900)]
Merge branch 'bw/submodule-helper-usage-fix'
Typofix.
* bw/submodule-helper-usage-fix:
builtin/submodule--helper: fix usage string for 'update-clone'
Junio C Hamano [Mon, 7 Oct 2019 02:33:02 +0000 (11:33 +0900)]
Merge branch 'dl/honor-cflags-in-hdr-check'
Dev support.
* dl/honor-cflags-in-hdr-check:
ci: run `hdr-check` as part of the `Static Analysis` job
Makefile: emulate compile in $(HCO) target better
pack-bitmap.h: remove magic number
promisor-remote.h: include missing header
apply.h: include missing header
Junio C Hamano [Mon, 7 Oct 2019 02:33:02 +0000 (11:33 +0900)]
Merge branch 'cb/do-not-use-test-cmp-with-a'
Test portability fix.
* cb/do-not-use-test-cmp-with-a:
t4038: Remove non-portable '-a' option passed to test_cmp
Junio C Hamano [Mon, 7 Oct 2019 02:33:02 +0000 (11:33 +0900)]
Merge branch 'cc/multi-promisor'
Cleanup.
* cc/multi-promisor:
promisor-remote: skip move_to_tail when no-op
promisor-remote.h: drop extern from function declaration
Junio C Hamano [Mon, 7 Oct 2019 02:33:02 +0000 (11:33 +0900)]
Merge branch 'jt/merge-recursive-symlink-is-not-a-dir-in-way'
A bug in merge-recursive code that triggers when a branch with a
symbolic link is merged with a branch that replaces it with a
directory has been fixed.
* jt/merge-recursive-symlink-is-not-a-dir-in-way:
merge-recursive: symlink's descendants not in way
Junio C Hamano [Mon, 7 Oct 2019 02:33:01 +0000 (11:33 +0900)]
Merge branch 'ps/my-first-contribution-alphasort'
Docfix.
* ps/my-first-contribution-alphasort:
doc: MyFirstContribution: fix cmd placement instructions
Junio C Hamano [Mon, 7 Oct 2019 02:33:01 +0000 (11:33 +0900)]
Merge branch 'sg/travis-help-debug'
Dev support update.
* sg/travis-help-debug:
travis-ci: do not skip successfully tested trees in debug mode
Junio C Hamano [Mon, 7 Oct 2019 02:33:01 +0000 (11:33 +0900)]
Merge branch 'rs/alias-use-copy-array'
Code cleanup.
* rs/alias-use-copy-array:
git: use COPY_ARRAY and MOVE_ARRAY in handle_alias()
Junio C Hamano [Mon, 7 Oct 2019 02:33:00 +0000 (11:33 +0900)]
Merge branch 'sg/t-helper-gitignore'
Update the way build artifacts in t/helper/ directory are ignored.
* sg/t-helper-gitignore:
t/helper: ignore only executable files
Junio C Hamano [Mon, 7 Oct 2019 02:33:00 +0000 (11:33 +0900)]
Merge branch 'cc/svn-fe-py-shebang'
* cc/svn-fe-py-shebang:
contrib/svn-fe: fix shebang for svnrdump_sim.py
Junio C Hamano [Mon, 7 Oct 2019 02:33:00 +0000 (11:33 +0900)]
Merge branch 'ah/doc-submodule-ignore-submodules'
Docfix.
* ah/doc-submodule-ignore-submodules:
doc: fix reference to --ignore-submodules
Junio C Hamano [Mon, 7 Oct 2019 02:32:59 +0000 (11:32 +0900)]
Merge branch 'rs/nth-switch-code-simplification'
Code simplification.
* rs/nth-switch-code-simplification:
sha1_name: simplify strbuf handling in interpret_nth_prior_checkout()
Junio C Hamano [Mon, 7 Oct 2019 02:32:59 +0000 (11:32 +0900)]
Merge branch 'hb/hg-to-git-py3'
The hg-to-git script (in contrib/) has been updated to work with
Python 3.
* hb/hg-to-git-py3:
hg-to-git: make it compatible with both python3 and python2
Junio C Hamano [Mon, 7 Oct 2019 02:32:59 +0000 (11:32 +0900)]
Merge branch 'sg/progress-fix'
Regression fix for progress output.
* sg/progress-fix:
Test the progress display
Revert "progress: use term_clear_line()"
Junio C Hamano [Mon, 7 Oct 2019 02:32:59 +0000 (11:32 +0900)]
Merge branch 'js/doc-patch-text'
Docfix.
* js/doc-patch-text:
diff, log doc: small grammer, format, and language fixes
diff, log doc: say "patch text" instead of "patches"
Junio C Hamano [Mon, 7 Oct 2019 02:32:58 +0000 (11:32 +0900)]
Merge branch 'tb/commit-graph-harden'
The code to parse and use the commit-graph file has been made more
robust against corrupted input.
* tb/commit-graph-harden:
commit-graph.c: handle corrupt/missing trees
commit-graph.c: handle commit parsing errors
t/t5318: introduce failing 'git commit-graph write' tests