gitweb.git
Merge branch 'jc/log-mailmap-flip-defaults'Junio C Hamano Fri, 2 Aug 2019 20:12:02 +0000 (13:12 -0700)

Merge branch 'jc/log-mailmap-flip-defaults'

Hotfix for making "git log" use the mailmap by default.

* jc/log-mailmap-flip-defaults:
log: really flip the --mailmap default
log: flip the --mailmap default unconditionally

Merge branch 'js/early-config-with-onbranch'Junio C Hamano Fri, 2 Aug 2019 20:12:02 +0000 (13:12 -0700)

Merge branch 'js/early-config-with-onbranch'

The recently added [includeif "onbranch:branch"] feature does not
work well with an early config mechanism, as it attempts to find
out what branch we are on before we even haven't located the git
repository. The inclusion during early config scan is ignored to
work around this issue.

* js/early-config-with-onbranch:
config: work around bug with includeif:onbranch and early config

log: really flip the --mailmap defaultJunio C Hamano Thu, 1 Aug 2019 21:48:34 +0000 (14:48 -0700)

log: really flip the --mailmap default

Update the docs, test the interaction between the new default,
configuration and command line option, in addition to actually
flipping the default.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'jk/repack-silence-auto-bitmap-warning'Junio C Hamano Thu, 1 Aug 2019 16:10:50 +0000 (09:10 -0700)

Merge branch 'jk/repack-silence-auto-bitmap-warning'

Squelch unneeded and misleading warnings from "repack" when the
command attempts to generate pack bitmaps without explicitly asked
for by the user.

* jk/repack-silence-auto-bitmap-warning:
repack: simplify handling of auto-bitmaps and .keep files
repack: silence warnings when auto-enabled bitmaps cannot be built
t7700: clean up .keep file in bitmap-writing test

Merge branch 'jk/sort-iter-test-output'Junio C Hamano Thu, 1 Aug 2019 16:10:50 +0000 (09:10 -0700)

Merge branch 'jk/sort-iter-test-output'

* jk/sort-iter-test-output:
t: sort output of hashmap iteration

Merge branch 'jc/dir-iterator-test-fix'Junio C Hamano Thu, 1 Aug 2019 16:10:49 +0000 (09:10 -0700)

Merge branch 'jc/dir-iterator-test-fix'

* jc/dir-iterator-test-fix:
test-dir-iterator: do not assume errno values

Merge branch 'bc/hash-independent-tests-part-4'Junio C Hamano Thu, 1 Aug 2019 16:10:49 +0000 (09:10 -0700)

Merge branch 'bc/hash-independent-tests-part-4'

Update to the tests to help SHA-256 transition continues.

* bc/hash-independent-tests-part-4:
t2203: avoid hard-coded object ID values
t1710: make hash independent
t1007: remove SHA1 prerequisites
t0090: make test pass with SHA-256
t0027: make hash size independent
t6030: make test work with SHA-256
t5000: make hash independent
t1450: make hash size independent
t1410: make hash size independent
t: add helper to convert object IDs to paths

RelNotes/2.23.0: fix a few typos and other minor issuesMartin Ågren Thu, 1 Aug 2019 14:12:20 +0000 (16:12 +0200)

RelNotes/2.23.0: fix a few typos and other minor issues

Fix the spelling of the new "--no-show-forced-updates" option that "git
fetch/pull" learned. Similarly, spell "--function-context" correctly and
fix a few typos, grammos and minor mistakes.

Signed-off-by: Martin Ågren <martin.agren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Sync with maintJunio C Hamano Thu, 1 Aug 2019 16:00:46 +0000 (09:00 -0700)

Sync with maint

* maint:
RelNotes/2.21.1: typofix

RelNotes/2.21.1: typofixMartin Ågren Thu, 1 Aug 2019 14:12:20 +0000 (16:12 +0200)

RelNotes/2.21.1: typofix

Signed-off-by: Martin Ågren <martin.agren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

log: flip the --mailmap default unconditionallyJunio C Hamano Thu, 1 Aug 2019 15:32:44 +0000 (08:32 -0700)

log: flip the --mailmap default unconditionally

It turns out that being cautious to warn against upcoming default
change was an unpopular behaviour, and such a care can easily be
defeated by distro packagers to render it ineffective anyway.

Just flip the default, with only a mention in the release notes.

Signed-off-by: Junio C Hamano <gitster@pobox.com>

config: work around bug with includeif:onbranch and... Johannes Schindelin Wed, 31 Jul 2019 20:06:42 +0000 (13:06 -0700)

config: work around bug with includeif:onbranch and early config

Since 07b2c0eacac (config: learn the "onbranch:" includeIf condition,
2019-06-05), there is a potential catch-22 in the early config path: if
the `include.onbranch:` feature is used, Git assumes that the Git
directory has been initialized already. However, in the early config
code path that is not true.

One way to trigger this is to call the following commands in any
repository:

git config includeif.onbranch:refs/heads/master.path broken
git help -a

The symptom triggered by the `git help -a` invocation reads like this:

BUG: refs.c:1851: attempting to get main_ref_store outside of repository

Let's work around this, simply by ignoring the `includeif.onbranch:`
setting when parsing the config when the ref store has not been
initialized (yet).

Technically, there is a way to solve this properly: teach the refs
machinery to initialize the ref_store from a given gitdir/commondir pair
(which we _do_ have in the early config code path), and then use that in
`include_by_branch()`. This, however, is a pretty involved project, and
we're already in the feature freeze for Git v2.23.0.

Note: when calling above-mentioned two commands _outside_ of any Git
worktree (passing the `--global` flag to `git config`, as there is
obviously no repository config available), at the point when
`include_by_branch()` is called, `the_repository` is `NULL`, therefore
we have to be extra careful not to dereference it in that case.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

A few more last-minute fixesJunio C Hamano Wed, 31 Jul 2019 21:45:42 +0000 (14:45 -0700)

A few more last-minute fixes

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'cb/xdiff-no-system-includes-in-dot-c'Junio C Hamano Wed, 31 Jul 2019 21:38:56 +0000 (14:38 -0700)

Merge branch 'cb/xdiff-no-system-includes-in-dot-c'

Compilation fix.

* cb/xdiff-no-system-includes-in-dot-c:
xdiff: remove duplicate headers from xpatience.c
xdiff: remove duplicate headers from xhistogram.c
xdiff: drop system includes in xutils.c

Merge branch 'jk/no-system-includes-in-dot-c'Junio C Hamano Wed, 31 Jul 2019 21:38:56 +0000 (14:38 -0700)

Merge branch 'jk/no-system-includes-in-dot-c'

Compilation fix.

* jk/no-system-includes-in-dot-c:
wt-status.h: drop stdio.h include
verify-tag: drop signal.h include

repack: simplify handling of auto-bitmaps and .keep... Jeff King Wed, 31 Jul 2019 05:40:56 +0000 (01:40 -0400)

repack: simplify handling of auto-bitmaps and .keep files

Commit 7328482253 (repack: disable bitmaps-by-default if .keep files
exist, 2019-06-29) taught repack to prefer disabling bitmaps to
duplicating objects (unless bitmaps were asked for explicitly).

But there's an easier way to do this: if we keep passing the
--honor-pack-keep flag to pack-objects when auto-enabling bitmaps, then
pack-objects already makes the same decision (it will disable bitmaps
rather than duplicate). Better still, pack-objects can actually decide
to do so based not just on the presence of a .keep file, but on whether
that .keep file actually impacts the new pack we're making (so if we're
racing with a push or fetch, for example, their temporary .keep file
will not block us from generating bitmaps if they haven't yet updated
their refs).

And because repack uses the --write-bitmap-index-quiet flag, we don't
have to worry about pack-objects generating confusing warnings when it
does see a .keep file. We can confirm this by tweaking the .keep test to
check repack's stderr.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

repack: silence warnings when auto-enabled bitmaps... Jeff King Wed, 31 Jul 2019 05:39:27 +0000 (01:39 -0400)

repack: silence warnings when auto-enabled bitmaps cannot be built

Depending on various config options, a full repack may not be able to
build a reachability bitmap index (e.g., if pack.packSizeLimit forces us
to write multiple packs). In these cases pack-objects may write a
warning to stderr.

Since 36eba0323d (repack: enable bitmaps by default on bare repos,
2019-03-14), we may generate these warnings even when the user did not
explicitly ask for bitmaps. This has two downsides:

- it can be confusing, if they don't know what bitmaps are

- a daemonized auto-gc will write this to its log file, and the
presence of the warning may suppress further auto-gc (until
gc.logExpiry has elapsed)

Let's have repack communicate to pack-objects that the choice to turn on
bitmaps was not made explicitly by the user, which in turn allows
pack-objects to suppress these warnings.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t7700: clean up .keep file in bitmap-writing testJeff King Wed, 31 Jul 2019 05:37:36 +0000 (01:37 -0400)

t7700: clean up .keep file in bitmap-writing test

After our test snippet finishes, the .keep file is left in place, making
it hard to do further tests of the auto-bitmap-writing code (since it
suppresses the feature completely). Let's clean it up.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t: sort output of hashmap iterationJeff King Wed, 31 Jul 2019 01:23:37 +0000 (21:23 -0400)

t: sort output of hashmap iteration

The iteration order of a hashmap is undefined, and may depend on things
like the exact set of items added, or the table has been grown or
shrunk. In the case of an oidmap, it even depends on endianness, because
we take the oid hash by casting sha1 bytes directly into an unsigned
int.

Let's sort the test-tool output from any hash iterators. In the case of
t0011, this is just future-proofing. But for t0016, it actually fixes a
reported failure on the big-endian s390 and nonstop ports.

I didn't bother to teach the helper functions to optionally sort output.
They are short enough that it's simpler to just repeat them inline for
the iteration tests than it is to add a --sort option.

Reported-by: Randall S. Becker <rsbecker@nexbridge.com>
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

test-dir-iterator: do not assume errno valuesJunio C Hamano Tue, 30 Jul 2019 17:45:48 +0000 (10:45 -0700)

test-dir-iterator: do not assume errno values

A few tests printed 'errno' as an integer and compared with
hardcoded integers; this is obviously not portable.

A two things to note are:

- the string obtained by strerror() is not portable, and cannot be
used for the purpose of these tests.

- there unfortunately isn't a portable way to map error numbers to
error names.

As we only care about a few selected errors, just map the error
number to the name before emitting for comparison.

Reported-by: Randall S. Becker <rsbecker@nexbridge.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Git 2.23-rc0 v2.23.0-rc0Junio C Hamano Mon, 29 Jul 2019 19:51:24 +0000 (12:51 -0700)

Git 2.23-rc0

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Sync with maintJunio C Hamano Mon, 29 Jul 2019 19:40:42 +0000 (12:40 -0700)

Sync with maint

* maint:
Merge fixes made on the 'master' front

Merge branch 'js/rebase-cleanup'Junio C Hamano Mon, 29 Jul 2019 19:39:13 +0000 (12:39 -0700)

Merge branch 'js/rebase-cleanup'

A few leftover cleanup to "git rebase" in C.

* js/rebase-cleanup:
git: mark cmd_rebase as requiring a worktree
rebase: fix white-space

Merge branch 'jk/xdiff-clamp-funcname-context-index'Junio C Hamano Mon, 29 Jul 2019 19:39:13 +0000 (12:39 -0700)

Merge branch 'jk/xdiff-clamp-funcname-context-index'

The internal diff machinery can be made to read out of bounds while
looking for --funcion-context line in a corner case, which has been
corrected.

* jk/xdiff-clamp-funcname-context-index:
xdiff: clamp function context indices in post-image

Merge branch 'sg/travis-gcc-4.8'Junio C Hamano Mon, 29 Jul 2019 19:39:13 +0000 (12:39 -0700)

Merge branch 'sg/travis-gcc-4.8'

Add a job to build with a tad older GCC to make sure we are still
buildable.

* sg/travis-gcc-4.8:
travis-ci: build with GCC 4.8 as well

Merge branch 'bb/grep-pcre2-bug-message-fix'Junio C Hamano Mon, 29 Jul 2019 19:39:13 +0000 (12:39 -0700)

Merge branch 'bb/grep-pcre2-bug-message-fix'

BUG() message fix.

The codepath may want to just simply be removed, though.

* bb/grep-pcre2-bug-message-fix:
grep: print the pcre2_jit_on value

Merge fixes made on the 'master' frontJunio C Hamano Mon, 29 Jul 2019 18:14:47 +0000 (11:14 -0700)

Merge fixes made on the 'master' front

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'jc/post-c89-rules-doc' into maintJunio C Hamano Mon, 29 Jul 2019 19:38:23 +0000 (12:38 -0700)

Merge branch 'jc/post-c89-rules-doc' into maint

We have been trying out a few language features outside c89; the
coding guidelines document did not talk about them and instead had
a blanket ban against them.

* jc/post-c89-rules-doc:
CodingGuidelines: spell out post-C89 rules

Merge branch 'fc/fetch-with-import-fix' into maintJunio C Hamano Mon, 29 Jul 2019 19:38:23 +0000 (12:38 -0700)

Merge branch 'fc/fetch-with-import-fix' into maint

Code restructuring during 2.20 period broke fetching tags via
"import" based transports.

* fc/fetch-with-import-fix:
fetch: fix regression with transport helpers
fetch: make the code more understandable
fetch: trivial cleanup
t5801 (remote-helpers): add test to fetch tags
t5801 (remote-helpers): cleanup refspec stuff

Merge branch 'ds/close-object-store' into maintJunio C Hamano Mon, 29 Jul 2019 19:38:22 +0000 (12:38 -0700)

Merge branch 'ds/close-object-store' into maint

The commit-graph file is now part of the "files that the runtime
may keep open file descriptors on, all of which would need to be
closed when done with the object store", and the file descriptor to
an existing commit-graph file now is closed before "gc" finalizes a
new instance to replace it.

* ds/close-object-store:
packfile: rename close_all_packs to close_object_store
packfile: close commit-graph in close_all_packs
commit-graph: use raw_object_store when closing
commit-graph: extract write_commit_graph_file()
commit-graph: extract copy_oids_to_commits()
commit-graph: extract count_distinct_commits()
commit-graph: extract fill_oids_from_all_packs()
commit-graph: extract fill_oids_from_commit_hex()
commit-graph: extract fill_oids_from_packs()
commit-graph: create write_commit_graph_context
commit-graph: remove Future Work section
commit-graph: collapse parameters into flags
commit-graph: return with errors during write
commit-graph: fix the_repository reference

Merge branch 'pw/add-p-recount' into maintJunio C Hamano Mon, 29 Jul 2019 19:38:22 +0000 (12:38 -0700)

Merge branch 'pw/add-p-recount' into maint

"git checkout -p" needs to selectively apply a patch in reverse,
which did not work well.

* pw/add-p-recount:
add -p: fix checkout -p with pathological context

Merge branch 'rs/avoid-overflow-in-midpoint-computation... Junio C Hamano Mon, 29 Jul 2019 19:38:21 +0000 (12:38 -0700)

Merge branch 'rs/avoid-overflow-in-midpoint-computation' into maint

Code clean-up to avoid signed integer overlaps during binary search.

* rs/avoid-overflow-in-midpoint-computation:
cleanup: fix possible overflow errors in binary search, part 2

Merge branch 'jk/trailers-use-config' into maintJunio C Hamano Mon, 29 Jul 2019 19:38:21 +0000 (12:38 -0700)

Merge branch 'jk/trailers-use-config' into maint

"git interpret-trailers" always treated '#' as the comment
character, regardless of core.commentChar setting, which has been
corrected.

* jk/trailers-use-config:
interpret-trailers: load default config

Merge branch 'tg/stash-ref-by-index-fix' into maintJunio C Hamano Mon, 29 Jul 2019 19:38:20 +0000 (12:38 -0700)

Merge branch 'tg/stash-ref-by-index-fix' into maint

"git stash show 23" used to work, but no more after getting
rewritten in C; this regression has been corrected.

* tg/stash-ref-by-index-fix:
stash: fix show referencing stash index

Merge branch 'pw/rebase-abort-clean-rewritten' into... Junio C Hamano Mon, 29 Jul 2019 19:38:20 +0000 (12:38 -0700)

Merge branch 'pw/rebase-abort-clean-rewritten' into maint

"git rebase --abort" used to leave refs/rewritten/ when concluding
"git rebase -r", which has been corrected.

* pw/rebase-abort-clean-rewritten:
rebase --abort/--quit: cleanup refs/rewritten
sequencer: return errors from sequencer_remove_state()
rebase: warn if state directory cannot be removed
rebase: fix a memory leak

Merge branch 'nd/completion-no-cache-failure' into... Junio C Hamano Mon, 29 Jul 2019 19:38:20 +0000 (12:38 -0700)

Merge branch 'nd/completion-no-cache-failure' into maint

An incorrect list of options was cached after command line
completion failed (e.g. trying to complete a command that requires
a repository outside one), which has been corrected.

* nd/completion-no-cache-failure:
completion: do not cache if --git-completion-helper fails

Merge branch 'rs/config-unit-parsing' into maintJunio C Hamano Mon, 29 Jul 2019 19:38:19 +0000 (12:38 -0700)

Merge branch 'rs/config-unit-parsing' into maint

The code to parse scaled numbers out of configuration files has
been made more robust and also easier to follow.

* rs/config-unit-parsing:
config: simplify parsing of unit factors
config: don't multiply in parse_unit_factor()
config: use unsigned_mult_overflows to check for overflows

Merge branch 'jk/delta-islands-progress-fix' into maintJunio C Hamano Mon, 29 Jul 2019 19:38:19 +0000 (12:38 -0700)

Merge branch 'jk/delta-islands-progress-fix' into maint

The codepath to compute delta islands used to spew progress output
without giving the callers any way to squelch it, which has been
fixed.

* jk/delta-islands-progress-fix:
delta-islands: respect progress flag

Merge branch 'sg/rebase-progress' into maintJunio C Hamano Mon, 29 Jul 2019 19:38:19 +0000 (12:38 -0700)

Merge branch 'sg/rebase-progress' into maint

Use "Erase in Line" CSI sequence that is already used in the editor
support to clear cruft in the progress output.

* sg/rebase-progress:
progress: use term_clear_line()
rebase: fix garbled progress display with '-x'
pager: add a helper function to clear the last line in the terminal
t3404: make the 'rebase.missingCommitsCheck=ignore' test more focused
t3404: modernize here doc style

Merge branch 'ms/submodule-foreach-fix' into maintJunio C Hamano Mon, 29 Jul 2019 19:38:18 +0000 (12:38 -0700)

Merge branch 'ms/submodule-foreach-fix' into maint

"git submodule foreach" did not protect command line options passed
to the command to be run in each submodule correctly, when the
"--recursive" option was in use.

* ms/submodule-foreach-fix:
submodule foreach: fix recursion of options

Merge branch 'js/rebase-reschedule-applies-only-to... Junio C Hamano Mon, 29 Jul 2019 19:38:18 +0000 (12:38 -0700)

Merge branch 'js/rebase-reschedule-applies-only-to-interactive' into maint

The configuration variable rebase.rescheduleFailedExec should be
effective only while running an interactive rebase and should not
affect anything when running an non-interactive one, which was not
the case. This has been corrected.

* js/rebase-reschedule-applies-only-to-interactive:
rebase --am: ignore rebase.rescheduleFailedExec

Merge branch 'qn/clone-doc-use-long-form' into maintJunio C Hamano Mon, 29 Jul 2019 19:38:18 +0000 (12:38 -0700)

Merge branch 'qn/clone-doc-use-long-form' into maint

The "git clone" documentation refers to command line options in its
description in the short form; they have been replaced with long
forms to make them more recognisable.

* qn/clone-doc-use-long-form:
docs: git-clone: list short form of options first
docs: git-clone: refer to long form of options

Merge branch 'jc/denoise-rm-to-resolve' into maintJunio C Hamano Mon, 29 Jul 2019 19:38:17 +0000 (12:38 -0700)

Merge branch 'jc/denoise-rm-to-resolve' into maint

"git rm" to resolve a conflicted path leaked an internal message
"needs merge" before actually removing the path, which was
confusing. This has been corrected.

* jc/denoise-rm-to-resolve:
rm: resolving by removal is not a warning-worthy event

Merge branch 'js/mingw-spawn-with-spaces-in-path' into... Junio C Hamano Mon, 29 Jul 2019 19:38:17 +0000 (12:38 -0700)

Merge branch 'js/mingw-spawn-with-spaces-in-path' into maint

Window 7 update ;-)

* js/mingw-spawn-with-spaces-in-path:
mingw: support spawning programs containing spaces in their names

Merge branch 'sr/gpg-interface-stop-at-the-end' into... Junio C Hamano Mon, 29 Jul 2019 19:38:17 +0000 (12:38 -0700)

Merge branch 'sr/gpg-interface-stop-at-the-end' into maint

A codepath that reads from GPG for signed object verification read
past the end of allocated buffer, which has been fixed.

* sr/gpg-interface-stop-at-the-end:
gpg-interface: do not scan past the end of buffer

Merge branch 'js/clean-report-too-long-a-path' into... Junio C Hamano Mon, 29 Jul 2019 19:38:16 +0000 (12:38 -0700)

Merge branch 'js/clean-report-too-long-a-path' into maint

"git clean" silently skipped a path when it cannot lstat() it; now
it gives a warning.

* js/clean-report-too-long-a-path:
clean: show an error message when the path is too long

Merge branch 'es/local-atomic-push-failure-with-http... Junio C Hamano Mon, 29 Jul 2019 19:38:16 +0000 (12:38 -0700)

Merge branch 'es/local-atomic-push-failure-with-http' into maint

"git push --atomic" that goes over the transport-helper (namely,
the smart http transport) failed to prevent refs to be pushed when
it can locally tell that one of the ref update will fail without
having to consult the other end, which has been corrected.

* es/local-atomic-push-failure-with-http:
transport-helper: avoid var decl in for () loop control
transport-helper: enforce atomic in push_refs_with_push

Merge branch 'po/doc-branch' into maintJunio C Hamano Mon, 29 Jul 2019 19:38:16 +0000 (12:38 -0700)

Merge branch 'po/doc-branch' into maint

Doc update.

* po/doc-branch:
doc branch: provide examples for listing remote tracking branches

Merge branch 'dl/config-alias-doc' into maintJunio C Hamano Mon, 29 Jul 2019 19:38:15 +0000 (12:38 -0700)

Merge branch 'dl/config-alias-doc' into maint

Doc update.

* dl/config-alias-doc:
config/alias.txt: document alias accepting non-command first word
config/alias.txt: change " and ' to `

Merge branch 'cb/fsmonitor-intfix' into maintJunio C Hamano Mon, 29 Jul 2019 19:38:15 +0000 (12:38 -0700)

Merge branch 'cb/fsmonitor-intfix' into maint

Variable type fix.

* cb/fsmonitor-intfix:
fsmonitor: avoid signed integer overflow / infinite loop

Merge branch 'rs/copy-array' into maintJunio C Hamano Mon, 29 Jul 2019 19:38:15 +0000 (12:38 -0700)

Merge branch 'rs/copy-array' into maint

Code clean-up.

* rs/copy-array:
use COPY_ARRAY for copying arrays
coccinelle: use COPY_ARRAY for copying arrays

Merge branch 'js/t3404-typofix' into maintJunio C Hamano Mon, 29 Jul 2019 19:38:14 +0000 (12:38 -0700)

Merge branch 'js/t3404-typofix' into maint

Typofix.

* js/t3404-typofix:
t3404: fix a typo

Merge branch 'cb/mkstemps-uint-type-fix' into maintJunio C Hamano Mon, 29 Jul 2019 19:38:14 +0000 (12:38 -0700)

Merge branch 'cb/mkstemps-uint-type-fix' into maint

Variable type fix.

* cb/mkstemps-uint-type-fix:
wrapper: avoid undefined behaviour in macOS

Merge branch 'js/t0001-case-insensitive' into maintJunio C Hamano Mon, 29 Jul 2019 19:38:14 +0000 (12:38 -0700)

Merge branch 'js/t0001-case-insensitive' into maint

Test update.

* js/t0001-case-insensitive:
t0001: fix on case-insensitive filesystems

Merge branch 'jw/gitweb-sample-update' into maintJunio C Hamano Mon, 29 Jul 2019 19:38:13 +0000 (12:38 -0700)

Merge branch 'jw/gitweb-sample-update' into maint

Doc update.

* jw/gitweb-sample-update:
doc: don't use git.kernel.org as example gitweb URL

Merge branch 'sg/t5551-fetch-smart-error-is-translated... Junio C Hamano Mon, 29 Jul 2019 19:38:13 +0000 (12:38 -0700)

Merge branch 'sg/t5551-fetch-smart-error-is-translated' into maint

Test update.

* sg/t5551-fetch-smart-error-is-translated:
t5551: use 'test_i18ngrep' to check translated output

Merge branch 'jt/t5551-test-chunked' into maintJunio C Hamano Mon, 29 Jul 2019 19:38:13 +0000 (12:38 -0700)

Merge branch 'jt/t5551-test-chunked' into maint

Update smart-http test.

* jt/t5551-test-chunked:
t5551: test usage of chunked encoding explicitly

Merge branch 'sg/git-C-empty-doc' into maintJunio C Hamano Mon, 29 Jul 2019 19:38:13 +0000 (12:38 -0700)

Merge branch 'sg/git-C-empty-doc' into maint

Doc update.

* sg/git-C-empty-doc:
Document that 'git -C ""' works and doesn't change directory

Merge branch 'sg/ci-brew-gcc-workaround' into maintJunio C Hamano Mon, 29 Jul 2019 19:38:12 +0000 (12:38 -0700)

Merge branch 'sg/ci-brew-gcc-workaround' into maint

Dev support update.

* sg/ci-brew-gcc-workaround:
ci/lib.sh: update a comment about installed P4 and Git-LFS versions
ci: disable Homebrew's auto cleanup
ci: don't update Homebrew

Merge branch 'js/trace2-signo-typofix' into maintJunio C Hamano Mon, 29 Jul 2019 19:38:12 +0000 (12:38 -0700)

Merge branch 'js/trace2-signo-typofix' into maint

Documentation fix.

* js/trace2-signo-typofix:
trace2: correct trace2 field name documentation

Merge branch 'di/readme-markup-fix' into maintJunio C Hamano Mon, 29 Jul 2019 19:38:12 +0000 (12:38 -0700)

Merge branch 'di/readme-markup-fix' into maint

Docfix.

* di/readme-markup-fix:
README: fix rendering of text in angle brackets

Merge branch 'vn/xmmap-gently' into maintJunio C Hamano Mon, 29 Jul 2019 19:38:12 +0000 (12:38 -0700)

Merge branch 'vn/xmmap-gently' into maint

Clean-up an error codepath.

* vn/xmmap-gently:
read-cache.c: do not die if mmap fails

Merge branch 'rm/gpg-program-doc-fix' into maintJunio C Hamano Mon, 29 Jul 2019 19:38:12 +0000 (12:38 -0700)

Merge branch 'rm/gpg-program-doc-fix' into maint

Docfix.

* rm/gpg-program-doc-fix:
gpg(docs): use correct --verify syntax

Merge branch 'js/unmap-before-ext-diff' into maintJunio C Hamano Mon, 29 Jul 2019 19:38:11 +0000 (12:38 -0700)

Merge branch 'js/unmap-before-ext-diff' into maint

Windows update.

* js/unmap-before-ext-diff:
diff: munmap() file contents before running external diff

Merge branch 'js/gcc-8-and-9' into maintJunio C Hamano Mon, 29 Jul 2019 19:38:11 +0000 (12:38 -0700)

Merge branch 'js/gcc-8-and-9' into maint

Code clean-up for new compilers.
The 'kwset' one may get a wholesale replacement, either with new
version of kwset from upstream or removal of its users, but in the
meantime, it is probably OK to merge it down.

* js/gcc-8-and-9:
config: avoid calling `labs()` on too-large data type
winansi: simplify loading the GetCurrentConsoleFontEx() function
kwset: allow building with GCC 8
poll (mingw): allow compiling with GCC 8 and DEVELOPER=1

xdiff: remove duplicate headers from xpatience.cCarlo Marcelo Arenas Belón Sun, 28 Jul 2019 20:07:24 +0000 (13:07 -0700)

xdiff: remove duplicate headers from xpatience.c

92b7de93fb (Implement the patience diff algorithm, 2009-01-07) added them
but were already part of xinclude.h

Signed-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

xdiff: remove duplicate headers from xhistogram.cCarlo Marcelo Arenas Belón Sun, 28 Jul 2019 20:07:23 +0000 (13:07 -0700)

xdiff: remove duplicate headers from xhistogram.c

8c912eea94 ("teach --histogram to diff", 2011-07-12) included them, but
were already part of xinclude.h

Signed-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

xdiff: drop system includes in xutils.cCarlo Marcelo Arenas Belón Sun, 28 Jul 2019 20:07:22 +0000 (13:07 -0700)

xdiff: drop system includes in xutils.c

After b46054b374 ("xdiff: use git-compat-util", 2019-04-11), two system
headers added with 6942efcfa9 ("xdiff: load full words in the inner loop
of xdl_hash_record", 2012-04-06) to xutils.c are no longer needed and
could conflict as shown below from an OpenIndiana build:

In file included from xdiff/xinclude.h:26:0,
from xdiff/xutils.c:25:
./git-compat-util.h:4:0: warning: "_FILE_OFFSET_BITS" redefined
#define _FILE_OFFSET_BITS 64

In file included from /usr/include/limits.h:37:0,
from xdiff/xutils.c:23:
/usr/include/sys/feature_tests.h:231:0: note: this is the location of the previous definition
#define _FILE_OFFSET_BITS 32

Make sure git-compat-util.h is the first header (through xinclude.h)

Signed-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Sync with maintJunio C Hamano Thu, 25 Jul 2019 21:34:17 +0000 (14:34 -0700)

Sync with maint

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Flush fixes up to the third batch post 2.22.0Junio C Hamano Thu, 25 Jul 2019 21:32:36 +0000 (14:32 -0700)

Flush fixes up to the third batch post 2.22.0

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'ab/hash-object-doc' into maintJunio C Hamano Thu, 25 Jul 2019 21:27:16 +0000 (14:27 -0700)

Merge branch 'ab/hash-object-doc' into maint

Doc update.

* ab/hash-object-doc:
hash-object doc: stop mentioning git-cvsimport

Merge branch 'cm/send-email-document-req-modules' into... Junio C Hamano Thu, 25 Jul 2019 21:27:15 +0000 (14:27 -0700)

Merge branch 'cm/send-email-document-req-modules' into maint

A doc update.

* cm/send-email-document-req-modules:
send-email: update documentation of required Perl modules

Merge branch 'sw/git-p4-unshelve-branched-files' into... Junio C Hamano Thu, 25 Jul 2019 21:27:15 +0000 (14:27 -0700)

Merge branch 'sw/git-p4-unshelve-branched-files' into maint

"git p4" update.

* sw/git-p4-unshelve-branched-files:
git-p4: allow unshelving of branched files

Merge branch 'js/bisect-helper-check-get-oid-return... Junio C Hamano Thu, 25 Jul 2019 21:27:14 +0000 (14:27 -0700)

Merge branch 'js/bisect-helper-check-get-oid-return-value' into maint

Code cleanup.

* js/bisect-helper-check-get-oid-return-value:
bisect--helper: verify HEAD could be parsed before continuing

Merge branch 'es/git-debugger-doc' into maintJunio C Hamano Thu, 25 Jul 2019 21:27:14 +0000 (14:27 -0700)

Merge branch 'es/git-debugger-doc' into maint

Doc update.

* es/git-debugger-doc:
doc: hint about GIT_DEBUGGER in CodingGuidelines

Merge branch 'mo/clang-format-for-each-update' into... Junio C Hamano Thu, 25 Jul 2019 21:27:14 +0000 (14:27 -0700)

Merge branch 'mo/clang-format-for-each-update' into maint

The list of for-each like macros used by clang-format has been
updated.

* mo/clang-format-for-each-update:
clang-format: use git grep to generate the ForEachMacros list

Merge branch 'md/url-parse-harden' into maintJunio C Hamano Thu, 25 Jul 2019 21:27:13 +0000 (14:27 -0700)

Merge branch 'md/url-parse-harden' into maint

The URL decoding code has been updated to avoid going past the end
of the string while parsing %-<hex>-<hex> sequence.

* md/url-parse-harden:
url: do not allow %00 to represent NUL in URLs
url: do not read past end of buffer

Merge branch 'an/ignore-doc-update' into maintJunio C Hamano Thu, 25 Jul 2019 21:27:13 +0000 (14:27 -0700)

Merge branch 'an/ignore-doc-update' into maint

The description about slashes in gitignore patterns (used to
indicate things like "anchored to this level only" and "only
matches directories") has been revamped.

* an/ignore-doc-update:
gitignore.txt: make slash-rules more readable

Merge branch 'md/list-objects-filter-memfix' into maintJunio C Hamano Thu, 25 Jul 2019 21:27:12 +0000 (14:27 -0700)

Merge branch 'md/list-objects-filter-memfix' into maint

The filter_data used in the list-objects-filter (which manages a
lazily sparse clone repository) did not use the dynamic array API
correctly---'nr' is supposed to point at one past the last element
of the array in use. This has been corrected.

* md/list-objects-filter-memfix:
list-objects-filter: correct usage of ALLOC_GROW

Merge branch 'jt/partial-clone-missing-ref-delta-base... Junio C Hamano Thu, 25 Jul 2019 21:27:12 +0000 (14:27 -0700)

Merge branch 'jt/partial-clone-missing-ref-delta-base' into maint

"git fetch" into a lazy clone forgot to fetch base objects that are
necessary to complete delta in a thin packfile, which has been
corrected.

* jt/partial-clone-missing-ref-delta-base:
t5616: cover case of client having delta base
t5616: use correct flag to check object is missing
index-pack: prefetch missing REF_DELTA bases
t5616: refactor packfile replacement

Merge branch 'xl/record-partial-clone-origin' into... Junio C Hamano Thu, 25 Jul 2019 21:27:12 +0000 (14:27 -0700)

Merge branch 'xl/record-partial-clone-origin' into maint

When creating a partial clone, the object filtering criteria is
recorded for the origin of the clone, but this incorrectly used a
hardcoded name "origin" to name that remote; it has been corrected
to honor the "--origin <name>" option.

* xl/record-partial-clone-origin:
clone: respect user supplied origin name when setting up partial clone

Merge branch 'pb/request-pull-verify-remote-ref' into... Junio C Hamano Thu, 25 Jul 2019 21:27:11 +0000 (14:27 -0700)

Merge branch 'pb/request-pull-verify-remote-ref' into maint

"git request-pull" learned to warn when the ref we ask them to pull
from in the local repository and in the published repository are
different.

* pb/request-pull-verify-remote-ref:
request-pull: warn if the remote object is not the same as the local one
request-pull: quote regex metacharacters in local ref

Merge branch 'mm/p4-unshelve-windows-fix' into maintJunio C Hamano Thu, 25 Jul 2019 21:27:11 +0000 (14:27 -0700)

Merge branch 'mm/p4-unshelve-windows-fix' into maint

The command line to invoke a "git cat-file" command from inside
"git p4" was not properly quoted to protect a caret and running a
broken command on Windows, which has been corrected.

* mm/p4-unshelve-windows-fix:
p4 unshelve: fix "Not a valid object name HEAD0" on Windows

Merge branch 'bb/unicode-12.1-reiwa' into maintJunio C Hamano Thu, 25 Jul 2019 21:27:10 +0000 (14:27 -0700)

Merge branch 'bb/unicode-12.1-reiwa' into maint

Update to Unicode 12.1 width table.

* bb/unicode-12.1-reiwa:
unicode: update the width tables to Unicode 12.1

Merge branch 'js/fsmonitor-unflake' into maintJunio C Hamano Thu, 25 Jul 2019 21:27:10 +0000 (14:27 -0700)

Merge branch 'js/fsmonitor-unflake' into maint

The data collected by fsmonitor was not properly written back to
the on-disk index file, breaking t7519 tests occasionally, which
has been corrected.

* js/fsmonitor-unflake:
mark_fsmonitor_valid(): mark the index as changed if needed
fill_stat_cache_info(): prepare for an fsmonitor fix

Merge branch 'vv/merge-squash-with-explicit-commit... Junio C Hamano Thu, 25 Jul 2019 21:27:10 +0000 (14:27 -0700)

Merge branch 'vv/merge-squash-with-explicit-commit' into maint

"git merge --squash" is designed to update the working tree and the
index without creating the commit, and this cannot be countermanded
by adding the "--commit" option; the command now refuses to work
when both options are given.

* vv/merge-squash-with-explicit-commit:
merge: refuse --commit with --squash

Merge branch 'js/bundle-verify-require-object-store... Junio C Hamano Thu, 25 Jul 2019 21:27:09 +0000 (14:27 -0700)

Merge branch 'js/bundle-verify-require-object-store' into maint

"git bundle verify" needs to see if prerequisite objects exist in
the receiving repository, but the command did not check if we are
in a repository upfront, which has been corrected.

* js/bundle-verify-require-object-store:
bundle verify: error out if called without an object database

Merge branch 'jk/am-i-resolved-fix' into maintJunio C Hamano Thu, 25 Jul 2019 21:27:09 +0000 (14:27 -0700)

Merge branch 'jk/am-i-resolved-fix' into maint

"git am -i --resolved" segfaulted after trying to see a commit as
if it were a tree, which has been corrected.

* jk/am-i-resolved-fix:
am: fix --interactive HEAD tree resolution
am: drop tty requirement for --interactive
am: read interactive input from stdin
am: simplify prompt response handling

Merge branch 'jk/HEAD-symref-in-xfer-namespaces' into... Junio C Hamano Thu, 25 Jul 2019 21:27:09 +0000 (14:27 -0700)

Merge branch 'jk/HEAD-symref-in-xfer-namespaces' into maint

The server side support for "git fetch" used to show incorrect
value for the HEAD symbolic ref when the namespace feature is in
use, which has been corrected.

* jk/HEAD-symref-in-xfer-namespaces:
upload-pack: strip namespace from symref data

Merge branch 'ew/server-info-remove-crufts' into maintJunio C Hamano Thu, 25 Jul 2019 21:27:08 +0000 (14:27 -0700)

Merge branch 'ew/server-info-remove-crufts' into maint

"git update-server-info" used to leave stale packfiles in its
output, which has been corrected.

* ew/server-info-remove-crufts:
server-info: do not list unlinked packs

Merge branch 'es/grep-require-name-when-needed' into... Junio C Hamano Thu, 25 Jul 2019 21:27:08 +0000 (14:27 -0700)

Merge branch 'es/grep-require-name-when-needed' into maint

More parameter validation.

* es/grep-require-name-when-needed:
grep: fail if call could output and name is null

Merge branch 'ds/object-info-for-prefetch-fix' into... Junio C Hamano Thu, 25 Jul 2019 21:27:08 +0000 (14:27 -0700)

Merge branch 'ds/object-info-for-prefetch-fix' into maint

Code cleanup and futureproof.

* ds/object-info-for-prefetch-fix:
sha1-file: split OBJECT_INFO_FOR_PREFETCH

Merge branch 'mh/import-transport-fd-fix' into maintJunio C Hamano Thu, 25 Jul 2019 21:27:07 +0000 (14:27 -0700)

Merge branch 'mh/import-transport-fd-fix' into maint

The ownership rule for the file descriptor to fast-import remote
backend was mixed up, leading to unrelated file descriptor getting
closed, which has been fixed.

* mh/import-transport-fd-fix:
Use xmmap_gently instead of xmmap in use_pack
dup() the input fd for fast-import used for remote helpers

Merge branch 'nd/corrupt-worktrees' into maintJunio C Hamano Thu, 25 Jul 2019 21:27:07 +0000 (14:27 -0700)

Merge branch 'nd/corrupt-worktrees' into maint

"git worktree add" used to fail when another worktree connected to
the same repository was corrupt, which has been corrected.

* nd/corrupt-worktrees:
worktree add: be tolerant of corrupt worktrees

Merge branch 'nd/init-relative-template-fix' into maintJunio C Hamano Thu, 25 Jul 2019 21:27:06 +0000 (14:27 -0700)

Merge branch 'nd/init-relative-template-fix' into maint

A relative pathname given to "git init --template=<path> <repo>"
ought to be relative to the directory "git init" gets invoked in,
but it instead was made relative to the repository, which has been
corrected.

* nd/init-relative-template-fix:
init: make --template path relative to $CWD

The seventh batchJunio C Hamano Thu, 25 Jul 2019 20:56:20 +0000 (13:56 -0700)

The seventh batch

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'jk/test-commit-bulk'Junio C Hamano Thu, 25 Jul 2019 20:59:24 +0000 (13:59 -0700)

Merge branch 'jk/test-commit-bulk'

A test helper has been introduced to optimize preparation of test
repositories with many simple commits, and a handful of test
scripts have been updated to use it.

* jk/test-commit-bulk:
t6200: use test_commit_bulk
t5703: use test_commit_bulk
t5702: use test_commit_bulk
t3311: use test_commit_bulk
t5310: increase the number of bitmapped commits
test-lib: introduce test_commit_bulk

Merge branch 'di/readme-markup-fix'Junio C Hamano Thu, 25 Jul 2019 20:59:24 +0000 (13:59 -0700)

Merge branch 'di/readme-markup-fix'

Docfix.

* di/readme-markup-fix:
README: fix rendering of text in angle brackets

Merge branch 'jc/denoise-rm-to-resolve'Junio C Hamano Thu, 25 Jul 2019 20:59:24 +0000 (13:59 -0700)

Merge branch 'jc/denoise-rm-to-resolve'

"git rm" to resolve a conflicted path leaked an internal message
"needs merge" before actually removing the path, which was
confusing. This has been corrected.

* jc/denoise-rm-to-resolve:
rm: resolving by removal is not a warning-worthy event

Merge branch 'js/clean-report-too-long-a-path'Junio C Hamano Thu, 25 Jul 2019 20:59:24 +0000 (13:59 -0700)

Merge branch 'js/clean-report-too-long-a-path'

"git clean" silently skipped a path when it cannot lstat() it; now
it gives a warning.

* js/clean-report-too-long-a-path:
clean: show an error message when the path is too long