git
6 years agoconfig.txt: move man.* to a separate file
Nguyễn Thái Ngọc Duy [Sat, 27 Oct 2018 06:23:18 +0000 (08:23 +0200)] 
config.txt: move man.* to a separate file

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agoconfig.txt: move mailmap.* to a separate file
Nguyễn Thái Ngọc Duy [Sat, 27 Oct 2018 06:23:17 +0000 (08:23 +0200)] 
config.txt: move mailmap.* to a separate file

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agoconfig.txt: move mailinfo.* to a separate file
Nguyễn Thái Ngọc Duy [Sat, 27 Oct 2018 06:23:16 +0000 (08:23 +0200)] 
config.txt: move mailinfo.* to a separate file

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agoconfig.txt: move log.* to a separate file
Nguyễn Thái Ngọc Duy [Sat, 27 Oct 2018 06:23:15 +0000 (08:23 +0200)] 
config.txt: move log.* to a separate file

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agoconfig.txt: move interactive.* to a separate file
Nguyễn Thái Ngọc Duy [Sat, 27 Oct 2018 06:23:14 +0000 (08:23 +0200)] 
config.txt: move interactive.* to a separate file

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agoconfig.txt: move instaweb.* to a separate file
Nguyễn Thái Ngọc Duy [Sat, 27 Oct 2018 06:23:13 +0000 (08:23 +0200)] 
config.txt: move instaweb.* to a separate file

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agoconfig.txt: move init.* to a separate file
Nguyễn Thái Ngọc Duy [Sat, 27 Oct 2018 06:23:12 +0000 (08:23 +0200)] 
config.txt: move init.* to a separate file

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agoconfig.txt: move index.* to a separate file
Nguyễn Thái Ngọc Duy [Sat, 27 Oct 2018 06:23:11 +0000 (08:23 +0200)] 
config.txt: move index.* to a separate file

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agogit-imap-send.txt: move imap.* to a separate file
Nguyễn Thái Ngọc Duy [Sat, 27 Oct 2018 06:23:10 +0000 (08:23 +0200)] 
git-imap-send.txt: move imap.* to a separate file

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agoconfig.txt: move i18n.* to a separate file
Nguyễn Thái Ngọc Duy [Sat, 27 Oct 2018 06:23:09 +0000 (08:23 +0200)] 
config.txt: move i18n.* to a separate file

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agoconfig.txt: move http.* to a separate file
Nguyễn Thái Ngọc Duy [Sat, 27 Oct 2018 06:23:08 +0000 (08:23 +0200)] 
config.txt: move http.* to a separate file

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agoconfig.txt: move ssh.* to a separate file
Nguyễn Thái Ngọc Duy [Sat, 27 Oct 2018 06:23:07 +0000 (08:23 +0200)] 
config.txt: move ssh.* to a separate file

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agoconfig.txt: move help.* to a separate file
Nguyễn Thái Ngọc Duy [Sat, 27 Oct 2018 06:23:06 +0000 (08:23 +0200)] 
config.txt: move help.* to a separate file

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agoconfig.txt: move guitool.* to a separate file
Nguyễn Thái Ngọc Duy [Sat, 27 Oct 2018 06:23:05 +0000 (08:23 +0200)] 
config.txt: move guitool.* to a separate file

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agoconfig.txt: move gui-config.txt to config/
Nguyễn Thái Ngọc Duy [Sat, 27 Oct 2018 06:23:04 +0000 (08:23 +0200)] 
config.txt: move gui-config.txt to config/

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agoconfig.txt: move gpg.* to a separate file
Nguyễn Thái Ngọc Duy [Sat, 27 Oct 2018 06:23:03 +0000 (08:23 +0200)] 
config.txt: move gpg.* to a separate file

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agoconfig.txt: move grep.* to a separate file
Nguyễn Thái Ngọc Duy [Sat, 27 Oct 2018 06:23:02 +0000 (08:23 +0200)] 
config.txt: move grep.* to a separate file

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agoconfig.txt: move gitweb.* to a separate file
Nguyễn Thái Ngọc Duy [Sat, 27 Oct 2018 06:23:01 +0000 (08:23 +0200)] 
config.txt: move gitweb.* to a separate file

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agoconfig.txt: move gitcvs-config.txt to config/
Nguyễn Thái Ngọc Duy [Sat, 27 Oct 2018 06:23:00 +0000 (08:23 +0200)] 
config.txt: move gitcvs-config.txt to config/

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agoconfig.txt: move gc.* to a separate file
Nguyễn Thái Ngọc Duy [Sat, 27 Oct 2018 06:22:59 +0000 (08:22 +0200)] 
config.txt: move gc.* to a separate file

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agoconfig.txt: move fsck.* to a separate file
Nguyễn Thái Ngọc Duy [Sat, 27 Oct 2018 06:22:58 +0000 (08:22 +0200)] 
config.txt: move fsck.* to a separate file

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agoconfig.txt: move fmt-merge-msg-config.txt to config/
Nguyễn Thái Ngọc Duy [Sat, 27 Oct 2018 06:22:57 +0000 (08:22 +0200)] 
config.txt: move fmt-merge-msg-config.txt to config/

Note that this file is not directly included in config.txt but through
merge-config.txt and it's in "merge" section instead of a separate
"fmtMergeMsg" section like others.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agoconfig.txt: move format-config.txt to config/
Nguyễn Thái Ngọc Duy [Sat, 27 Oct 2018 06:22:56 +0000 (08:22 +0200)] 
config.txt: move format-config.txt to config/

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agoconfig.txt: move filter.* to a separate file
Nguyễn Thái Ngọc Duy [Sat, 27 Oct 2018 06:22:55 +0000 (08:22 +0200)] 
config.txt: move filter.* to a separate file

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agoconfig.txt: move fetch-config.txt to config/
Nguyễn Thái Ngọc Duy [Sat, 27 Oct 2018 06:22:54 +0000 (08:22 +0200)] 
config.txt: move fetch-config.txt to config/

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agoconfig.txt: move fastimport.* to a separate file
Nguyễn Thái Ngọc Duy [Sat, 27 Oct 2018 06:22:53 +0000 (08:22 +0200)] 
config.txt: move fastimport.* to a separate file

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agoconfig.txt: move difftool.* to a separate file
Nguyễn Thái Ngọc Duy [Sat, 27 Oct 2018 06:22:52 +0000 (08:22 +0200)] 
config.txt: move difftool.* to a separate file

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agoconfig.txt: move diff-config.txt to config/
Nguyễn Thái Ngọc Duy [Sat, 27 Oct 2018 06:22:51 +0000 (08:22 +0200)] 
config.txt: move diff-config.txt to config/

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agoconfig.txt: move completion.* to a separate file
Nguyễn Thái Ngọc Duy [Sat, 27 Oct 2018 06:22:50 +0000 (08:22 +0200)] 
config.txt: move completion.* to a separate file

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agoconfig.txt: move credential.* to a separate file
Nguyễn Thái Ngọc Duy [Sat, 27 Oct 2018 06:22:49 +0000 (08:22 +0200)] 
config.txt: move credential.* to a separate file

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agoconfig.txt: move commit.* to a separate file
Nguyễn Thái Ngọc Duy [Sat, 27 Oct 2018 06:22:48 +0000 (08:22 +0200)] 
config.txt: move commit.* to a separate file

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agoconfig.txt: move column.* to a separate file
Nguyễn Thái Ngọc Duy [Sat, 27 Oct 2018 06:22:47 +0000 (08:22 +0200)] 
config.txt: move column.* to a separate file

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agoconfig.txt: move color.* to a separate file
Nguyễn Thái Ngọc Duy [Sat, 27 Oct 2018 06:22:46 +0000 (08:22 +0200)] 
config.txt: move color.* to a separate file

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agoconfig.txt: move clean.* to a separate file
Nguyễn Thái Ngọc Duy [Sat, 27 Oct 2018 06:22:45 +0000 (08:22 +0200)] 
config.txt: move clean.* to a separate file

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agoconfig.txt: move checkout.* to a separate file
Nguyễn Thái Ngọc Duy [Sat, 27 Oct 2018 06:22:44 +0000 (08:22 +0200)] 
config.txt: move checkout.* to a separate file

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agoconfig.txt: move browser.* to a separate file
Nguyễn Thái Ngọc Duy [Sat, 27 Oct 2018 06:22:43 +0000 (08:22 +0200)] 
config.txt: move browser.* to a separate file

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agoconfig.txt: move branch.* to a separate file
Nguyễn Thái Ngọc Duy [Sat, 27 Oct 2018 06:22:42 +0000 (08:22 +0200)] 
config.txt: move branch.* to a separate file

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agoconfig.txt: move blame.* to a separate file
Nguyễn Thái Ngọc Duy [Sat, 27 Oct 2018 06:22:41 +0000 (08:22 +0200)] 
config.txt: move blame.* to a separate file

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agoconfig.txt: move apply.* to a separate file
Nguyễn Thái Ngọc Duy [Sat, 27 Oct 2018 06:22:40 +0000 (08:22 +0200)] 
config.txt: move apply.* to a separate file

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agoconfig.txt: move am.* to a separate file
Nguyễn Thái Ngọc Duy [Sat, 27 Oct 2018 06:22:39 +0000 (08:22 +0200)] 
config.txt: move am.* to a separate file

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agoconfig.txt: move alias.* to a separate file
Nguyễn Thái Ngọc Duy [Sat, 27 Oct 2018 06:22:38 +0000 (08:22 +0200)] 
config.txt: move alias.* to a separate file

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agoconfig.txt: move add.* to a separate file
Nguyễn Thái Ngọc Duy [Sat, 27 Oct 2018 06:22:37 +0000 (08:22 +0200)] 
config.txt: move add.* to a separate file

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agoconfig.txt: move core.* to a separate file
Nguyễn Thái Ngọc Duy [Sat, 27 Oct 2018 06:22:36 +0000 (08:22 +0200)] 
config.txt: move core.* to a separate file

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agoconfig.txt: move advice.* to a separate file
Nguyễn Thái Ngọc Duy [Sat, 27 Oct 2018 06:22:35 +0000 (08:22 +0200)] 
config.txt: move advice.* to a separate file

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agoUpdate makefile in preparation for Documentation/config/*.txt
Nguyễn Thái Ngọc Duy [Sat, 27 Oct 2018 06:22:34 +0000 (08:22 +0200)] 
Update makefile in preparation for Documentation/config/*.txt

config.txt is going to be broken down in smaller pieces and put under
Documentation/config directory. Update build rules to take these files
into account.

A dummy file is added to make sure wildcard expansion is predictable
(depending on shell setting it could expand to nothing or becomes a
path if config directory is empty). The file will be deleted once the
move is over.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agoMerge branches 'bp/reset-quiet' and 'js/mingw-http-ssl' into nd/config-split
Junio C Hamano [Mon, 29 Oct 2018 01:15:31 +0000 (10:15 +0900)] 
Merge branches 'bp/reset-quiet' and 'js/mingw-http-ssl' into nd/config-split

* bp/reset-quiet:
  reset: warn when refresh_index() takes more than 2 seconds
  reset: add new reset.quiet config setting
  reset: don't compute unstaged changes after reset when --quiet

* js/mingw-http-ssl:
  http: when using Secure Channel, ignore sslCAInfo by default
  http: add support for disabling SSL revocation checks in cURL
  http: add support for selecting SSL backends at runtime

6 years agoSixth batch for 2.20
Junio C Hamano [Fri, 26 Oct 2018 05:53:16 +0000 (14:53 +0900)] 
Sixth batch for 2.20

Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agoMerge branch 'js/mingw-default-ident'
Junio C Hamano [Fri, 26 Oct 2018 05:22:15 +0000 (14:22 +0900)] 
Merge branch 'js/mingw-default-ident'

The logic to select the default user name and e-mail on Windows has
been improved.

* js/mingw-default-ident:
  mingw: use domain information for default email
  getpwuid(mingw): provide a better default for the user name
  getpwuid(mingw): initialize the structure only once

6 years agoMerge branch 'ld/p4-unshelve'
Junio C Hamano [Fri, 26 Oct 2018 05:22:15 +0000 (14:22 +0900)] 
Merge branch 'ld/p4-unshelve'

"git p4 unshelve" improvements.

* ld/p4-unshelve:
  git-p4: fully support unshelving changelists
  git-p4: unshelve into refs/remotes/p4-unshelved, not refs/remotes/p4/unshelved
  git-p4: do not fail in verbose mode for missing 'fileSize' key

6 years agoMerge branch 'du/cherry-is-plumbing'
Junio C Hamano [Fri, 26 Oct 2018 05:22:14 +0000 (14:22 +0900)] 
Merge branch 'du/cherry-is-plumbing'

Doc update to mark "git cherry" as a plumbing command.

* du/cherry-is-plumbing:
  doc: move git-cherry to plumbing

6 years agoMerge branch 'ab/gc-doc-update'
Junio C Hamano [Fri, 26 Oct 2018 05:22:14 +0000 (14:22 +0900)] 
Merge branch 'ab/gc-doc-update'

The documentation of "git gc" has been updated to mention that it
is no longer limited to "pruning away crufts" but also updates
ancillary files like commit-graph as a part of repository
optimization.

* ab/gc-doc-update:
  gc doc: mention the commit-graph in the intro

6 years agoMerge branch 'js/fuzzer'
Junio C Hamano [Fri, 26 Oct 2018 05:22:13 +0000 (14:22 +0900)] 
Merge branch 'js/fuzzer'

An experiment to fuzz test a few areas, hopefully we can gain more
coverage to various areas.

* js/fuzzer:
  fuzz: add fuzz testing for packfile indices.
  fuzz: add basic fuzz testing target.

6 years agoMerge branch 'rv/alias-help'
Junio C Hamano [Fri, 26 Oct 2018 05:22:13 +0000 (14:22 +0900)] 
Merge branch 'rv/alias-help'

"git cmd --help" when "cmd" is aliased used to only say "cmd is
aliased to ...".  Now it shows that to the standard error stream
and runs "git $cmd --help" where $cmd is the first word of the
alias expansion.

This could be misleading for those who alias a command with options
(e.g. with "[alias] cpn = cherry-pick -n", "git cpn --help" would
show the manual of "cherry-pick", and the reader would not be told
to pay close attention to the part that describes the "--no-commit"
option until closing the pager that showed the contents of the
manual, if the pager is configured to restore the original screen,
or would not be told at all, if the pager simply makes the message
on the standard error scroll away.

* rv/alias-help:
  git-help.txt: document "git help cmd" vs "git cmd --help" for aliases
  git.c: handle_alias: prepend alias info when first argument is -h
  help: redirect to aliased commands for "git cmd --help"

6 years agoMerge branch 'sb/diff-emit-line-ws-markup-cleanup'
Junio C Hamano [Fri, 26 Oct 2018 05:22:13 +0000 (14:22 +0900)] 
Merge branch 'sb/diff-emit-line-ws-markup-cleanup'

Code clean-up.

* sb/diff-emit-line-ws-markup-cleanup:
  diff.c: pass sign_index to emit_line_ws_markup

6 years agoMerge branch 'du/get-tar-commit-id-is-plumbing'
Junio C Hamano [Fri, 26 Oct 2018 05:22:12 +0000 (14:22 +0900)] 
Merge branch 'du/get-tar-commit-id-is-plumbing'

Doc update to mark "git get-tar-commit-id" as a plumbing command.

* du/get-tar-commit-id-is-plumbing:
  doc: move git-get-tar-commit-id to plumbing

6 years agoMerge branch 'mm/doc-no-dashed-git'
Junio C Hamano [Fri, 26 Oct 2018 05:22:12 +0000 (14:22 +0900)] 
Merge branch 'mm/doc-no-dashed-git'

Doc update.

* mm/doc-no-dashed-git:
  doc: fix a typo and clarify a sentence

6 years agoMerge branch 'du/rev-parse-is-plumbing'
Junio C Hamano [Fri, 26 Oct 2018 05:22:11 +0000 (14:22 +0900)] 
Merge branch 'du/rev-parse-is-plumbing'

Doc update.

* du/rev-parse-is-plumbing:
  doc: move git-rev-parse from porcelain to plumbing

6 years agoMerge branch 'np/log-graph-octopus-fix'
Junio C Hamano [Fri, 26 Oct 2018 05:22:11 +0000 (14:22 +0900)] 
Merge branch 'np/log-graph-octopus-fix'

"git log --graph" showing an octopus merge sometimes miscounted the
number of display columns it is consuming to show the merge and its
parent commits, which has been corrected.

* np/log-graph-octopus-fix:
  log: fix coloring of certain octopus merge shapes

6 years agoMerge branch 'sg/split-index-racefix'
Junio C Hamano [Fri, 26 Oct 2018 05:22:10 +0000 (14:22 +0900)] 
Merge branch 'sg/split-index-racefix'

The codepath to support the experimental split-index mode had
remaining "racily clean" issues fixed.

* sg/split-index-racefix:
  split-index: BUG() when cache entry refers to non-existing shared entry
  split-index: smudge and add racily clean cache entries to split index
  split-index: don't compare cached data of entries already marked for split index
  split-index: count the number of deleted entries
  t1700-split-index: date back files to avoid racy situations
  split-index: add tests to demonstrate the racy split index problem
  t1700-split-index: document why FSMONITOR is disabled in this test script

6 years agoMerge branch 'ds/coverage-diff'
Junio C Hamano [Fri, 26 Oct 2018 05:22:10 +0000 (14:22 +0900)] 
Merge branch 'ds/coverage-diff'

The result of coverage test can be combined with "git blame" to
check the test coverage of code introduced recently with a new
'coverage-diff' tool (in contrib/).

* ds/coverage-diff:
  contrib: add coverage-diff script

6 years agoMerge branch 'bc/editorconfig'
Junio C Hamano [Fri, 26 Oct 2018 05:22:09 +0000 (14:22 +0900)] 
Merge branch 'bc/editorconfig'

To help developers, an EditorConfig file that attempts to follow
the project convention has been added.

* bc/editorconfig:
  editorconfig: indicate settings should be kept in sync
  editorconfig: provide editor settings for Git developers

6 years agoMerge branch 'ma/t7005-bash-workaround'
Junio C Hamano [Fri, 26 Oct 2018 05:22:09 +0000 (14:22 +0900)] 
Merge branch 'ma/t7005-bash-workaround'

Test fix.

* ma/t7005-bash-workaround:
  t7005-editor: quote filename to fix whitespace-issue

6 years agoMerge branch 'rs/subtree-fixes'
Junio C Hamano [Fri, 26 Oct 2018 05:22:08 +0000 (14:22 +0900)] 
Merge branch 'rs/subtree-fixes'

Various subtree fixes.

* rs/subtree-fixes:
  subtree: performance improvement for finding unexpected parent commits
  subtree: improve decision on merges kept in split
  subtree: use commits before rejoins for splits
  subtree: make --ignore-joins pay attention to adds
  subtree: refactor split of a commit into standalone method

6 years agohttp: when using Secure Channel, ignore sslCAInfo by default
Johannes Schindelin [Thu, 25 Oct 2018 18:53:56 +0000 (11:53 -0700)] 
http: when using Secure Channel, ignore sslCAInfo by default

As of cURL v7.60.0, the Secure Channel backend can use the certificate
bundle provided via `http.sslCAInfo`, but that would override the
Windows Certificate Store. Since this is not desirable by default, let's
tell Git to not ask cURL to use that bundle by default when the `schannel`
backend was configured via `http.sslBackend`, unless
`http.schannelUseSSLCAInfo` overrides this behavior.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agohttp: add support for disabling SSL revocation checks in cURL
Brendan Forster [Thu, 25 Oct 2018 18:53:55 +0000 (11:53 -0700)] 
http: add support for disabling SSL revocation checks in cURL

This adds support for a new http.schannelCheckRevoke config value.

This config value is only used if http.sslBackend is set to "schannel",
which forces cURL to use the Windows Certificate Store when validating
server certificates associated with a remote server.

This config value should only be set to "false" if you are in an
environment where revocation checks are blocked by the network, with
no alternative options.

This is only supported in cURL 7.44 or later.

Note: originally, we wanted to call the config setting
`http.schannel.checkRevoke`. This, however, does not work: the `http.*`
config settings can be limited to specific URLs via `http.<url>.*`
(and this feature would mistake `schannel` for a URL).

Helped by Agustín Martín Barbero.

Signed-off-by: Brendan Forster <github@brendanforster.com>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agoreset: warn when refresh_index() takes more than 2 seconds
Ben Peart [Tue, 23 Oct 2018 19:04:23 +0000 (15:04 -0400)] 
reset: warn when refresh_index() takes more than 2 seconds

refresh_index() is done after a reset command as an optimization.  Because
it can be an expensive call, warn the user if it takes more than 2 seconds
and tell them how to avoid it using the --quiet command line option or
reset.quiet config setting.

Signed-off-by: Ben Peart <benpeart@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agoreset: add new reset.quiet config setting
Ben Peart [Tue, 23 Oct 2018 19:04:22 +0000 (15:04 -0400)] 
reset: add new reset.quiet config setting

Add a reset.quiet config setting that sets the default value of the --quiet
flag when running the reset command.  This enables users to change the
default behavior to take advantage of the performance advantages of
avoiding the scan for unstaged changes after reset.  Defaults to false.

Signed-off-by: Ben Peart <benpeart@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agoreset: don't compute unstaged changes after reset when --quiet
Ben Peart [Tue, 23 Oct 2018 19:04:21 +0000 (15:04 -0400)] 
reset: don't compute unstaged changes after reset when --quiet

When git reset is run with the --quiet flag, don't bother finding any
additional unstaged changes as they won't be output anyway.  This speeds up
the git reset command by avoiding having to lstat() every file looking for
changes that aren't going to be reported anyway.

The savings can be significant.  In a repo on Windows with 200K files
"git reset" drops from 7.16 seconds to 0.32 seconds for a savings of 96%.

Signed-off-by: Ben Peart <benpeart@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agoFifth batch for 2.20
Junio C Hamano [Fri, 19 Oct 2018 04:52:51 +0000 (13:52 +0900)] 
Fifth batch for 2.20

Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agoMerge branch 'jt/cache-tree-allow-missing-object-in-partial-clone'
Junio C Hamano [Fri, 19 Oct 2018 04:34:08 +0000 (13:34 +0900)] 
Merge branch 'jt/cache-tree-allow-missing-object-in-partial-clone'

In a partial clone that will lazily be hydrated from the
originating repository, we generally want to avoid "does this
object exist (locally)?" on objects that we deliberately omitted
when we created the clone.  The cache-tree codepath (which is used
to write a tree object out of the index) however insisted that the
object exists, even for paths that are outside of the partial
checkout area.  The code has been updated to avoid such a check.

* jt/cache-tree-allow-missing-object-in-partial-clone:
  cache-tree: skip some blob checks in partial clone

6 years agoMerge branch 'tb/filter-alternate-refs'
Junio C Hamano [Fri, 19 Oct 2018 04:34:08 +0000 (13:34 +0900)] 
Merge branch 'tb/filter-alternate-refs'

When pushing into a repository that borrows its objects from an
alternate object store, "git receive-pack" that responds to the
push request on the other side lists the tips of refs in the
alternate to reduce the amount of objects transferred.  This
sometimes is detrimental when the number of refs in the alternate
is absurdly large, in which case the bandwidth saved in potentially
fewer objects transferred is wasted in excessively large ref
advertisement.  The alternate refs that are advertised are now
configurable with a pair of configuration variables.

* tb/filter-alternate-refs:
  transport.c: introduce core.alternateRefsPrefixes
  transport.c: introduce core.alternateRefsCommand
  transport.c: extract 'fill_alternate_refs_command'
  transport: drop refnames from for_each_alternate_ref

6 years agoMerge branch 'jt/avoid-ls-refs'
Junio C Hamano [Fri, 19 Oct 2018 04:34:07 +0000 (13:34 +0900)] 
Merge branch 'jt/avoid-ls-refs'

Over some transports, fetching objects with an exact commit object
name can be done without first seeing the ref advertisements.  The
code has been optimized to exploit this.

* jt/avoid-ls-refs:
  fetch: do not list refs if fetching only hashes
  transport: list refs before fetch if necessary
  transport: do not list refs if possible
  transport: allow skipping of ref listing

6 years agoMerge branch 'ds/commit-graph-leakfix'
Junio C Hamano [Fri, 19 Oct 2018 04:34:07 +0000 (13:34 +0900)] 
Merge branch 'ds/commit-graph-leakfix'

Code clean-up.

* ds/commit-graph-leakfix:
  commit-graph: reduce initial oid allocation
  builtin/commit-graph.c: UNLEAK variables
  commit-graph: clean up leaked memory during write

6 years agoMerge branch 'jt/non-blob-lazy-fetch'
Junio C Hamano [Fri, 19 Oct 2018 04:34:07 +0000 (13:34 +0900)] 
Merge branch 'jt/non-blob-lazy-fetch'

A partial clone that is configured to lazily fetch missing objects
will on-demand issue a "git fetch" request to the originating
repository to fill not-yet-obtained objects.  The request has been
optimized for requesting a tree object (and not the leaf blob
objects contained in it) by telling the originating repository that
no blobs are needed.

* jt/non-blob-lazy-fetch:
  fetch-pack: exclude blobs when lazy-fetching trees
  fetch-pack: avoid object flags if no_dependents

6 years agoMerge branch 'pw/diff-color-moved-ws-fix'
Junio C Hamano [Fri, 19 Oct 2018 04:34:06 +0000 (13:34 +0900)] 
Merge branch 'pw/diff-color-moved-ws-fix'

Various fixes to "diff --color-moved-ws".

* pw/diff-color-moved-ws-fix:
  diff --color-moved: fix a memory leak
  diff --color-moved-ws: fix another memory leak
  diff --color-moved-ws: fix a memory leak
  diff --color-moved-ws: fix out of bounds string access
  diff --color-moved-ws: fix double free crash

6 years agoMerge branch 'rs/oidset-on-khash'
Junio C Hamano [Fri, 19 Oct 2018 04:34:06 +0000 (13:34 +0900)] 
Merge branch 'rs/oidset-on-khash'

The oidset API was built on top of the oidmap API which in turn is
on the hashmap API.  Replace the implementation to build on top of
the khash API and gain performance.

* rs/oidset-on-khash:
  oidset: uninline oidset_init()
  oidset: use khash
  khash: factor out kh_release_*
  fetch-pack: load tip_oids eagerly iff needed
  fetch-pack: factor out is_unmatched_ref()

6 years agoMerge branch 'rs/grep-no-recursive'
Junio C Hamano [Fri, 19 Oct 2018 04:34:05 +0000 (13:34 +0900)] 
Merge branch 'rs/grep-no-recursive'

Unlike "grep", "git grep" by default recurses to the whole tree.
The command learned "git grep --recursive" option, so that "git
grep --no-recursive" can serve as a synonym to setting the
max-depth to 0.

* rs/grep-no-recursive:
  grep: add -r/--[no-]recursive

6 years agoMerge branch 'nd/help-commands-verbose-by-default'
Junio C Hamano [Fri, 19 Oct 2018 04:34:05 +0000 (13:34 +0900)] 
Merge branch 'nd/help-commands-verbose-by-default'

"git help -a" and "git help -av" give different pieces of
information, and generally the "verbose" version is more friendly
to the new users.  "git help -a" by default now uses the more
verbose output (with "--no-verbose", you can go back to the
original).  Also "git help -av" now lists aliases and external
commands, which it did not used to.

* nd/help-commands-verbose-by-default:
  help -a: improve and make --verbose default

6 years agoMerge branch 'jc/how-to-document-api'
Junio C Hamano [Fri, 19 Oct 2018 04:34:05 +0000 (13:34 +0900)] 
Merge branch 'jc/how-to-document-api'

Doc update.

* jc/how-to-document-api:
  CodingGuidelines: document the API in *.h files

6 years agoMerge branch 'sm/show-superproject-while-conflicted'
Junio C Hamano [Fri, 19 Oct 2018 04:34:04 +0000 (13:34 +0900)] 
Merge branch 'sm/show-superproject-while-conflicted'

A corner-case bugfix.

* sm/show-superproject-while-conflicted:
  rev-parse: --show-superproject-working-tree should work during a merge

6 years agoMerge branch 'jt/fetch-tips-in-partial-clone'
Junio C Hamano [Fri, 19 Oct 2018 04:34:04 +0000 (13:34 +0900)] 
Merge branch 'jt/fetch-tips-in-partial-clone'

"git fetch $repo $object" in a partial clone did not correctly
fetch the asked-for object that is referenced by an object in
promisor packfile, which has been fixed.

* jt/fetch-tips-in-partial-clone:
  fetch: in partial clone, check presence of targets
  connected: document connectivity in partial clones

6 years agoMerge branch 'nd/status-refresh-progress'
Junio C Hamano [Fri, 19 Oct 2018 04:34:03 +0000 (13:34 +0900)] 
Merge branch 'nd/status-refresh-progress'

"git status" learns to show progress bar when refreshing the index
takes a long time.

* nd/status-refresh-progress:
  status: show progress bar if refreshing the index takes too long

6 years agoMerge branch 'bp/read-cache-parallel'
Junio C Hamano [Fri, 19 Oct 2018 04:34:03 +0000 (13:34 +0900)] 
Merge branch 'bp/read-cache-parallel'

A new extension to the index file has been introduced, which allows
the file to be read in parallel.

* bp/read-cache-parallel:
  read-cache: load cache entries on worker threads
  ieot: add Index Entry Offset Table (IEOT) extension
  read-cache: load cache extensions on a worker thread
  config: add new index.threads config setting
  eoie: add End of Index Entry (EOIE) extension
  read-cache: clean up casting and byte decoding
  read-cache.c: optimize reading index format v4

6 years agoMerge branch 'bp/rename-test-env-var'
Junio C Hamano [Fri, 19 Oct 2018 04:34:03 +0000 (13:34 +0900)] 
Merge branch 'bp/rename-test-env-var'

Some environment variables that control the runtime options of Git
used during tests are getting renamed for consistency.

* bp/rename-test-env-var:
  t0000: do not get self-test disrupted by environment warnings
  preload-index: update GIT_FORCE_PRELOAD_TEST support
  read-cache: update TEST_GIT_INDEX_VERSION support
  fsmonitor: update GIT_TEST_FSMONITOR support
  preload-index: use git_env_bool() not getenv() for customization
  t/README: correct spelling of "uncommon"

6 years agoMerge branch 'ss/wt-status-committable'
Junio C Hamano [Fri, 19 Oct 2018 04:34:02 +0000 (13:34 +0900)] 
Merge branch 'ss/wt-status-committable'

Code clean-up in the internal machinery used by "git status" and
"git commit --dry-run".

* ss/wt-status-committable:
  roll wt_status_state into wt_status and populate in the collect phase
  wt-status.c: set the committable flag in the collect phase
  t7501: add test of "commit --dry-run --short"
  wt-status: rename commitable to committable
  wt-status.c: move has_unmerged earlier in the file

6 years agoMerge branch 'nd/the-index'
Junio C Hamano [Fri, 19 Oct 2018 04:34:02 +0000 (13:34 +0900)] 
Merge branch 'nd/the-index'

Various codepaths in the core-ish part learn to work on an
arbitrary in-core index structure, not necessarily the default
instance "the_index".

* nd/the-index: (23 commits)
  revision.c: reduce implicit dependency the_repository
  revision.c: remove implicit dependency on the_index
  ws.c: remove implicit dependency on the_index
  tree-diff.c: remove implicit dependency on the_index
  submodule.c: remove implicit dependency on the_index
  line-range.c: remove implicit dependency on the_index
  userdiff.c: remove implicit dependency on the_index
  rerere.c: remove implicit dependency on the_index
  sha1-file.c: remove implicit dependency on the_index
  patch-ids.c: remove implicit dependency on the_index
  merge.c: remove implicit dependency on the_index
  merge-blobs.c: remove implicit dependency on the_index
  ll-merge.c: remove implicit dependency on the_index
  diff-lib.c: remove implicit dependency on the_index
  read-cache.c: remove implicit dependency on the_index
  diff.c: remove implicit dependency on the_index
  grep.c: remove implicit dependency on the_index
  diff.c: remove the_index dependency in textconv() functions
  blame.c: rename "repo" argument to "r"
  combine-diff.c: remove implicit dependency on the_index
  ...

6 years agoMerge branch 'nd/complete-fetch-multiple-args'
Junio C Hamano [Fri, 19 Oct 2018 04:34:01 +0000 (13:34 +0900)] 
Merge branch 'nd/complete-fetch-multiple-args'

Teach bash completion that "git fetch --multiple" only takes remote
names as arguments and no refspecs.

* nd/complete-fetch-multiple-args:
  completion: support "git fetch --multiple"

6 years agoFourth batch for 2.20
Junio C Hamano [Tue, 16 Oct 2018 07:21:17 +0000 (16:21 +0900)] 
Fourth batch for 2.20

Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agoMerge branch 'sf/complete-stash-list'
Junio C Hamano [Tue, 16 Oct 2018 07:16:09 +0000 (16:16 +0900)] 
Merge branch 'sf/complete-stash-list'

The completion script (in contrib/) learned to complete a handful of
options "git stash list" command takes.

* sf/complete-stash-list:
  git-completion.bash: add completion for stash list

6 years agoMerge branch 'mw/doc-typofixes'
Junio C Hamano [Tue, 16 Oct 2018 07:16:09 +0000 (16:16 +0900)] 
Merge branch 'mw/doc-typofixes'

Typofixes.

* mw/doc-typofixes:
  docs: typo: s/isimilar/similar/
  docs: graph: remove unnecessary `graph_update()' call
  docs: typo: s/go/to/

6 years agoMerge branch 'js/mingw-wants-vista-or-above'
Junio C Hamano [Tue, 16 Oct 2018 07:16:08 +0000 (16:16 +0900)] 
Merge branch 'js/mingw-wants-vista-or-above'

The minimum version of Windows supported by Windows port fo Git is
now set to Vista.

* js/mingw-wants-vista-or-above:
  mingw: bump the minimum Windows version to Vista
  mingw: set _WIN32_WINNT explicitly for Git for Windows
  compat/poll: prepare for targeting Windows Vista

6 years agoMerge branch 'rs/sequencer-oidset-insert-avoids-dups'
Junio C Hamano [Tue, 16 Oct 2018 07:16:08 +0000 (16:16 +0900)] 
Merge branch 'rs/sequencer-oidset-insert-avoids-dups'

Code clean-up.

* rs/sequencer-oidset-insert-avoids-dups:
  sequencer: use return value of oidset_insert()

6 years agoMerge branch 'jk/oideq-hasheq-cleanup'
Junio C Hamano [Tue, 16 Oct 2018 07:16:07 +0000 (16:16 +0900)] 
Merge branch 'jk/oideq-hasheq-cleanup'

Code clean-up.

* jk/oideq-hasheq-cleanup:
  more oideq/hasheq conversions

6 years agoMerge branch 'ma/mailing-list-address-in-git-help'
Junio C Hamano [Tue, 16 Oct 2018 07:16:07 +0000 (16:16 +0900)] 
Merge branch 'ma/mailing-list-address-in-git-help'

Doc update.

* ma/mailing-list-address-in-git-help:
  git doc: direct bug reporters to mailing list archive

6 years agoMerge branch 'nd/packobjectshook-doc-fix'
Junio C Hamano [Tue, 16 Oct 2018 07:16:07 +0000 (16:16 +0900)] 
Merge branch 'nd/packobjectshook-doc-fix'

Doc update.

* nd/packobjectshook-doc-fix:
  config.txt: correct the note about uploadpack.packObjectsHook

6 years agoMerge branch 'rt/rebase-typofix'
Junio C Hamano [Tue, 16 Oct 2018 07:16:06 +0000 (16:16 +0900)] 
Merge branch 'rt/rebase-typofix'

Typofix.

* rt/rebase-typofix:
  git-rebase.sh: fix typos in error messages

6 years agoMerge branch 'ma/t1400-undebug-test'
Junio C Hamano [Tue, 16 Oct 2018 07:16:06 +0000 (16:16 +0900)] 
Merge branch 'ma/t1400-undebug-test'

Test fix.

* ma/t1400-undebug-test:
  t1400: drop debug `echo` to actually execute `test`

6 years agoMerge branch 'ma/commit-graph-docs'
Junio C Hamano [Tue, 16 Oct 2018 07:16:05 +0000 (16:16 +0900)] 
Merge branch 'ma/commit-graph-docs'

Doc update.

* ma/commit-graph-docs:
  Doc: refer to the "commit-graph file" with dash
  git-commit-graph.txt: refer to "*commit*-graph file"
  git-commit-graph.txt: typeset more in monospace
  git-commit-graph.txt: fix bullet lists

6 years agoMerge branch 'dz/credential-doc-url-matching-rules'
Junio C Hamano [Tue, 16 Oct 2018 07:16:05 +0000 (16:16 +0900)] 
Merge branch 'dz/credential-doc-url-matching-rules'

Doc update.

* dz/credential-doc-url-matching-rules:
  doc: clarify gitcredentials path component matching

6 years agoMerge branch 'en/status-multiple-renames-to-the-same-target-fix'
Junio C Hamano [Tue, 16 Oct 2018 07:16:05 +0000 (16:16 +0900)] 
Merge branch 'en/status-multiple-renames-to-the-same-target-fix'

The code in "git status" sometimes hit an assertion failure.  This
was caused by a structure that was reused without cleaning the data
used for the first run, which has been corrected.

* en/status-multiple-renames-to-the-same-target-fix:
  commit: fix erroneous BUG, 'multiple renames on the same target? how?'