Jiang Xin [Tue, 30 Jul 2019 01:59:56 +0000 (09:59 +0800)]
l10n: git.pot: v2.23.0 round 1 (130 new, 35 removed)
Generate po/git.pot from v2.23.0-rc0 for git v2.23.0 l10n round 1.
Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
Jiang Xin [Tue, 30 Jul 2019 01:56:16 +0000 (09:56 +0800)]
Merge tag 'v2.23.0-rc0' of git://git./git/git
Git 2.23-rc0
* tag 'v2.23.0-rc0' of git://git.kernel.org/pub/scm/git/git: (420 commits)
Git 2.23-rc0
Merge fixes made on the 'master' front
Flush fixes up to the third batch post 2.22.0
The seventh batch
git: mark cmd_rebase as requiring a worktree
rebase: fix white-space
xdiff: clamp function context indices in post-image
grep: print the pcre2_jit_on value
t6200: use test_commit_bulk
travis-ci: build with GCC 4.8 as well
The sixth batch
clean: show an error message when the path is too long
CodingGuidelines: spell out post-C89 rules
README: fix rendering of text in angle brackets
rm: resolving by removal is not a warning-worthy event
transport-helper: avoid var decl in for () loop control
stash: fix handling removed files with --keep-index
mingw: support spawning programs containing spaces in their names
gpg-interface: do not scan past the end of buffer
tests: defang pager tests by explicitly disabling the log.mailmap warning
...
Junio 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>
Junio C Hamano [Mon, 29 Jul 2019 19:40:42 +0000 (12:40 -0700)]
Sync with maint
* maint:
Merge fixes made on the 'master' front
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
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
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
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
Junio 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>
Junio 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
Junio 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
Junio 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
Junio 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
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
Junio 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
Junio 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
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
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
Junio 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
Junio 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
Junio 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
Junio 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
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
Junio 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
Junio 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
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
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
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
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
Junio 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
Junio 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 `
Junio 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
Junio 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
Junio 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
Junio 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
Junio 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
Junio 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
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
Junio 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
Junio 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
Junio 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
Junio 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
Junio 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
Junio 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
Junio 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
Junio 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
Junio 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
Junio 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>
Junio 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>
Junio 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
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
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
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
Junio 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
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
Junio 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
Junio 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
Junio 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
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
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
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
Junio 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
Junio 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
Junio 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
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
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
Junio 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
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
Junio 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
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
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
Junio 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
Junio 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
Junio 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
Junio 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>
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
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
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
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
Junio C Hamano [Thu, 25 Jul 2019 20:59:23 +0000 (13:59 -0700)]
Merge branch 'tg/stash-keep-index-with-removed-paths'
"git stash --keep-index" did not work correctly on paths that have
been removed, which has been fixed.
* tg/stash-keep-index-with-removed-paths:
stash: fix handling removed files with --keep-index
Junio C Hamano [Thu, 25 Jul 2019 20:59:23 +0000 (13:59 -0700)]
Merge branch 'sr/gpg-interface-stop-at-the-end'
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
Junio C Hamano [Thu, 25 Jul 2019 20:59:23 +0000 (13:59 -0700)]
Merge branch 'js/mingw-spawn-with-spaces-in-path'
Window 7 update ;-)
* js/mingw-spawn-with-spaces-in-path:
mingw: support spawning programs containing spaces in their names
Junio C Hamano [Thu, 25 Jul 2019 20:59:22 +0000 (13:59 -0700)]
Merge branch 'jc/post-c89-rules-doc'
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
Junio C Hamano [Thu, 25 Jul 2019 20:59:22 +0000 (13:59 -0700)]
Merge branch 'mt/dir-iterator-updates'
Adjust the dir-iterator API and apply it to the local clone
optimization codepath.
* mt/dir-iterator-updates:
clone: replace strcmp by fspathcmp
clone: use dir-iterator to avoid explicit dir traversal
clone: extract function from copy_or_link_directory
clone: copy hidden paths at local clone
dir-iterator: add flags parameter to dir_iterator_begin
dir-iterator: refactor state machine model
dir-iterator: use warning_errno when possible
dir-iterator: add tests for dir-iterator API
clone: better handle symlinked files at .git/objects/
clone: test for our behavior on odd objects/* content
Junio C Hamano [Thu, 25 Jul 2019 20:59:22 +0000 (13:59 -0700)]
Merge branch 'vn/xmmap-gently'
Clean-up an error codepath.
* vn/xmmap-gently:
read-cache.c: do not die if mmap fails
Junio C Hamano [Thu, 25 Jul 2019 20:59:22 +0000 (13:59 -0700)]
Merge branch 'ac/log-use-mailmap-by-default-transition'
The "git log" command learns to issue a warning when log.mailmap
configuration is not set and --[no-]mailmap option is not used, to
prepare users for future versions of Git that uses the mailmap by
default.
* ac/log-use-mailmap-by-default-transition:
tests: defang pager tests by explicitly disabling the log.mailmap warning
documentation: mention --no-use-mailmap and log.mailmap false setting
log: add warning for unspecified log.mailmap setting
Junio C Hamano [Thu, 25 Jul 2019 20:59:22 +0000 (13:59 -0700)]
Merge branch 'es/local-atomic-push-failure-with-http'
"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
Junio C Hamano [Thu, 25 Jul 2019 20:59:21 +0000 (13:59 -0700)]
Merge branch 'rm/gpg-program-doc-fix'
Docfix.
* rm/gpg-program-doc-fix:
gpg(docs): use correct --verify syntax
Junio C Hamano [Thu, 25 Jul 2019 20:59:21 +0000 (13:59 -0700)]
Merge branch 'js/unmap-before-ext-diff'
Windows update.
* js/unmap-before-ext-diff:
diff: munmap() file contents before running external diff
Junio C Hamano [Thu, 25 Jul 2019 20:59:20 +0000 (13:59 -0700)]
Merge branch 'tg/range-diff-output-update'
"git range-diff" output has been tweaked for easier identification
of which part of what file the patch shown is about.
* tg/range-diff-output-update:
range-diff: add headers to the outer hunk header
range-diff: add filename to inner diff
range-diff: add section header instead of diff header
range-diff: suppress line count in outer diff
range-diff: don't remove funcname from inner diff
range-diff: split lines manually
range-diff: fix function parameter indentation
apply: make parse_git_diff_header public
apply: only pass required data to gitdiff_* functions
apply: only pass required data to find_name_*
apply: only pass required data to check_header_line
apply: only pass required data to git_header_name
apply: only pass required data to skip_tree_prefix
apply: replace marc.info link with public-inbox
Junio C Hamano [Thu, 25 Jul 2019 20:59:20 +0000 (13:59 -0700)]
Merge branch 'ab/test-env'
Many GIT_TEST_* environment variables control various aspects of
how our tests are run, but a few followed "non-empty is true, empty
or unset is false" while others followed the usual "there are a few
ways to spell true, like yes, on, etc., and also ways to spell
false, like no, off, etc." convention.
* ab/test-env:
env--helper: mark a file-local symbol as static
tests: make GIT_TEST_FAIL_PREREQS a boolean
tests: replace test_tristate with "git env--helper"
tests README: re-flow a previously changed paragraph
tests: make GIT_TEST_GETTEXT_POISON a boolean
t6040 test: stop using global "script" variable
config.c: refactor die_bad_number() to not call gettext() early
env--helper: new undocumented builtin wrapping git_env_*()
config tests: simplify include cycle test
Johannes Schindelin [Wed, 24 Jul 2019 21:15:00 +0000 (14:15 -0700)]
git: mark cmd_rebase as requiring a worktree
We skipped marking the "rebase" built-in as requiring a .git/ directory
and a worktree only to allow to spawn the scripted version of `git
rebase`.
Now that we no longer have that escape hatch, we can change that to the
canonical form.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Johannes Schindelin [Wed, 24 Jul 2019 21:14:59 +0000 (14:14 -0700)]
rebase: fix white-space
This trailing space was inadvertently introduced in
9fbcc3d203 (Merge
branch 'js/rebase-orig-head-fix', 2019-03-20).
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jeff King [Tue, 23 Jul 2019 19:27:05 +0000 (15:27 -0400)]
xdiff: clamp function context indices in post-image
After finding a function line for --function-context in the pre-image,
xdl_emit_diff() calculates the equivalent line in the post-image. It
assumes that the lines between changes are the same on both sides. If
the option --ignore-blank-lines was also given then this is not
necessarily true.
Clamp the calculation results for start and end of the function context
to prevent out-of-bounds array accesses.
Note that this _just_ fixes the case where our mismatch sends us off the
beginning of the file. There are likely other cases where our assumption
causes us to go to the wrong line within the file. Nobody has developed
a test case yet, and the ultimate fix is likely more complicated than
this patch. But this at least prevents a segfault in the meantime.
Credit for finding the bug goes to "Liu Wei of Tencent Security Xuanwu
Lab".
Reported-by: 刘炜 <lw17qhdz@gmail.com>
Helped-by: René Scharfe <l.s.r@web.de>
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Beat Bolli [Mon, 22 Jul 2019 18:19:23 +0000 (20:19 +0200)]
grep: print the pcre2_jit_on value
When pcre2_jit_on is neither 1 nor 0, the BUG() call printed the value
of pcre1_jit_on.
Print the value of pcre2_jit_on instead.
Signed-off-by: Beat Bolli <dev+git@drbeat.li>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jeff King [Fri, 19 Jul 2019 21:56:23 +0000 (17:56 -0400)]
t6200: use test_commit_bulk
There's a loop that creates 30 commits using test_commit. Using
test_commit_bulk speeds this up from:
Benchmark #1: ./t6200-fmt-merge-msg.sh --root=/var/ram/git-tests
Time (mean ± σ): 1.926 s ± 0.240 s [User: 1.055 s, System: 0.963 s]
Range (min … max): 1.431 s … 2.166 s 10 runs
to:
Benchmark #1: ./t6200-fmt-merge-msg.sh --root=/var/ram/git-tests
Time (mean ± σ): 1.343 s ± 0.179 s [User: 766.5 ms, System: 662.9 ms]
Range (min … max): 1.032 s … 1.664 s 10 runs
for an average savings of over 30%.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
SZEDER Gábor [Thu, 18 Jul 2019 15:22:34 +0000 (17:22 +0200)]
travis-ci: build with GCC 4.8 as well
C99 'for' loop initial declaration, i.e. 'for (int i = 0; i < n; i++)',
is not allowed in Git's codebase yet, to maintain compatibility with
some older compilers.
Our Travis CI builds used to catch 'for' loop initial declarations,
because the GETTEXT_POISON job has always built Git with the default
'cc', which in Travis CI's previous default Linux image (based on
Ubuntu 14.04 Trusty) is GCC 4.8, and that GCC version errors out on
this construct (not only with DEVELOPER=1, but with our default CFLAGS
as well). Alas, that's not the case anymore, becase after 14.04's EOL
Travis CI's current default Linux image is based on Ubuntu 16.04
Xenial [1] and its default 'cc' is now GCC 5.4, which, just like all
later GCC and Clang versions, simply accepts this construct, even if
we don't explicitly specify '-std=c99'.
Ideally we would adjust our CFLAGS used with DEVELOPER=1 to catch this
undesired construct already when contributors build Git on their own
machines. Unfortunately, however, there seems to be no compiler
option that would catch only this particular construct without choking
on many other things, e.g. while a later compiler with '-std=c90'
and/or '-ansi' does catch this construct, it can't build Git because
of several screenfulls of other errors.
Add the 'linux-gcc-4.8' job to Travis CI, in order to build Git with
GCC 4.8, and thus to timely catch any 'for' loop initial declarations.
To catch those it's sufficient to only build Git with GCC 4.8, so
don't run the test suite in this job, because 'make test' takes rather
long [2], and it's already run five times in other jobs, so we
wouldn't get our time's worth.
[1] The Azure Pipelines builds have been using Ubuntu 16.04 images
from the start, so I belive they never caught 'for' loop initial
declarations.
[2] On Travis CI 'make test' alone would take about 9 minutes in this
new job (without running httpd, Subversion, and P4 tests). For
comparison, starting the job and building Git with GCC 4.8 takes
only about 2 minutes.
Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Fri, 19 Jul 2019 18:34:23 +0000 (11:34 -0700)]
The sixth batch
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Fri, 19 Jul 2019 18:30:23 +0000 (11:30 -0700)]
Merge branch 'ma/ref-filter-leakfix'
Leakfix.
* ma/ref-filter-leakfix:
ref-filter: fix memory leak in `free_array_item()`
Junio C Hamano [Fri, 19 Jul 2019 18:30:23 +0000 (11:30 -0700)]
Merge branch 'js/trace2-signo-typofix'
Documentation fix.
* js/trace2-signo-typofix:
trace2: correct trace2 field name documentation