Commit Graph

58498 Commits

Author SHA1 Message Date
Junio C Hamano
d8b8d59054 Merge branch 'ag/rebase-avoid-unneeded-checkout'
"git rebase -i" (and friends) used to unnecessarily check out the
tip of the branch to be rebased, which has been corrected.

* ag/rebase-avoid-unneeded-checkout:
  rebase -i: stop checking out the tip of the branch to rebase
2020-02-14 12:54:21 -08:00
Junio C Hamano
251187084d Merge branch 'js/rebase-i-with-colliding-hash'
"git rebase -i" identifies existing commits in its todo file with
their abbreviated object name, which could become ambigous as it
goes to create new commits, and has a mechanism to avoid ambiguity
in the main part of its execution.  A few other cases however were
not covered by the protection against ambiguity, which has been
corrected.

* js/rebase-i-with-colliding-hash:
  rebase -i: also avoid SHA-1 collisions with missingCommitsCheck
  rebase -i: re-fix short SHA-1 collision
  parse_insn_line(): improve error message when parsing failed
2020-02-14 12:54:20 -08:00
Junio C Hamano
c9a33e5e5d Merge branch 'kw/fsmonitor-watchman-racefix'
A new version of fsmonitor-watchman hook has been introduced, to
avoid races.

* kw/fsmonitor-watchman-racefix:
  fsmonitor: update documentation for hook version and watchman hooks
  fsmonitor: add fsmonitor hook scripts for version 2
  fsmonitor: handle version 2 of the hooks that will use opaque token
  fsmonitor: change last update timestamp on the index_state to opaque token
2020-02-14 12:54:20 -08:00
Junio C Hamano
56ceb64eb0 Merge branch 'mt/threaded-grep-in-object-store'
Traditionally, we avoided threaded grep while searching in objects
(as opposed to files in the working tree) as accesses to the object
layer is not thread-safe.  This limitation is getting lifted.

* mt/threaded-grep-in-object-store:
  grep: use no. of cores as the default no. of threads
  grep: move driver pre-load out of critical section
  grep: re-enable threads in non-worktree case
  grep: protect packed_git [re-]initialization
  grep: allow submodule functions to run in parallel
  submodule-config: add skip_if_read option to repo_read_gitmodules()
  grep: replace grep_read_mutex by internal obj read lock
  object-store: allow threaded access to object reading
  replace-object: make replace operations thread-safe
  grep: fix racy calls in grep_objects()
  grep: fix race conditions at grep_submodule()
  grep: fix race conditions on userdiff calls
2020-02-14 12:54:20 -08:00
Junio C Hamano
0da63da794 Merge branch 'jn/promote-proto2-to-default'
The transport protocol version 2 becomes the default one.

* jn/promote-proto2-to-default:
  fetch: default to protocol version 2
  protocol test: let protocol.version override GIT_TEST_PROTOCOL_VERSION
  test: request GIT_TEST_PROTOCOL_VERSION=0 when appropriate
  config doc: protocol.version is not experimental
  fetch test: use more robust test for filtered objects
2020-02-14 12:54:19 -08:00
Junio C Hamano
a14aebeac3 Merge branch 'jk/packfile-reuse-cleanup'
The way "git pack-objects" reuses objects stored in existing pack
to generate its result has been improved.

* jk/packfile-reuse-cleanup:
  pack-bitmap: don't rely on bitmap_git->reuse_objects
  pack-objects: add checks for duplicate objects
  pack-objects: improve partial packfile reuse
  builtin/pack-objects: introduce obj_is_packed()
  pack-objects: introduce pack.allowPackReuse
  csum-file: introduce hashfile_total()
  pack-bitmap: simplify bitmap_has_oid_in_uninteresting()
  pack-bitmap: uninteresting oid can be outside bitmapped packfile
  pack-bitmap: introduce bitmap_walk_contains()
  ewah/bitmap: introduce bitmap_word_alloc()
  packfile: expose get_delta_base()
  builtin/pack-objects: report reused packfile objects
2020-02-14 12:54:19 -08:00
Junio C Hamano
daef1b300b Merge branch 'hw/advice-add-nothing'
Two help messages given when "git add" notices the user gave it
nothing to add have been updated to use advise() API.

* hw/advice-add-nothing:
  add: change advice config variables used by the add API
  add: use advise function to display hints
2020-02-14 12:54:19 -08:00
Junio C Hamano
6141e0cc00 Merge branch 'js/convert-typofix' into maint
Typofix.

* js/convert-typofix:
  convert: fix typo
2020-02-14 12:42:34 -08:00
Junio C Hamano
4e52c1ae27 Merge branch 'js/ci-squelch-doc-warning' into maint
Squelch unhelpful warning message during documentation build.

* js/ci-squelch-doc-warning:
  ci: ignore rubygems warning in the "Documentation" job
2020-02-14 12:42:33 -08:00
Junio C Hamano
5cee4ffff8 Merge branch 'jb/multi-pack-index-docfix' into maint
Doc fix.

* jb/multi-pack-index-docfix:
  pack-format: correct multi-pack-index description
2020-02-14 12:42:33 -08:00
Junio C Hamano
b907ca76f0 Merge branch 'ma/diff-doc-clarify-regexp-example' into maint
Doc clarification.

* ma/diff-doc-clarify-regexp-example:
  diff-options.txt: avoid "regex" overload in example
2020-02-14 12:42:33 -08:00
Junio C Hamano
7137d6089b Merge branch 'ms/doc-bundle-format' into maint
Technical details of the bundle format has been documented.
I think this is in a good enough shape.

* ms/doc-bundle-format:
  doc: describe Git bundle format
2020-02-14 12:42:32 -08:00
Junio C Hamano
52d620fdc6 Merge branch 'es/submodule-fetch-message-fix' into maint
Error message fix.

* es/submodule-fetch-message-fix:
  submodule: add newline on invalid submodule error
2020-02-14 12:42:32 -08:00
Junio C Hamano
0ecc7d62f4 Merge branch 'jb/parse-options-message-fix' into maint
Error message fix.

* jb/parse-options-message-fix:
  parse-options: lose an unnecessary space in an error message
2020-02-14 12:42:32 -08:00
Junio C Hamano
1ea6edfd55 Merge branch 'ma/filter-branch-doc-caret' into maint
Doc mark-up updates.

* ma/filter-branch-doc-caret:
  git-filter-branch.txt: wrap "maths" notation in backticks
2020-02-14 12:42:32 -08:00
Junio C Hamano
cfa25e197d Merge branch 'km/submodule-doc-use-sm-path' into maint
Docfix.

* km/submodule-doc-use-sm-path:
  submodule foreach: replace $path with $sm_path in example
2020-02-14 12:42:32 -08:00
Junio C Hamano
153a1b46f1 Merge branch 'pb/do-not-recurse-grep-no-index' into maint
"git grep --no-index" should not get affected by the contents of
the .gitmodules file but when "--recurse-submodules" is given or
the "submodule.recurse" variable is set, it did.  Now these
settings are ignored in the "--no-index" mode.

* pb/do-not-recurse-grep-no-index:
  grep: ignore --recurse-submodules if --no-index is given
2020-02-14 12:42:31 -08:00
Junio C Hamano
8857657cc9 Merge branch 'jt/t5616-robustify' into maint
Futureproofing a test not to depend on the current implementation
detail.

* jt/t5616-robustify:
  t5616: make robust to delta base change
2020-02-14 12:42:31 -08:00
Junio C Hamano
1f7609b520 Merge branch 'en/fill-directory-fixes-more' into maint
Corner case bugs in "git clean" that stems from a (necessarily for
performance reasons) awkward calling convention in the directory
enumeration API has been corrected.

* en/fill-directory-fixes-more:
  dir: point treat_leading_path() warning to the right place
  dir: restructure in a way to avoid passing around a struct dirent
  dir: treat_leading_path() and read_directory_recursive(), round 2
  clean: demonstrate a bug with pathspecs
2020-02-14 12:42:31 -08:00
Junio C Hamano
f468972671 Merge branch 'bc/misconception-doc' into maint
Doc updates.

* bc/misconception-doc:
  docs: mention when increasing http.postBuffer is valuable
  doc: dissuade users from trying to ignore tracked files
2020-02-14 12:42:31 -08:00
Junio C Hamano
6e69042e26 Merge branch 'bc/author-committer-doc' into maint
Clarify documentation on committer/author identities.

* bc/author-committer-doc:
  doc: provide guidance on user.name format
  docs: expand on possible and recommended user config options
  doc: move author and committer information to git-commit(1)
2020-02-14 12:42:31 -08:00
Junio C Hamano
650ed395be Merge branch 'ds/refmap-doc' into maint
"git fetch --refmap=" option has got a better documentation.

* ds/refmap-doc:
  fetch: document and test --refmap=""
2020-02-14 12:42:30 -08:00
Junio C Hamano
80b806f1a8 Merge branch 'bc/actualmente' into maint
Doc grammo fix.

* bc/actualmente:
  docs: use "currently" for the present time
2020-02-14 12:42:30 -08:00
Junio C Hamano
eceff4ba12 Merge branch 'rt/submodule-i18n' into maint
Comments update.

* rt/submodule-i18n:
  submodule.c: mark more strings for translation
2020-02-14 12:42:30 -08:00
Junio C Hamano
8a17eb7972 Merge branch 'jk/test-fixes' into maint
Test fixes.

* jk/test-fixes:
  t7800: don't rely on reuse_worktree_file()
  t4018: drop "debugging" cat from hunk-header tests
2020-02-14 12:42:30 -08:00
Junio C Hamano
54bbadaeca Merge branch 'jk/asan-build-fix' into maint
Work around test breakages caused by custom regex engine used in
libasan, when address sanitizer is used with more recent versions
of gcc and clang.

* jk/asan-build-fix:
  Makefile: use compat regex with SANITIZE=address
2020-02-14 12:42:29 -08:00
Junio C Hamano
8dbeba198e Merge branch 'ds/sparse-cone' into maint
The code recently added in this release to move to the entry beyond
the ones in the same directory in the index in the sparse-cone mode
did not count the number of entries to skip over incorrectly, which
has been corrected.

* ds/sparse-cone:
  .mailmap: fix GGG authoship screwup
  unpack-trees: correctly compute result count
2020-02-14 12:42:29 -08:00
Junio C Hamano
e361f36f61 Merge branch 'nd/switch-and-restore' into maint
"git restore --staged" did not correctly update the cache-tree
structure, resulting in bogus trees to be written afterwards, which
has been corrected.

* nd/switch-and-restore:
  restore: invalidate cache-tree when removing entries with --staged
2020-02-14 12:42:29 -08:00
Junio C Hamano
4a60c63a75 Merge branch 'jk/no-flush-upon-disconnecting-slrpc-transport' into maint
Reduce unnecessary round-trip when running "ls-remote" over the
stateless RPC mechanism.

* jk/no-flush-upon-disconnecting-slrpc-transport:
  transport: don't flush when disconnecting stateless-rpc helper
2020-02-14 12:42:28 -08:00
Junio C Hamano
ad9c895463 Merge branch 'hw/tutorial-favor-switch-over-checkout' into maint
Complete an update to tutorial that encourages "git switch" over
"git checkout" that was done only half-way.

* hw/tutorial-favor-switch-over-checkout:
  doc/gitcore-tutorial: fix prose to match example command
2020-02-14 12:42:28 -08:00
Junio C Hamano
5ae057d9a8 Merge branch 'es/unpack-trees-oob-fix' into maint
The code that tries to skip over the entries for the paths in a
single directory using the cache-tree was not careful enough
against corrupt index file.

* es/unpack-trees-oob-fix:
  unpack-trees: watch for out-of-range index position
2020-02-14 12:42:28 -08:00
Junio C Hamano
c17cf77e4e Merge branch 'bc/run-command-nullness-after-free-fix' into maint
C pedantry ;-) fix.

* bc/run-command-nullness-after-free-fix:
  run-command: avoid undefined behavior in exists_in_PATH
2020-02-14 12:42:27 -08:00
Junio C Hamano
d0ebd645b1 Merge branch 'en/string-list-can-be-custom-sorted' into maint
API-doc update.

* en/string-list-can-be-custom-sorted:
  string-list: note in docs that callers can specify sorting function
2020-02-14 12:42:27 -08:00
Junio C Hamano
9eddeaece1 Merge branch 'jt/sha1-file-remove-oi-skip-cached' into maint
has_object_file() said "no" given an object registered to the
system via pretend_object_file(), making it inconsistent with
read_object_file(), causing lazy fetch to attempt fetching an
empty tree from promisor remotes.

* jt/sha1-file-remove-oi-skip-cached:
  sha1-file: remove OBJECT_INFO_SKIP_CACHED
2020-02-14 12:42:27 -08:00
Junio C Hamano
3bba763373 Merge branch 'hw/commit-advise-while-rejecting' into maint
"git commit" gives output similar to "git status" when there is
nothing to commit, but without honoring the advise.statusHints
configuration variable, which has been corrected.

* hw/commit-advise-while-rejecting:
  commit: honor advice.statusHints when rejecting an empty commit
2020-02-14 12:42:27 -08:00
Johannes Schindelin
08809c09aa mingw: add a helper function to attach GDB to the current process
When debugging Git, the criss-cross spawning of processes can make
things quite a bit difficult, especially when a Unix shell script is
thrown in the mix that calls a `git.exe` that then segfaults.

To help debugging such things, we introduce the `open_in_gdb()` function
which can be called at a code location where the segfault happens (or as
close as one can get); This will open a new MinTTY window with a GDB
that already attached to the current process.

Inspired by Derrick Stolee.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2020-02-14 10:02:07 -08:00
Johannes Schindelin
bfe2bbb47f t5580: test cloning without file://, test fetching via UNC paths
On Windows, it is quite common to work with network drives. The format
of the paths to network drives (or "network shares", or UNC paths) is:

	\\<server>\<share>\...

We already have a couple regression tests revolving around those types
of paths, but we missed cloning and fetching from UNC paths without
leading `file://` (and with backslashes instead of forward slashes).
This lil' patch closes that gap.

It gets a bit silly to add the commands to the name of the test script,
so let's just rename it while we're testing more UNC stuff.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2020-02-14 09:59:41 -08:00
Johannes Schindelin
de26f02db1 t9001, t9116: avoid pipes
When grepping through the output of a command in the test suite, there
is always a chance that something goes wrong, in which case there would
not be anything useful to debug.

Let's redirect the output into a file instead, and grep that file, so
that the log can be inspected easily if the grep fails.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2020-02-14 09:58:03 -08:00
Junio C Hamano
d8437c57fa The fourth batch for 2.26
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2020-02-12 12:41:39 -08:00
Junio C Hamano
a3dcf84df0 Merge branch 'js/convert-typofix'
Typofix.

* js/convert-typofix:
  convert: fix typo
2020-02-12 12:41:39 -08:00
Junio C Hamano
0de2d1409b Merge branch 'js/ci-squelch-doc-warning'
Squelch unhelpful warning message during documentation build.

* js/ci-squelch-doc-warning:
  ci: ignore rubygems warning in the "Documentation" job
2020-02-12 12:41:39 -08:00
Junio C Hamano
0410c2ba31 Merge branch 'jb/multi-pack-index-docfix'
Doc fix.

* jb/multi-pack-index-docfix:
  pack-format: correct multi-pack-index description
2020-02-12 12:41:39 -08:00
Junio C Hamano
0d114107f5 Merge branch 'ma/diff-doc-clarify-regexp-example'
Doc clarification.

* ma/diff-doc-clarify-regexp-example:
  diff-options.txt: avoid "regex" overload in example
2020-02-12 12:41:38 -08:00
Junio C Hamano
e99c325bb4 Merge branch 'ms/doc-bundle-format'
Technical details of the bundle format has been documented.

* ms/doc-bundle-format:
  doc: describe Git bundle format
2020-02-12 12:41:38 -08:00
Junio C Hamano
afa34c5cf3 Merge branch 'es/submodule-fetch-message-fix'
Error message fix.

* es/submodule-fetch-message-fix:
  submodule: add newline on invalid submodule error
2020-02-12 12:41:38 -08:00
Junio C Hamano
db72f8c940 Merge branch 'jb/parse-options-message-fix'
Error message fix.

* jb/parse-options-message-fix:
  parse-options: lose an unnecessary space in an error message
2020-02-12 12:41:37 -08:00
Junio C Hamano
3d2471ba85 Merge branch 'ma/filter-branch-doc-caret'
Doc mark-up updates.

* ma/filter-branch-doc-caret:
  git-filter-branch.txt: wrap "maths" notation in backticks
2020-02-12 12:41:37 -08:00
Junio C Hamano
b2099ebb12 Merge branch 'km/submodule-doc-use-sm-path'
Docfix.

* km/submodule-doc-use-sm-path:
  submodule foreach: replace $path with $sm_path in example
2020-02-12 12:41:37 -08:00
Junio C Hamano
44cba9c4b3 Merge branch 'jc/skip-prefix'
Code simplification.

* jc/skip-prefix:
  C: use skip_prefix() to avoid hardcoded string length
2020-02-12 12:41:37 -08:00
Junio C Hamano
556ccd4dd2 Merge branch 'pb/do-not-recurse-grep-no-index'
"git grep --no-index" should not get affected by the contents of
the .gitmodules file but when "--recurse-submodules" is given or
the "submodule.recurse" variable is set, it did.  Now these
settings are ignored in the "--no-index" mode.

* pb/do-not-recurse-grep-no-index:
  grep: ignore --recurse-submodules if --no-index is given
2020-02-12 12:41:36 -08:00