]> git.ipfire.org Git - thirdparty/git.git/log
thirdparty/git.git
4 years agoMerge branch 'py/shortlog-list-options-for-log'
Junio C Hamano [Sun, 1 Dec 2019 17:04:35 +0000 (09:04 -0800)] 
Merge branch 'py/shortlog-list-options-for-log'

Documentation pages for "git shortlog" now lists commit limiting
options explicitly.

* py/shortlog-list-options-for-log:
  git-shortlog.txt: include commit limiting options

4 years agoMerge branch 'en/doc-typofix'
Junio C Hamano [Sun, 1 Dec 2019 17:04:35 +0000 (09:04 -0800)] 
Merge branch 'en/doc-typofix'

Docfix.

* en/doc-typofix:
  Fix spelling errors in no-longer-updated-from-upstream modules
  multimail: fix a few simple spelling errors
  sha1dc: fix trivial comment spelling error
  Fix spelling errors in test commands
  Fix spelling errors in messages shown to users
  Fix spelling errors in names of tests
  Fix spelling errors in comments of testcases
  Fix spelling errors in code comments
  Fix spelling errors in documentation outside of Documentation/
  Documentation: fix a bunch of typos, both old and new

4 years agoMerge branch 'ns/test-desc-typofix'
Junio C Hamano [Sun, 1 Dec 2019 17:04:34 +0000 (09:04 -0800)] 
Merge branch 'ns/test-desc-typofix'

Typofix.

* ns/test-desc-typofix:
  t: fix typo in test descriptions

4 years agoMerge branch 'en/t6024-style'
Junio C Hamano [Sun, 1 Dec 2019 17:04:34 +0000 (09:04 -0800)] 
Merge branch 'en/t6024-style'

Test updates.

* en/t6024-style:
  t6024: modernize style

4 years agoMerge branch 'en/misc-doc-fixes'
Junio C Hamano [Sun, 1 Dec 2019 17:04:34 +0000 (09:04 -0800)] 
Merge branch 'en/misc-doc-fixes'

Misc doc fixes.

* en/misc-doc-fixes:
  name-hash.c: remove duplicate word in comment
  hashmap: fix documentation misuses of -> versus .
  git-filter-branch.txt: correct argument name typo

4 years agoMerge branch 'js/fetch-multi-lockfix'
Junio C Hamano [Sun, 1 Dec 2019 17:04:33 +0000 (09:04 -0800)] 
Merge branch 'js/fetch-multi-lockfix'

Fetching from multiple remotes into the same repository in parallel
had a bad interaction with the recent change to (optionally) update
the commit-graph after a fetch job finishes, as these parallel
fetches compete with each other.  Which has been corrected.

* js/fetch-multi-lockfix:
  fetch: avoid locking issues between fetch.jobs/fetch.writeCommitGraph
  fetch: add the command-line option `--write-commit-graph`

4 years agoMerge branch 'rs/trace2-dots'
Junio C Hamano [Sun, 1 Dec 2019 17:04:33 +0000 (09:04 -0800)] 
Merge branch 'rs/trace2-dots'

Code cleanup.

* rs/trace2-dots:
  trace2: add dots directly to strbuf in perf_fmt_prepare()

4 years agoMerge branch 'kw/fsmonitor-watchman-fix'
Junio C Hamano [Sun, 1 Dec 2019 17:04:33 +0000 (09:04 -0800)] 
Merge branch 'kw/fsmonitor-watchman-fix'

The watchman integration for fsmonitor was racy, which has been
corrected to be more conservative.

* kw/fsmonitor-watchman-fix:
  fsmonitor: fix watchman integration

4 years agoMerge branch 'cb/curl-use-xmalloc'
Junio C Hamano [Sun, 1 Dec 2019 17:04:33 +0000 (09:04 -0800)] 
Merge branch 'cb/curl-use-xmalloc'

HTTP transport had possible allocator/deallocator mismatch, which
has been corrected.

* cb/curl-use-xmalloc:
  remote-curl: unbreak http.extraHeader with custom allocators

4 years agoMerge branch 'rt/fetch-message-fix'
Junio C Hamano [Sun, 1 Dec 2019 17:04:32 +0000 (09:04 -0800)] 
Merge branch 'rt/fetch-message-fix'

A small message update.

* rt/fetch-message-fix:
  fetch.c: fix typo in a warning message

4 years agoMerge branch 'es/myfirstcontrib-updates'
Junio C Hamano [Sun, 1 Dec 2019 17:04:32 +0000 (09:04 -0800)] 
Merge branch 'es/myfirstcontrib-updates'

Doc updates.

* es/myfirstcontrib-updates:
  myfirstcontrib: hint to find gitgitgadget allower
  myfirstcontrib: add dependency installation step
  myfirstcontrib: add 'psuh' to command-list.txt

4 years agoMerge branch 'hw/config-doc-in-header'
Junio C Hamano [Sun, 1 Dec 2019 17:04:32 +0000 (09:04 -0800)] 
Merge branch 'hw/config-doc-in-header'

Follow recent push to move API docs from Documentation/ to header
files and update config.h

* hw/config-doc-in-header:
  config: move documentation to config.h

4 years agoMerge branch 'dl/doc-diff-no-index-implies-exit-code'
Junio C Hamano [Sun, 1 Dec 2019 17:04:31 +0000 (09:04 -0800)] 
Merge branch 'dl/doc-diff-no-index-implies-exit-code'

Doc update.

* dl/doc-diff-no-index-implies-exit-code:
  git-diff.txt: document return code of `--no-index`

4 years agoMerge branch 'js/vreportf-wo-buffering'
Junio C Hamano [Sun, 1 Dec 2019 17:04:31 +0000 (09:04 -0800)] 
Merge branch 'js/vreportf-wo-buffering'

Messages from die() etc. can be mixed up from multiple processes
without even line buffering on Windows, which has been worked
around.

* js/vreportf-wo-buffering:
  vreportf(): avoid relying on stdio buffering

4 years agoMerge branch 'pb/no-recursive-reset-hard-in-worktree-add'
Junio C Hamano [Sun, 1 Dec 2019 17:04:31 +0000 (09:04 -0800)] 
Merge branch 'pb/no-recursive-reset-hard-in-worktree-add'

"git worktree add" internally calls "reset --hard" that should not
descend into submodules, even when submodule.recurse configuration
is set, but it was affected.  This has been corrected.

* pb/no-recursive-reset-hard-in-worktree-add:
  worktree: teach "add" to ignore submodule.recurse config

4 years agoMerge branch 'pb/help-list-gitsubmodules-among-guides'
Junio C Hamano [Sun, 1 Dec 2019 17:04:30 +0000 (09:04 -0800)] 
Merge branch 'pb/help-list-gitsubmodules-among-guides'

Help update.

* pb/help-list-gitsubmodules-among-guides:
  help: add gitsubmodules to the list of guides

4 years agoMerge branch 'sg/blame-indent-heuristics-is-now-the-default'
Junio C Hamano [Sun, 1 Dec 2019 17:04:30 +0000 (09:04 -0800)] 
Merge branch 'sg/blame-indent-heuristics-is-now-the-default'

Message update.

* sg/blame-indent-heuristics-is-now-the-default:
  builtin/blame.c: remove '--indent-heuristic' from usage string

4 years agoMerge branch 'mr/clone-dir-exists-to-path-exists'
Junio C Hamano [Sun, 1 Dec 2019 17:04:29 +0000 (09:04 -0800)] 
Merge branch 'mr/clone-dir-exists-to-path-exists'

Code cleanup.

* mr/clone-dir-exists-to-path-exists:
  clone: rename static function `dir_exists()`.

4 years agoMerge branch 'ma/bisect-doc-sample-update'
Junio C Hamano [Sun, 1 Dec 2019 17:04:29 +0000 (09:04 -0800)] 
Merge branch 'ma/bisect-doc-sample-update'

"git merge --no-commit" needs "--no-ff" if you do not want to move
HEAD, which has been corrected in the manual page for "git bisect".

* ma/bisect-doc-sample-update:
  Documentation/git-bisect.txt: add --no-ff to merge command

4 years agoMerge branch 'js/git-path-head-dot-lock-fix'
Junio C Hamano [Sun, 1 Dec 2019 17:04:29 +0000 (09:04 -0800)] 
Merge branch 'js/git-path-head-dot-lock-fix'

"git rev-parse --git-path HEAD.lock" did not give the right path
when run in a secondary worktree.

* js/git-path-head-dot-lock-fix:
  git_path(): handle `.lock` files correctly
  t1400: wrap setup code in test case

4 years agoMerge branch 'jc/log-graph-simplify'
Junio C Hamano [Sun, 1 Dec 2019 17:04:28 +0000 (09:04 -0800)] 
Merge branch 'jc/log-graph-simplify'

The implementation of "git log --graph" got refactored and then its
output got simplified.

* jc/log-graph-simplify:
  t4215: use helper function to check output
  graph: fix coloring of octopus dashes
  graph: flatten edges that fuse with their right neighbor
  graph: smooth appearance of collapsing edges on commit lines
  graph: rename `new_mapping` to `old_mapping`
  graph: commit and post-merge lines for left-skewed merges
  graph: tidy up display of left-skewed merges
  graph: example of graph output that can be simplified
  graph: extract logic for moving to GRAPH_PRE_COMMIT state
  graph: remove `mapping_idx` and `graph_update_width()`
  graph: reduce duplication in `graph_insert_into_new_columns()`
  graph: reuse `find_new_column_by_commit()`
  graph: handle line padding in `graph_next_line()`
  graph: automatically track display width of graph lines

4 years agoMerge branch 'jk/cleanup-object-parsing-and-fsck'
Junio C Hamano [Sun, 1 Dec 2019 17:04:28 +0000 (09:04 -0800)] 
Merge branch 'jk/cleanup-object-parsing-and-fsck'

Crufty code and logic accumulated over time around the object
parsing and low-level object access used in "git fsck" have been
cleaned up.

* jk/cleanup-object-parsing-and-fsck: (23 commits)
  fsck: accept an oid instead of a "struct tree" for fsck_tree()
  fsck: accept an oid instead of a "struct commit" for fsck_commit()
  fsck: accept an oid instead of a "struct tag" for fsck_tag()
  fsck: rename vague "oid" local variables
  fsck: don't require an object struct in verify_headers()
  fsck: don't require an object struct for fsck_ident()
  fsck: drop blob struct from fsck_finish()
  fsck: accept an oid instead of a "struct blob" for fsck_blob()
  fsck: don't require an object struct for report()
  fsck: only require an oid for skiplist functions
  fsck: only provide oid/type in fsck_error callback
  fsck: don't require object structs for display functions
  fsck: use oids rather than objects for object_name API
  fsck_describe_object(): build on our get_object_name() primitive
  fsck: unify object-name code
  fsck: require an actual buffer for non-blobs
  fsck: stop checking tag->tagged
  fsck: stop checking commit->parent counts
  fsck: stop checking commit->tree value
  commit, tag: don't set parsed bit for parse failures
  ...

4 years agot4215: use helper function to check output
Denton Liu [Tue, 12 Nov 2019 18:56:22 +0000 (10:56 -0800)] 
t4215: use helper function to check output

When git commands are placed in the upstream of a pipe, their return
codes are lost. In this particular case, it is especially bad since we
are testing the intricacies of `git log --graph` behavior and if we hit
an unexpected failure or segfault, we want to know this.

Extract the common output checking logic into check_graph() where we
redirect the output of git commands upstream of pipe into a file and
have sed read from that file so that git failures are detected.

This patch is best viewed with `--color-moved`.

Signed-off-by: Denton Liu <liu.denton@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agoThe first batch post 2.24 cycle
Junio C Hamano [Sun, 10 Nov 2019 09:00:59 +0000 (18:00 +0900)] 
The first batch post 2.24 cycle

Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agoMerge branch 'bc/hash-independent-tests-part-6'
Junio C Hamano [Sun, 10 Nov 2019 09:02:17 +0000 (18:02 +0900)] 
Merge branch 'bc/hash-independent-tests-part-6'

Test updates to prepare for SHA-2 transition continues.

* bc/hash-independent-tests-part-6:
  t4048: abstract away SHA-1-specific constants
  t4045: make hash-size independent
  t4044: update test to work with SHA-256
  t4039: abstract away SHA-1-specific constants
  t4038: abstract away SHA-1 specific constants
  t4034: abstract away SHA-1-specific constants
  t4027: make hash-size independent
  t4015: abstract away SHA-1-specific constants
  t4011: abstract away SHA-1-specific constants
  t4010: abstract away SHA-1-specific constants
  t3429: remove SHA1 annotation
  t1305: avoid comparing extensions
  rev-parse: add a --show-object-format option
  t/oid-info: add empty tree and empty blob values
  t/oid-info: allow looking up hash algorithm name

4 years agoMerge branch 'js/update-index-ignore-removal-for-skip-worktree'
Junio C Hamano [Sun, 10 Nov 2019 09:02:16 +0000 (18:02 +0900)] 
Merge branch 'js/update-index-ignore-removal-for-skip-worktree'

"git stash save" in a working tree that is sparsely checked out
mistakenly removed paths that are outside the area of interest.

* js/update-index-ignore-removal-for-skip-worktree:
  stash: handle staged changes in skip-worktree files correctly
  update-index: optionally leave skip-worktree entries alone

4 years agoMerge branch 'pb/pretty-email-without-domain-part'
Junio C Hamano [Sun, 10 Nov 2019 09:02:16 +0000 (18:02 +0900)] 
Merge branch 'pb/pretty-email-without-domain-part'

The custom format for "git log --format=<format>" learned the l/L
placeholder that is similar to e/E that fills in the e-mail
address, but only the local part on the left side of '@'.

* pb/pretty-email-without-domain-part:
  pretty: add "%aL" etc. to show local-part of email addresses
  t4203: use test-lib.sh definitions
  t6006: use test-lib.sh definitions

4 years agoMerge branch 'hw/remove-api-docs-placeholder'
Junio C Hamano [Sun, 10 Nov 2019 09:02:15 +0000 (18:02 +0900)] 
Merge branch 'hw/remove-api-docs-placeholder'

Docfix.

* hw/remove-api-docs-placeholder:
  documentation: remove empty doc files

4 years agoMerge branch 'sg/commit-graph-usage-fix'
Junio C Hamano [Sun, 10 Nov 2019 09:02:15 +0000 (18:02 +0900)] 
Merge branch 'sg/commit-graph-usage-fix'

Message fix.

* sg/commit-graph-usage-fix:
  builtin/commit-graph.c: remove subcommand-less usage string

4 years agoMerge branch 'dl/apply-3way-diff3'
Junio C Hamano [Sun, 10 Nov 2019 09:02:15 +0000 (18:02 +0900)] 
Merge branch 'dl/apply-3way-diff3'

"git apply --3way" learned to honor merge.conflictStyle
configuration variable, like merges would.

* dl/apply-3way-diff3:
  apply: respect merge.conflictStyle in --3way
  t4108: demonstrate bug in apply
  t4108: use `test_config` instead of `git config`
  t4108: remove git command upstream of pipe
  t4108: replace create_file with test_write_lines

4 years agoMerge branch 'sg/dir-trie-fixes'
Junio C Hamano [Sun, 10 Nov 2019 09:02:14 +0000 (18:02 +0900)] 
Merge branch 'sg/dir-trie-fixes'

Code clean-up and a bugfix in the logic used to tell worktree local
and repository global refs apart.

* sg/dir-trie-fixes:
  path.c: don't call the match function without value in trie_find()
  path.c: clarify two field names in 'struct common_dir'
  path.c: mark 'logs/HEAD' in 'common_list' as file
  path.c: clarify trie_find()'s in-code comment
  Documentation: mention more worktree-specific exceptions

4 years agoMerge branch 'jc/am-show-current-patch-docfix'
Junio C Hamano [Sun, 10 Nov 2019 09:02:14 +0000 (18:02 +0900)] 
Merge branch 'jc/am-show-current-patch-docfix'

Doc update.

* jc/am-show-current-patch-docfix:
  doc: am --show-current-patch gives an entire e-mail message

4 years agoMerge branch 'wb/midx-progress'
Junio C Hamano [Sun, 10 Nov 2019 09:02:14 +0000 (18:02 +0900)] 
Merge branch 'wb/midx-progress'

The code to generate multi-pack index learned to show (or not to
show) progress indicators.

* wb/midx-progress:
  multi-pack-index: add [--[no-]progress] option.
  midx: honor the MIDX_PROGRESS flag in midx_repack
  midx: honor the MIDX_PROGRESS flag in verify_midx_file
  midx: add progress to expire_midx_packs
  midx: add progress to write_midx_file
  midx: add MIDX_PROGRESS flag

4 years agoMerge branch 'en/merge-recursive-directory-rename-fixes'
Junio C Hamano [Sun, 10 Nov 2019 09:02:13 +0000 (18:02 +0900)] 
Merge branch 'en/merge-recursive-directory-rename-fixes'

When all files from some subdirectory were renamed to the root
directory, the directory rename heuristics would fail to detect that
as a rename/merge of the subdirectory to the root directory, which has
been corrected.

* en/merge-recursive-directory-rename-fixes:
  t604[236]: do not run setup in separate tests
  merge-recursive: fix merging a subdirectory into the root directory
  merge-recursive: clean up get_renamed_dir_portion()

4 years agoMerge branch 'js/rebase-deprecate-preserve-merges'
Junio C Hamano [Sun, 10 Nov 2019 09:02:13 +0000 (18:02 +0900)] 
Merge branch 'js/rebase-deprecate-preserve-merges'

"git rebase --preserve-merges" has been marked as deprecated; this
release stops advertising it in the "git rebase -h" output.

* js/rebase-deprecate-preserve-merges:
  rebase: hide --preserve-merges option

4 years agoMerge branch 'hv/bitshift-constants-in-blame'
Junio C Hamano [Sun, 10 Nov 2019 09:02:12 +0000 (18:02 +0900)] 
Merge branch 'hv/bitshift-constants-in-blame'

Move the definition of a set of bitmask constants from 0ctal
literal to (1U<<count) notation.

* hv/bitshift-constants-in-blame:
  builtin/blame.c: constants into bit shift format

4 years agoMerge branch 'dd/notes-copy-default-dst-to-head'
Junio C Hamano [Sun, 10 Nov 2019 09:02:12 +0000 (18:02 +0900)] 
Merge branch 'dd/notes-copy-default-dst-to-head'

"git notes copy $original" ought to copy the notes attached to the
original object to HEAD, but a mistaken tightening to command line
parameter validation made earlier disabled that feature by mistake.

* dd/notes-copy-default-dst-to-head:
  notes: fix minimum number of parameters to "copy" subcommand
  t3301: test diagnose messages for too few/many paramters

4 years agoMerge branch 'pw/post-commit-from-sequencer'
Junio C Hamano [Sun, 10 Nov 2019 09:02:12 +0000 (18:02 +0900)] 
Merge branch 'pw/post-commit-from-sequencer'

"rebase -i" ceased to run post-commit hook by mistake in an earlier
update, which has been corrected.

* pw/post-commit-from-sequencer:
  sequencer: run post-commit hook
  move run_commit_hook() to libgit and use it there
  sequencer.h fix placement of #endif
  t3404: remove uneeded calls to set_fake_editor
  t3404: set $EDITOR in subshell
  t3404: remove unnecessary subshell

4 years agoMerge branch 'dl/format-patch-cover-from-desc'
Junio C Hamano [Sun, 10 Nov 2019 09:02:11 +0000 (18:02 +0900)] 
Merge branch 'dl/format-patch-cover-from-desc'

The branch description ("git branch --edit-description") has been
used to fill the body of the cover letters by the format-patch
command; this has been enhanced so that the subject can also be
filled.

* dl/format-patch-cover-from-desc:
  format-patch: teach --cover-from-description option
  format-patch: use enum variables
  format-patch: replace erroneous and condition

4 years agoMerge branch 'es/walken-tutorial'
Junio C Hamano [Sun, 10 Nov 2019 09:02:11 +0000 (18:02 +0900)] 
Merge branch 'es/walken-tutorial'

A tutorial on object enumeration.

* es/walken-tutorial:
  documentation: add tutorial for object walking

4 years agoMerge branch 'jt/fetch-pack-record-refs-in-the-dot-promisor'
Junio C Hamano [Sun, 10 Nov 2019 09:02:10 +0000 (18:02 +0900)] 
Merge branch 'jt/fetch-pack-record-refs-in-the-dot-promisor'

Debugging support for lazy cloning has been a bit improved.

* jt/fetch-pack-record-refs-in-the-dot-promisor:
  fetch-pack: write fetched refs to .promisor

4 years agoFix spelling errors in no-longer-updated-from-upstream modules
Elijah Newren [Tue, 5 Nov 2019 17:07:30 +0000 (17:07 +0000)] 
Fix spelling errors in no-longer-updated-from-upstream modules

We have several modules originally taken from some upstream source,
and which as far as I can tell we no longer update from the upstream
anymore.  As such, I have not submitted these spelling fixes to any
external projects but just include them directly here.

Reported-by: Jens Schleusener <Jens.Schleusener@fossies.org>
Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agomultimail: fix a few simple spelling errors
Elijah Newren [Tue, 5 Nov 2019 17:07:29 +0000 (17:07 +0000)] 
multimail: fix a few simple spelling errors

Also submitted upstream as:
  https://github.com/git-multimail/git-multimail/pull/208

Reported-by: Jens Schleusener <Jens.Schleusener@fossies.org>
Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agosha1dc: fix trivial comment spelling error
Elijah Newren [Tue, 5 Nov 2019 17:07:28 +0000 (17:07 +0000)] 
sha1dc: fix trivial comment spelling error

Also submitted upstream at:
  https://github.com/cr-marcstevens/sha1collisiondetection/pull/52

Reported-by: Jens Schleusener <Jens.Schleusener@fossies.org>
Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agoFix spelling errors in test commands
Elijah Newren [Tue, 5 Nov 2019 17:07:27 +0000 (17:07 +0000)] 
Fix spelling errors in test commands

Apply several spelling fixes that technically change what the tests are
executing, but do so in a way that is not tested and does not affect results
(e.g. modify the commit message to remove a typo, remove spelling mistakes
from refnames, etc.)

Reported-by: Jens Schleusener <Jens.Schleusener@fossies.org>
Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agoFix spelling errors in messages shown to users
Elijah Newren [Tue, 5 Nov 2019 17:07:26 +0000 (17:07 +0000)] 
Fix spelling errors in messages shown to users

Reported-by: Jens Schleusener <Jens.Schleusener@fossies.org>
Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agoFix spelling errors in names of tests
Elijah Newren [Tue, 5 Nov 2019 17:07:25 +0000 (17:07 +0000)] 
Fix spelling errors in names of tests

Reported-by: Jens Schleusener <Jens.Schleusener@fossies.org>
Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agoFix spelling errors in comments of testcases
Elijah Newren [Tue, 5 Nov 2019 17:07:24 +0000 (17:07 +0000)] 
Fix spelling errors in comments of testcases

Reported-by: Jens Schleusener <Jens.Schleusener@fossies.org>
Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agoFix spelling errors in code comments
Elijah Newren [Tue, 5 Nov 2019 17:07:23 +0000 (17:07 +0000)] 
Fix spelling errors in code comments

Reported-by: Jens Schleusener <Jens.Schleusener@fossies.org>
Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agogit-shortlog.txt: include commit limiting options
Pratyush Yadav [Fri, 8 Nov 2019 19:26:27 +0000 (00:56 +0530)] 
git-shortlog.txt: include commit limiting options

git-shortlog, like git-log, supports options to filter what commits are
used to generate the log. These options come from git-rev-list, and are
documented in Documentation/rev-list-options.txt. Include those options
in shortlog's documentation.

But since rev-list-options.txt contains some other options that don't
really apply in the context of shortlog (like diff formatting, commit
ordering, etc), add a switch in rev-list-options.txt that excludes those
sections from the shortlog documentation. To be more specific, include
only the "Commit Limiting" and "History Simplification" sections.

Signed-off-by: Pratyush Yadav <me@yadavpratyush.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agot: fix typo in test descriptions
Nathan Stocks [Wed, 6 Nov 2019 04:18:09 +0000 (04:18 +0000)] 
t: fix typo in test descriptions

Fix two test descriptions which stated "git -ls-files" when the actual
command being tested was "git ls-files".

Signed-off-by: Nathan Stocks <cleancut@github.com>
Reviewed-by: Taylor Blau <me@ttaylorr.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agot6024: modernize style
Elijah Newren [Wed, 6 Nov 2019 01:34:09 +0000 (01:34 +0000)] 
t6024: modernize style

No substantive changes, just a few cosmetic changes:
  * Indent steps of an individual test
  * Don't have logic between the "test_expect_success" blocks that
    the next block will depend upon, move it into the
    test_expect_success section itself
  * Fix spacing around redirection operators to match git style

Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agoname-hash.c: remove duplicate word in comment
Elijah Newren [Tue, 5 Nov 2019 23:31:32 +0000 (23:31 +0000)] 
name-hash.c: remove duplicate word in comment

Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agohashmap: fix documentation misuses of -> versus .
Elijah Newren [Tue, 5 Nov 2019 23:31:31 +0000 (23:31 +0000)] 
hashmap: fix documentation misuses of -> versus .

Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agogit-filter-branch.txt: correct argument name typo
Elijah Newren [Tue, 5 Nov 2019 23:31:30 +0000 (23:31 +0000)] 
git-filter-branch.txt: correct argument name typo

Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agoremote-curl: unbreak http.extraHeader with custom allocators
Johannes Schindelin [Wed, 6 Nov 2019 10:04:55 +0000 (10:04 +0000)] 
remote-curl: unbreak http.extraHeader with custom allocators

In 93b980e58f5 (http: use xmalloc with cURL, 2019-08-15), we started to
ask cURL to use `xmalloc()`, and if compiled with nedmalloc, that means
implicitly a different allocator than the system one.

Which means that all of cURL's allocations and releases now _need_ to
use that allocator.

However, the `http_options()` function used `slist_append()` to add any
configured extra HTTP header(s) _before_ asking cURL to use `xmalloc()`,
and `http_cleanup()` would release them _afterwards_, i.e. in the
presence of custom allocators, cURL would attempt to use the wrong
allocator to release the memory.

A naïve attempt at fixing this would move the call to
`curl_global_init()` _before_ the config is parsed (i.e. before that
call to `slist_append()`).

However, that does not work, as we _also_ parse the config setting
`http.sslbackend` and if found, call `curl_global_sslset()` which *must*
be called before `curl_global_init()`, for details see:
https://curl.haxx.se/libcurl/c/curl_global_sslset.html

So let's instead make the config parsing entirely independent from
cURL's data structures. Incidentally, this deletes two more lines than
it introduces, which is nice.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agoFix spelling errors in documentation outside of Documentation/
Elijah Newren [Tue, 5 Nov 2019 17:07:21 +0000 (17:07 +0000)] 
Fix spelling errors in documentation outside of Documentation/

Reported-by: Jens Schleusener <Jens.Schleusener@fossies.org>
Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agoDocumentation: fix a bunch of typos, both old and new
Elijah Newren [Tue, 5 Nov 2019 17:07:20 +0000 (17:07 +0000)] 
Documentation: fix a bunch of typos, both old and new

Reported-by: Jens Schleusener <Jens.Schleusener@fossies.org>
Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agofsmonitor: fix watchman integration
Kevin Willford [Mon, 4 Nov 2019 17:50:41 +0000 (17:50 +0000)] 
fsmonitor: fix watchman integration

When running Git commands quickly -- such as in a shell script or the
test suite -- the Git commands frequently complete and start again
during the same second. The example fsmonitor hooks to integrate with
Watchman truncate the nanosecond times to seconds. In principle, this is
fine, as Watchman claims to use inclusive comparisons [1]. The result
should only be an over-representation of the changed paths since the
last Git command.

However, Watchman's own documentation claims "Using a timestamp is prone
to race conditions in understanding the complete state of the file tree"
[2]. All of their documented examples use a "clockspec" that looks like
'c:123:234'. Git should eventually learn how to store this type of
string to provide a stronger integration, but that will be a more
invasive change.

When using GIT_TEST_FSMONITOR="$(pwd)/t7519/fsmonitor-watchman", scripts
such as t7519-wtstatus.sh fail due to these race conditions. In fact,
running any test script with GIT_TEST_FSMONITOR pointing at
t/t7519/fsmonitor-wathcman will cause failures in the test_commit
function. The 'git add "$indir$file"' command fails due to not enough
time between the creation of '$file' and the 'git add' command.

For now, subtract one second from the timestamp we pass to Watchman.
This will make our window large enough to avoid these race conditions.
Increasing the window causes tests like t7519-wtstatus.sh to pass.

When the integration was introduced in def437671 (fsmonitor: add a
sample integration script for Watchman, 2018-09-22), the query included
an expression that would ignore files created and deleted in that
window. The performance reason for this change was to ignore temporary
files created by a build between Git commands. However, this causes
failures in script scenarios where Git is creating or deleting files
quickly.

When using GIT_TEST_FSMONITOR as before, t2203-add-intent.sh fails
due to this add-and-delete race condition.

By removing the "expression" from the Watchman query, we remove this
race condition. It will lead to some performance degradation in the case
of users creating and deleting temporary files inside their working
directory between Git commands. However, that is a cost we need to pay
to be correct.

[1] https://github.com/facebook/watchman/blob/master/query/since.cpp#L35-L39
[2] https://facebook.github.io/watchman/docs/clockspec.html

Helped-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Kevin Willford <Kevin.Willford@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agotrace2: add dots directly to strbuf in perf_fmt_prepare()
René Scharfe [Mon, 4 Nov 2019 19:27:54 +0000 (20:27 +0100)] 
trace2: add dots directly to strbuf in perf_fmt_prepare()

The initialization function of the Trace2 performance format target sets
aside a stash of dots for indenting output.  Get rid of it and use
strbuf_addchars() to provide dots on demand instead.  This shortens the
code, gets rid of a small heap allocation and is a bit more efficient.

Signed-off-by: René Scharfe <l.s.r@web.de>
Acked-by: Jeff King <peff@peff.net>
Acked-by: Jeff Hostetler <jeffhost@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agofetch: avoid locking issues between fetch.jobs/fetch.writeCommitGraph
Johannes Schindelin [Sun, 3 Nov 2019 00:21:57 +0000 (00:21 +0000)] 
fetch: avoid locking issues between fetch.jobs/fetch.writeCommitGraph

When both `fetch.jobs` and `fetch.writeCommitGraph` is set, we currently
try to write the commit graph in each of the concurrent fetch jobs,
which frequently leads to error messages like this one:

fatal: Unable to create '.../.git/objects/info/commit-graphs/commit-graph-chain.lock': File exists.

Let's avoid this by holding off from writing the commit graph until all
fetch jobs are done.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agofetch: add the command-line option `--write-commit-graph`
Johannes Schindelin [Sun, 3 Nov 2019 00:21:56 +0000 (00:21 +0000)] 
fetch: add the command-line option `--write-commit-graph`

This option overrides the config setting `fetch.writeCommitGraph`, if
both are set.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agoGit 2.24 v2.24.0
Junio C Hamano [Mon, 4 Nov 2019 04:32:41 +0000 (13:32 +0900)] 
Git 2.24

Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agoMerge branch 'bc/doc-use-docbook-5'
Junio C Hamano [Mon, 4 Nov 2019 04:33:06 +0000 (13:33 +0900)] 
Merge branch 'bc/doc-use-docbook-5'

Finishing touches to the recent update to the build procedure for
the documentation.

* bc/doc-use-docbook-5:
  manpage-bold-literal.xsl: match for namespaced "d:literal" in template

4 years agoMerge branch 'ds/commit-graph-on-fetch'
Junio C Hamano [Mon, 4 Nov 2019 04:33:06 +0000 (13:33 +0900)] 
Merge branch 'ds/commit-graph-on-fetch'

Regression fix.

* ds/commit-graph-on-fetch:
  commit-graph: fix writing first commit-graph during fetch
  t5510-fetch.sh: demonstrate fetch.writeCommitGraph bug

4 years agoMerge branch 'jt/delay-fetch-if-missing'
Junio C Hamano [Mon, 4 Nov 2019 04:33:05 +0000 (13:33 +0900)] 
Merge branch 'jt/delay-fetch-if-missing'

Work-around a lazy fetch glitch.

* jt/delay-fetch-if-missing:
  fetch: delay fetch_if_missing=0 until after config

4 years agoMerge https://github.com/prati0100/git-gui
Junio C Hamano [Mon, 4 Nov 2019 04:29:38 +0000 (13:29 +0900)] 
Merge https://github.com/prati0100/git-gui

* https://github.com/prati0100/git-gui:
  git-gui: improve Japanese translation
  git-gui: add a readme
  git-gui: support for diff3 conflict style
  git-gui: use existing interface to query a path's attribute
  git-gui (Windows): use git-bash.exe if it is available
  treewide: correct several "up-to-date" to "up to date"
  Fix build with core.autocrlf=true

4 years agoMerge tag 'l10n-2.24.0-rnd2' of https://github.com/git-l10n/git-po
Junio C Hamano [Mon, 4 Nov 2019 04:25:13 +0000 (13:25 +0900)] 
Merge tag 'l10n-2.24.0-rnd2' of https://github.com/git-l10n/git-po

l10n-2.24.0-rnd2

* tag 'l10n-2.24.0-rnd2' of https://github.com/git-l10n/git-po:
  l10n: zh_CN: for git v2.24.0 l10n round 1~2
  l10n: de.po: Update German translation
  l10n: sv.po: Update Swedish translation (4695t0f0u)
  l10n: bg.po: Updated Bulgarian translation (4694)
  l10n: vi(4694t): Updated translation for v2.24.0
  l10n: es: 2.24.0 round 2
  l10n: it.po: update the Italian translation for Git 2.24.0 round #2
  l10n: fr v2.24.0 rnd2
  l10n: git.pot: v2.24.0 round 2 (1 new)
  l10n: it.po: update the Italian translation for Git 2.24.0
  l10n: fr 2.24.0 rnd 1
  l10n: git.pot: v2.24.0 round 1 (35 new, 16 removed)
  l10n: bg.po: Updated Bulgarian translation (4693)
  l10n: sv.po: Update Swedish translation (4674t0f0u)
  l10n: Update Catalan translation

4 years agol10n: zh_CN: for git v2.24.0 l10n round 1~2
Jiang Xin [Tue, 29 Oct 2019 02:50:30 +0000 (10:50 +0800)] 
l10n: zh_CN: for git v2.24.0 l10n round 1~2

Translate 36 new messages (4694t0f0u) for git 2.24.0.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
4 years agomyfirstcontrib: hint to find gitgitgadget allower
Emily Shaffer [Thu, 31 Oct 2019 21:03:38 +0000 (14:03 -0700)] 
myfirstcontrib: hint to find gitgitgadget allower

GitGitGadget, a handy tool for converting pull requests against Git into
Git-mailing-list-friendly-patch-emails, requires as anti-spam that all
new users be "/allow"ed by an existing user once before it will do
anything for that new user. While this tutorial explained that
mechanism, it did not give much hint on how to go about finding someone
to allow your new pull request. So, teach our new GitGitGadget user
where to look for someone who can add their name to the list.

The advice in this patch is based on the advice proposed for
GitGitGadget: https://github.com/gitgitgadget/gitgitgadget/pull/138

Signed-off-by: Emily Shaffer <emilyshaffer@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agomyfirstcontrib: add dependency installation step
Emily Shaffer [Thu, 31 Oct 2019 21:03:37 +0000 (14:03 -0700)] 
myfirstcontrib: add dependency installation step

Indicate that the user needs some dependencies before the build will run
happily on their machine; this dependency list doesn't seem to be made
clear anywhere else in the project documentation. Then, so the user can
be certain any build failures are due to their code and not their
environment, perform a build on a clean checkout of 'master'. Also, move
the note about build parallelization up here, so that it appears next to
the very first build invocation in the tutorial.

Reported-by: Heba Waly <heba.waly@gmail.com>
Signed-off-by: Emily Shaffer <emilyshaffer@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agomyfirstcontrib: add 'psuh' to command-list.txt
Emily Shaffer [Thu, 31 Oct 2019 21:03:36 +0000 (14:03 -0700)] 
myfirstcontrib: add 'psuh' to command-list.txt

Users can discover commands and their brief usage by running 'git help
git' or 'git help -a'; both of these pages list all available commands
based on the contents of 'command-list.txt'. That means adding a new
command there is an important part of the new command process, and
therefore belongs in the new command tutorial.

Teach new users how to add their command, and include a brief overview
of how to discover which attributes to place on the command in the list.

Since 'git psuh' prints some workspace info, doesn't modify anything,
and is targeted as a user-facing porcelain command, list it as a
'mainporcelain' and 'info' command.

As the usage string is required to generate this documentation, don't
add the command to the list until after the usage string is added to the
tutorial.

Reported-by: SZEDER Gábor <szeder.dev@gmail.com>
Signed-off-by: Emily Shaffer <emilyshaffer@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agostash: handle staged changes in skip-worktree files correctly
Johannes Schindelin [Wed, 30 Oct 2019 10:49:38 +0000 (10:49 +0000)] 
stash: handle staged changes in skip-worktree files correctly

When calling `git stash` while changes were staged for files that are
marked with the `skip-worktree` bit (e.g. files that are excluded in a
sparse checkout), the files are recorded as _deleted_ instead.

The reason is that `git stash` tries to construct the tree reflecting
the worktree essentially by copying the index to a temporary one and
then updating the files from the worktree. Crucially, it calls `git
diff-index` to update also those files that are in the HEAD but have
been unstaged in the index.

However, when the temporary index is updated via `git update-index --add
--remove`, skip-worktree entries mark the files as deleted by mistake.

Let's use the newly-introduced `--ignore-skip-worktree-entries` option
of `git update-index` to prevent exactly this from happening.

Note that the regression test case deliberately avoids replicating the
scenario described above and instead tries to recreate just the symptom.

Reported by Dan Thompson.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agoupdate-index: optionally leave skip-worktree entries alone
Johannes Schindelin [Wed, 30 Oct 2019 10:49:37 +0000 (10:49 +0000)] 
update-index: optionally leave skip-worktree entries alone

While `git update-index` mostly ignores paths referring to index entries
whose skip-worktree bit is set, in b4d1690df11 (Teach Git to respect
skip-worktree bit (reading part), 2009-08-20), for reasons that are not
entirely obvious, the `--remove` option was made special: it _does_
remove index entries even if their skip-worktree bit is set.

Seeing as this behavior has been in place for a decade now, it does not
make sense to change it.

However, in preparation for fixing a bug in `git stash` where it
pretends that skip-worktree entries have actually been removed, we need
a mode where `git update-index` leaves all skip-worktree entries alone,
even if the `--remove` option was passed.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agovreportf(): avoid relying on stdio buffering
Johannes Schindelin [Wed, 30 Oct 2019 10:44:36 +0000 (10:44 +0000)] 
vreportf(): avoid relying on stdio buffering

The MSVC runtime behavior differs from glibc's with respect to
`fprintf(stderr, ...)` in that the former writes out the message
character by character.

In t5516, this leads to a funny problem where a `git fetch` process as
well as the `git upload-pack` process spawned by it _both_ call `die()`
at the same time. The output can look like this:

fatal: git uploadfata-lp: raemcokte :error:  upload-pnot our arcef k6: n4ot our ea4cr1e3f 36d45ea94fca1398e86a771eda009872d63adb28598f6a9
8e86a771eda009872d6ab2886

Let's avoid this predicament altogether by rendering the entire message,
including the prefix and the trailing newline, into the buffer we
already have (and which is still fixed size) and then write it out via
`write_in_full()`.

We still clip the message to at most 4095 characters.

The history of `vreportf()` with regard to this issue includes the
following commits:

d048a96e (2007-11-09) - 'char msg[256]' is introduced to avoid interleaving
389d1767 (2009-03-25) - Buffer size increased to 1024 to avoid truncation
625a860c (2009-11-22) - Buffer size increased to 4096 to avoid truncation
f4c3edc0 (2015-08-11) - Buffer removed to avoid truncation
b5a9e435 (2017-01-11) - Reverts f4c3edc0 to be able to replace control
                        chars before sending to stderr
9ac13ec9 (2006-10-11) - Another attempt to solve interleaving.
                        This is seemingly related to d048a96e.
137a0d0e (2007-11-19) - Addresses out-of-order for display()
34df8aba (2009-03-10) - Switches xwrite() to fprintf() in recv_sideband()
                        to support UTF-8 emulation
eac14f89 (2012-01-14) - Removes the need for fprintf() for UTF-8 emulation,
                        so it's safe to use xwrite() again
5e5be9e2 (2016-06-28) - recv_sideband() uses xwrite() again

Note that we print nothing if the `vsnprintf()` call failed to render
the error message; There is little we can do in that case, and it should
not happen anyway.

The process may have written to `stderr` and there may be something left
in the buffer kept in the stdio layer. Call `fflush(stderr)` before
writing the message we prepare in this function.

Helped-by: Jeff King <peff@peff.net>
Helped-by: Alexandr Miloslavskiy <alexandr.miloslavskiy@syntevo.com>
Helped-by: SZEDER Gábor <szeder.dev@gmail.com>
Helped-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agoRelNotes/2.24.0: fix self-contradictory note
Elijah Newren [Wed, 30 Oct 2019 20:21:18 +0000 (20:21 +0000)] 
RelNotes/2.24.0: fix self-contradictory note

As per Wikipedia, "In current technical usage, for one to state that a
feature is deprecated is merely a recommendation against using it."  It
is thus contradictory to claim that something is not "officially
deprecated" and then to immediately state that we are both discouraging
its use and pointing people elsewhere.

Signed-off-by: Elijah Newren <newren@gmail.com>
Reviewed-by: Taylor Blau <me@ttaylorr.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agofetch.c: fix typo in a warning message
Ralf Thielow [Thu, 31 Oct 2019 20:41:46 +0000 (20:41 +0000)] 
fetch.c: fix typo in a warning message

Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agomanpage-bold-literal.xsl: match for namespaced "d:literal" in template
Martin Ågren [Thu, 31 Oct 2019 06:22:27 +0000 (07:22 +0100)] 
manpage-bold-literal.xsl: match for namespaced "d:literal" in template

We recently regressed our rendering with Asciidoctor of "literal"
elements in our manpages, i.e, stuff we have placed within `backticks`
in order to render as monospace. In particular, we lost the bold
rendering of such literal text.

The culprit is f6461b82b9 ("Documentation: fix build with Asciidoctor 2",
2019-09-15), where we switched from DocBook 4.5 to DocBook 5 with
Asciidoctor. As part of the switch, we started using the namespaced
DocBook XSLT stylesheets rather than the non-namespaced ones. (See
f6461b82b9 for more details on why we changed to the namespaced ones.)

The bold literals are implemented as an XSLT snippet <xsl:template
match="literal">...</xsl:template>. Now that we use namespaces, this
doesn't pick up our literals like it used to.

Match for "d:literal" in addition to just "literal", after defining the
d namespace. ("d" is what
http://docbook.sourceforge.net/release/xsl-ns/current/manpages/docbook.xsl
uses.) Note that we need to keep matching without the namespace for
AsciiDoc.

This boldness was introduced by 5121a6d993 ("Documentation: option to
render literal text as bold for manpages", 2009-03-27) and made the
default in 5945717009 ("Documentation: bold literals in man",
2016-05-31).

One reason this was not caught in review is that our doc-diff tool diffs
without any boldness, i.e., it "only" compares text. As pointed out by
Peff in review of this patch, one can use `MAN_KEEP_FORMATTING=1
./doc-diff <...>`

This has been optically tested with AsciiDoc 8.6.10, Asciidoctor 1.5.5
and Asciidoctor 2.0.10. I've also verified that doc-diff produces the
empty output for all three programs, as expected, and that with the
MAN_KEEP_FORMATTING trick, AsciiDoc yields no diff, whereas with
Asciidoctor, we get bold literals, just like we want.

Signed-off-by: Martin Ågren <martin.agren@gmail.com>
Acked-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agoRelNotes/2.24.0: typofix
Elijah Newren [Wed, 30 Oct 2019 20:21:17 +0000 (20:21 +0000)] 
RelNotes/2.24.0: typofix

Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agogit-diff.txt: document return code of `--no-index`
Denton Liu [Tue, 29 Oct 2019 16:54:32 +0000 (09:54 -0700)] 
git-diff.txt: document return code of `--no-index`

Within diff_no_index(), we have the following:

revs->diffopt.flags.exit_with_status = 1;

...

/*
 * The return code for --no-index imitates diff(1):
 * 0 = no changes, 1 = changes, else error
 */
return diff_result_code(&revs->diffopt, 0);

Which means when `git diff` is run in `--no-index` mode, `--exit-code`
is implied. However, the documentation for this is missing in
git-diff.txt.

Add a note about how `--exit-code` is implied in the `--no-index`
documentation to cover this documentation blindspot.

Signed-off-by: Denton Liu <liu.denton@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agol10n: de.po: Update German translation
Matthias Rüster [Wed, 23 Oct 2019 17:13:19 +0000 (19:13 +0200)] 
l10n: de.po: Update German translation

Signed-off-by: Matthias Rüster <matthias.ruester@gmail.com>
Reviewed-by: Ralf Thielow <ralf.thielow@gmail.com>
Reviewed-by: Phillip Szelat <phillip.szelat@gmail.com>
4 years agol10n: sv.po: Update Swedish translation (4695t0f0u)
Peter Krefting [Wed, 30 Oct 2019 22:22:13 +0000 (23:22 +0100)] 
l10n: sv.po: Update Swedish translation (4695t0f0u)

Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
4 years agoGit 2.24-rc2 v2.24.0-rc2
Junio C Hamano [Wed, 30 Oct 2019 06:12:53 +0000 (15:12 +0900)] 
Git 2.24-rc2

Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agoMerge branch 'wb/fsmonitor-bitmap-fix'
Junio C Hamano [Wed, 30 Oct 2019 06:13:13 +0000 (15:13 +0900)] 
Merge branch 'wb/fsmonitor-bitmap-fix'

Comment update.

* wb/fsmonitor-bitmap-fix:
  t7519-status-fsmonitor: improve comments

4 years agoMerge branch 'rl/gitweb-blame-prev-fix'
Junio C Hamano [Wed, 30 Oct 2019 06:13:13 +0000 (15:13 +0900)] 
Merge branch 'rl/gitweb-blame-prev-fix'

Fix a rather old bug in gitweb---incremental blame output in
javascript actions mode never worked.

* rl/gitweb-blame-prev-fix:
  gitweb: correctly store previous rev in javascript-actions mode

4 years agoMerge branch 'js/mingw-needs-hiding-fix'
Junio C Hamano [Wed, 30 Oct 2019 06:13:13 +0000 (15:13 +0900)] 
Merge branch 'js/mingw-needs-hiding-fix'

Fix for a (rather old) buffer-overrun bug.

* js/mingw-needs-hiding-fix:
  mingw: avoid a buffer overrun in `needs_hiding()`

4 years agoMerge branch 'master' of github.com:vnwildman/git
Jiang Xin [Wed, 30 Oct 2019 06:07:58 +0000 (14:07 +0800)] 
Merge branch 'master' of github.com:vnwildman/git

* 'master' of github.com:vnwildman/git:
  l10n: vi(4694t): Updated translation for v2.24.0

4 years agoMerge branch 'next' of github.com:ChrisADR/git-po
Jiang Xin [Wed, 30 Oct 2019 06:02:22 +0000 (14:02 +0800)] 
Merge branch 'next' of github.com:ChrisADR/git-po

* 'next' of github.com:ChrisADR/git-po:
  l10n: es: 2.24.0 round 2

4 years agot7519-status-fsmonitor: improve comments
William Baker [Wed, 16 Oct 2019 19:35:47 +0000 (19:35 +0000)] 
t7519-status-fsmonitor: improve comments

The comments for the staging/unstaging test did not accurately
describe the scenario being tested.  It is not essential that
the test files being staged/unstaged appear at the end of the
index.  All that is required is that the test files are not
flagged with CE_FSMONITOR_VALID and have a position in the
index greater than the number of entries in the index after
unstaging.

The comment for this test has been updated to be more
accurate with respect to the scenario that's being tested.

Signed-off-by: William Baker <William.Baker@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agopretty: add "%aL" etc. to show local-part of email addresses
Prarit Bhargava [Tue, 29 Oct 2019 12:09:14 +0000 (08:09 -0400)] 
pretty: add "%aL" etc. to show local-part of email addresses

In many projects the number of contributors is low enough that users know
each other and the full email address doesn't need to be displayed.
Displaying only the author's username saves a lot of columns on the screen.

Existing 'e/E' (as in "%ae" and "%aE") placeholders would show the
author's address as "prarit@redhat.com", which would waste columns to show
the same domain-part for all contributors when used in a project internal
to redhat.  Introduce 'l/L' placeholders that strip '@' and domain part from
the e-mail address.

Signed-off-by: Prarit Bhargava <prarit@redhat.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agoworktree: teach "add" to ignore submodule.recurse config
Philippe Blain [Sun, 27 Oct 2019 17:16:25 +0000 (17:16 +0000)] 
worktree: teach "add" to ignore submodule.recurse config

"worktree add" internally calls "reset --hard", but if
submodule.recurse is set, reset tries to recurse into
initialized submodules, which makes start_command try to
cd into non-existing submodule paths and die.

Fix that by making sure that the call to reset in "worktree add"
does not recurse.

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agol10n: bg.po: Updated Bulgarian translation (4694)
Alexander Shopov [Tue, 29 Oct 2019 10:37:45 +0000 (11:37 +0100)] 
l10n: bg.po: Updated Bulgarian translation (4694)

Signed-off-by: Alexander Shopov <ash@kambanaria.org>
4 years agol10n: vi(4694t): Updated translation for v2.24.0
Tran Ngoc Quan [Tue, 29 Oct 2019 07:38:42 +0000 (14:38 +0700)] 
l10n: vi(4694t): Updated translation for v2.24.0

Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>
4 years agohelp: add gitsubmodules to the list of guides
Philippe Blain [Mon, 28 Oct 2019 13:05:46 +0000 (13:05 +0000)] 
help: add gitsubmodules to the list of guides

The guide "gitsubmodules" was added in d480345 (submodules: overhaul
documentation, 2017-06-22), but it was not added to
command-list.txt when commit 1b81d8c (help: use command-list.txt
for the source of guides, 2018-05-20) taught "git help" to obtain the
guide list from this file.

Add it now, and capitalize the first word of the description of
gitsubmodules, as was done in 1b81d8c (help: use command-list.txt
for the source of guides, 2018-05-20) for the other guides.

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agogit_path(): handle `.lock` files correctly
Johannes Schindelin [Mon, 28 Oct 2019 12:57:18 +0000 (12:57 +0000)] 
git_path(): handle `.lock` files correctly

Ever since worktrees were introduced, the `git_path()` function _really_
needed to be called e.g. to get at the path to `logs/HEAD` (`HEAD` is
specific to the worktree, and therefore so is its reflog). However, the
wrong path is returned for `logs/HEAD.lock`.

This does not matter as long as the Git executable is doing the asking,
as the path for that `logs/HEAD.lock` file is constructed from
`git_path("logs/HEAD")` by appending the `.lock` suffix.

However, Git GUI just learned to use `--git-path` instead of appending
relative paths to what `git rev-parse --git-dir` returns (and as a
consequence not only using the correct hooks directory, but also using
the correct paths in worktrees other than the main one). While it does
not seem as if Git GUI in particular is asking for `logs/HEAD.lock`,
let's be safe rather than sorry.

Side note: Git GUI _does_ ask for `index.lock`, but that is already
resolved correctly, due to `update_common_dir()` preferring to leave
unknown paths in the (worktree-specific) git directory.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agot1400: wrap setup code in test case
Johannes Schindelin [Mon, 28 Oct 2019 12:57:17 +0000 (12:57 +0000)] 
t1400: wrap setup code in test case

Without this, you cannot use `--run=<...>` to skip that part, and a run
with `--run=0` (which is a common way to determine the test case number
corresponding to a given test case title).

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agobuiltin/blame.c: remove '--indent-heuristic' from usage string
SZEDER Gábor [Mon, 28 Oct 2019 10:52:41 +0000 (11:52 +0100)] 
builtin/blame.c: remove '--indent-heuristic' from usage string

The indent heuristic is our default diff heuristic since 33de716387
(diff: enable indent heuristic by default, 2017-05-08), but the usage
string of 'git blame' still mentions it as "experimental heuristic".

We could simply update the short help associated with the option, but
according to the comment above the option's declaration it was "only
included here to get included in the "-h" output".  That made sense
while the feature was still experimental and we wanted to give it more
exposure, but nowadays it's unnecessary.

So let's rather remove the '--indent-heuristic' option from 'git
blame's usage string.  Note that 'git blame' will still accept this
option, as it is parsed in parse_revision_opt().

Astute readers may notice that this patch removes a comment mentioning
"the following two options", but it only removes one option.  The
reason is that the comment is outdated: that other options was
'--compaction-heuristic', and it has already been removed in
3cde4e02ee (diff: retire "compaction" heuristics, 2016-12-23), but
that commit forgot to update this comment.

Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agoclone: rename static function `dir_exists()`.
Miriam Rubio [Mon, 28 Oct 2019 16:55:23 +0000 (17:55 +0100)] 
clone: rename static function `dir_exists()`.

builtin/clone.c has a static function dir_exists() that
checks if a given path exists on the filesystem.  It returns
true (and it is correct for it to return true) when the
given path exists as a non-directory (e.g. a regular file).

This is confusing.  What the caller wants to check, and what
this function wants to return, is if the path exists, so
rename it to path_exists().

Signed-off-by: Miriam Rubio <mirucam@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agoDocumentation/git-bisect.txt: add --no-ff to merge command
Mihail Atanassov [Mon, 28 Oct 2019 22:01:22 +0000 (22:01 +0000)] 
Documentation/git-bisect.txt: add --no-ff to merge command

The hotfix application example uses `git merge --no-commit` to apply
temporary changes to the working tree during a bisect operation. In some
situations this can be a fast-forward and `merge` will apply the hotfix
branch's commits regardless of `--no-commit` (as documented in the `git
merge` manual).

In the pathological case this will make a `git bisect run` invocation
loop indefinitely between the first bisect step and the fast-forwarded
post-merge HEAD.

Add `--no-ff` to the merge command to avoid this issue.

Signed-off-by: Mihail Atanassov <m.atanassov92@gmail.com>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agol10n: es: 2.24.0 round 2
Christopher Diaz Riveros [Sun, 15 Sep 2019 21:56:56 +0000 (23:56 +0200)] 
l10n: es: 2.24.0 round 2

Signed-off-by: Christopher Diaz Riveros <christopher.diaz.riv@gmail.com>