gitweb.git
config.txt: move reset.* to a separate fileNguyễn Thái Ngọc Duy Sat, 27 Oct 2018 06:23:34 +0000 (08:23 +0200)

config.txt: move reset.* 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>

config.txt: move rerere.* to a separate fileNguyễn Thái Ngọc Duy Sat, 27 Oct 2018 06:23:33 +0000 (08:23 +0200)

config.txt: move rerere.* 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>

config.txt: move repack.* to a separate fileNguyễn Thái Ngọc Duy Sat, 27 Oct 2018 06:23:32 +0000 (08:23 +0200)

config.txt: move repack.* 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>

config.txt: move remotes.* to a separate fileNguyễn Thái Ngọc Duy Sat, 27 Oct 2018 06:23:31 +0000 (08:23 +0200)

config.txt: move remotes.* 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>

config.txt: move remote.* to a separate fileNguyễn Thái Ngọc Duy Sat, 27 Oct 2018 06:23:30 +0000 (08:23 +0200)

config.txt: move remote.* 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>

config.txt: move receive-config.txt to config/Nguyễn Thái Ngọc Duy Sat, 27 Oct 2018 06:23:29 +0000 (08:23 +0200)

config.txt: move receive-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>

config.txt: move rebase-config.txt to config/Nguyễn Thái Ngọc Duy Sat, 27 Oct 2018 06:23:28 +0000 (08:23 +0200)

config.txt: move rebase-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>

config.txt: move push-config.txt to config/Nguyễn Thái Ngọc Duy Sat, 27 Oct 2018 06:23:27 +0000 (08:23 +0200)

config.txt: move push-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>

config.txt: move pull-config.txt to config/Nguyễn Thái Ngọc Duy Sat, 27 Oct 2018 06:23:26 +0000 (08:23 +0200)

config.txt: move pull-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>

config.txt: move protocol.* to a separate fileNguyễn Thái Ngọc Duy Sat, 27 Oct 2018 06:23:25 +0000 (08:23 +0200)

config.txt: move protocol.* 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>

config.txt: move pretty.* to a separate fileNguyễn Thái Ngọc Duy Sat, 27 Oct 2018 06:23:24 +0000 (08:23 +0200)

config.txt: move pretty.* 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>

config.txt: move pager.* to a separate fileNguyễn Thái Ngọc Duy Sat, 27 Oct 2018 06:23:23 +0000 (08:23 +0200)

config.txt: move pager.* 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>

config.txt: move pack.* to a separate fileNguyễn Thái Ngọc Duy Sat, 27 Oct 2018 06:23:22 +0000 (08:23 +0200)

config.txt: move pack.* 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>

config.txt: move notes.* to a separate fileNguyễn Thái Ngọc Duy Sat, 27 Oct 2018 06:23:21 +0000 (08:23 +0200)

config.txt: move notes.* 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>

config.txt: move mergetool.* to a separate fileNguyễn Thái Ngọc Duy Sat, 27 Oct 2018 06:23:20 +0000 (08:23 +0200)

config.txt: move mergetool.* 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>

config.txt: move merge-config.txt to config/Nguyễn Thái Ngọc Duy Sat, 27 Oct 2018 06:23:19 +0000 (08:23 +0200)

config.txt: move merge-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>

config.txt: move man.* to a separate fileNguyễ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>

config.txt: move mailmap.* to a separate fileNguyễ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>

config.txt: move mailinfo.* to a separate fileNguyễ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>

config.txt: move log.* to a separate fileNguyễ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>

config.txt: move interactive.* to a separate fileNguyễ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>

config.txt: move instaweb.* to a separate fileNguyễ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>

config.txt: move init.* to a separate fileNguyễ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>

config.txt: move index.* to a separate fileNguyễ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>

git-imap-send.txt: move imap.* to a separate fileNguyễ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>

config.txt: move i18n.* to a separate fileNguyễ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>

config.txt: move http.* to a separate fileNguyễ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>

config.txt: move ssh.* to a separate fileNguyễ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>

config.txt: move help.* to a separate fileNguyễ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>

config.txt: move guitool.* to a separate fileNguyễ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>

config.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>

config.txt: move gpg.* to a separate fileNguyễ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>

config.txt: move grep.* to a separate fileNguyễ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>

config.txt: move gitweb.* to a separate fileNguyễ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>

config.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>

config.txt: move gc.* to a separate fileNguyễ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>

config.txt: move fsck.* to a separate fileNguyễ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>

config.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>

config.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>

config.txt: move filter.* to a separate fileNguyễ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>

config.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>

config.txt: move fastimport.* to a separate fileNguyễ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>

config.txt: move difftool.* to a separate fileNguyễ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>

config.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>

config.txt: move completion.* to a separate fileNguyễ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>

config.txt: move credential.* to a separate fileNguyễ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>

config.txt: move commit.* to a separate fileNguyễ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>

config.txt: move column.* to a separate fileNguyễ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>

config.txt: move color.* to a separate fileNguyễ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>

config.txt: move clean.* to a separate fileNguyễ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>

config.txt: move checkout.* to a separate fileNguyễ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>

config.txt: move browser.* to a separate fileNguyễ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>

config.txt: move branch.* to a separate fileNguyễ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>

config.txt: move blame.* to a separate fileNguyễ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>

config.txt: move apply.* to a separate fileNguyễ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>

config.txt: move am.* to a separate fileNguyễ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>

config.txt: move alias.* to a separate fileNguyễ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>

config.txt: move add.* to a separate fileNguyễ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>

config.txt: move core.* to a separate fileNguyễ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>

config.txt: move advice.* to a separate fileNguyễ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>

Update makefile in preparation for Documentation/config... 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>

Merge branches 'bp/reset-quiet' and 'js/mingw-http... 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

commit-reach.h: add missing declarations (hdr-check)Ramsay Jones Sat, 27 Oct 2018 01:53:57 +0000 (02:53 +0100)

commit-reach.h: add missing declarations (hdr-check)

Add the necessary #includes and forward declarations to allow the header
file to pass the 'hdr-check' target.

Note that, since this header includes the commit-slab implementation
header file (indirectly via commit-slab.h), some of the commit-slab
inline functions (e.g contains_cache_at_peek()) will not compile without
the complete type of 'struct commit'. Hence, we replace the forward
declaration of 'struct commit' with the an #include of the 'commit.h'
header file.

It is possible, using the 'commit-slab-{decl,impl}.h' files, to avoid
this inclusion of the 'commit.h' header. Commit a9f1f1f9f8 ("commit-slab.h:
code split", 2018-05-19) separated the commit-slab interface from its
implementation, to allow for the definition of a public commit-slab data
structure. This enabled us to avoid including the commit-slab implementation
in a header file, which could result in the replication of the commit-slab
functions in each compilation unit in which it was included.

Indeed, if you compile with optimizations disabled, then run this script:

$ cat -n dup-static.sh
1 #!/bin/sh
2
3 nm $1 | grep ' t ' | cut -d' ' -f3 | sort | uniq -c |
4 sort -rn | grep -v ' 1'
$

$ ./dup-static.sh git | grep contains
24 init_contains_cache_with_stride
24 init_contains_cache
24 contains_cache_peek
24 contains_cache_at_peek
24 contains_cache_at
24 clear_contains_cache
$

you will find 24 copies of the commit-slab routines for the contains_cache.
Of course, when you enable optimizations again, these duplicate static
functions (mostly) disappear. Compiling with gcc at -O2, leaves two static
functions, thus:

$ nm commit-reach.o | grep contains_cache
0000000000000870 t contains_cache_at_peek.isra.1.constprop.6
$ nm ref-filter.o | grep contains_cache
00000000000002b0 t clear_contains_cache.isra.14
$

However, using a shared 'contains_cache' would result in all six of the
above functions as external public functions in the git binary. At present,
only three of these functions are actually called, so the trade-off
seems to favour letting the compiler inline the commit-slab functions.

Signed-off-by: Ramsay Jones <ramsay@ramsayjones.plus.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

ewok_rlw.h: add missing 'inline' to function definitionRamsay Jones Sat, 27 Oct 2018 01:52:05 +0000 (02:52 +0100)

ewok_rlw.h: add missing 'inline' to function definition

The 'ewok_rlw.h' header file contains the rlw_get_run_bit() function
definition, which is marked as 'static' but not 'inline'. At least when
compiled by gcc, with the default -O2 optimization level, the function
is actually inlined and leaves no static version in the ewah_bitmap.o
and ewah_rlw.o object files. Despite this, add the missing 'inline'
keyword to better describe the intended behaviour.

Signed-off-by: Ramsay Jones <ramsay@ramsayjones.plus.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

fetch-object.h: add missing declaration (hdr-check)Ramsay Jones Sat, 27 Oct 2018 01:50:02 +0000 (02:50 +0100)

fetch-object.h: add missing declaration (hdr-check)

Signed-off-by: Ramsay Jones <ramsay@ramsayjones.plus.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t3404-rebase-interactive: test abbreviated commandsJohannes Sixt Sat, 27 Oct 2018 08:08:01 +0000 (10:08 +0200)

t3404-rebase-interactive: test abbreviated commands

Make sure that each short command is tested at least once. To
not exacerbate the runtime of the test script, do not add new
tests, but modify existing ones according to these criteria:

- The test does not have a prerequisite.
- The 'git rebase' command is not guarded by test_must_fail.

The pick commands are optional in the FAKE_LINES variable, but
when used, they do end up in the insn sheet. Test them, too.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

sequencer: cleanup for gcc warning in non developer... Carlo Marcelo Arenas Belón Thu, 25 Oct 2018 09:38:54 +0000 (02:38 -0700)

sequencer: cleanup for gcc warning in non developer mode

as shown by:

sequencer.c: In function ‘write_basic_state’:
sequencer.c:2392:37: warning: zero-length gnu_printf format string [-Wformat-zero-length]
write_file(rebase_path_verbose(), "");

where write_file will create an empty file if told to write an empty string
as can be inferred by the previous call

the somehow more convoluted syntax works around the issue by providing a non
empty format string and is already being used for the abort safety file since
1e41229d96 ("sequencer: make sequencer abort safer", 2016-12-07)

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

Sixth batch for 2.20Junio 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>

Merge 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

Merge 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

Merge 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

Merge 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

Merge 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.

Merge 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"

Merge 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

Merge 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

Merge 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

Merge 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

Merge 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

Merge 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

Merge 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

Merge 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

Merge 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

Merge 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

travis-ci: no longer use containersSebastian Staudt Thu, 25 Oct 2018 17:41:45 +0000 (19:41 +0200)

travis-ci: no longer use containers

Travis CI will soon deprecate the container-based infrastructure
enabled by `sudo: false` in ce59dffb34190e780be2fa9f449f842cadee9753.

More info:
https://blog.travis-ci.com/2018-10-04-combining-linux-infrastructures

Signed-off-by: Sebastian Staudt <koraktor@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

path.c: char is not (always) signedTorsten Bögershausen Thu, 25 Oct 2018 16:13:08 +0000 (18:13 +0200)

path.c: char is not (always) signed

If a "char" in C is signed or unsigned is not specified, because it is
out of tradition "implementation dependent".
Therefore constructs like "if (name[i] < 0)" are not portable,
use "if (name[i] & 0x80)" instead.

Detected by "gcc (Raspbian 6.3.0-18+rpi1+deb9u1) 6.3.0 20170516" when
setting
DEVELOPER = 1
DEVOPTS = extra-all

Signed-off-by: Torsten Bögershausen <tboegi@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

http: give curl version warnings consistentlyJunio C Hamano Thu, 25 Oct 2018 03:22:22 +0000 (12:22 +0900)

http: give curl version warnings consistently

When a requested feature cannot be activated because the version of
cURL library used to build Git with is too old, most of the codepaths
give a warning like "$Feature is not supported with cURL < $Version",
marked for l10n. A few of them, however, did not follow that pattern
and said things like "$Feature is not activated, your curl version is
too old (>= $Version)", and without marking them for l10n.

Update these to match the style of the majority of warnings and mark
them for l10n.

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

http: when using Secure Channel, ignore sslCAInfo by... 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>

http: add support for disabling SSL revocation checks... 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>

upload-pack: fix broken if/else chain in config callbackJeff King Wed, 24 Oct 2018 07:27:52 +0000 (03:27 -0400)

upload-pack: fix broken if/else chain in config callback

The upload_pack_config() callback uses an if/else chain
like:

if (!strcmp(var, "a"))
...
else if (!strcmp(var, "b"))
...
etc

This works as long as the conditions are mutually exclusive,
but one of them is not. 20b20a22f8 (upload-pack: provide a
hook for running pack-objects, 2016-05-18) added:

else if (current_config_scope() != CONFIG_SCOPE_REPO) {
... check some more options ...
}

That was fine in that commit, because it came at the end of
the chain. But later, 10ac85c785 (upload-pack: add object
filtering for partial clone, 2017-12-08) did this:

else if (current_config_scope() != CONFIG_SCOPE_REPO) {
... check some more options ...
} else if (!strcmp("uploadpack.allowfilter", var))
...

We'd always check the scope condition first, meaning we'd
_only_ respect allowfilter when it's in the repo config. You
can see this with:

git -c uploadpack.allowfilter=true upload-pack . | head -1

which will not advertise the filter capability (but will
after this patch). We never noticed because:

- our tests always set it in the repo config

- in protocol v2, we use a different code path that
actually calls repo_config_get_bool() separately, so
that _does_ work. Real-world people experimenting with
this may be using v2.

The more recent uploadpack.allowrefinwant option is in the
same boat.

There are a few possible fixes:

1. Bump the scope conditional back to the bottom of the
chain. But that just means somebody else is likely to
make the same mistake later.

2. Make the conditional more like the others. I.e.:

else if (!current_config_scope() != CONFIG_SCOPE_REPO &&
!strcmp(var, "uploadpack.notallowedinrepo"))

This works, but the idea of the original structure was
that we may grow multiple sensitive options like this.

3. Pull it out of the chain entirely. The chain mostly
serves to avoid extra strcmp() calls after we've found
a match. But it's not worth caring about those. In the
worst case, when there isn't a match, we're already
hitting every strcmp (and this happens regularly for
stuff like "core.bare", etc).

This patch does (3).

Signed-off-by: Jeff King <peff@peff.net>
Reviewed-by: Josh Steadmon <steadmon@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

rebase -i: recognize short commands without argumentsJohannes Sixt Thu, 25 Oct 2018 20:47:45 +0000 (22:47 +0200)

rebase -i: recognize short commands without arguments

The sequencer instruction 'b', short for 'break', is rejected:

error: invalid line 2: b

The reason is that the parser expects all short commands to have
an argument. Permit short commands without arguments.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

archive: initialize archivers earlierJosh Steadmon Thu, 25 Oct 2018 20:32:14 +0000 (13:32 -0700)

archive: initialize archivers earlier

Initialize archivers as soon as possible when running git-archive.
Various non-obvious behavior depends on having the archivers
initialized, such as determining the desired archival format from the
provided filename.

Since 08716b3c11 ("archive: refactor file extension format-guessing",
2011-06-21), archive_format_from_filename() has used the registered
archivers to match filenames (provided via --output) to archival
formats. However, when git-archive is executed with --remote, format
detection happens before the archivers have been registered. This causes
archives from remotes to always be generated as TAR files, regardless of
the actual filename (unless an explicit --format is provided).

This patch fixes that behavior; archival format is determined properly
from the output filename, even when --remote is used.

Helped-by: Jeff King <peff@peff.net>
Signed-off-by: Josh Steadmon <steadmon@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

compat: make sure git_mmap is not expected to writeCarlo Marcelo Arenas Belón Tue, 23 Oct 2018 12:35:19 +0000 (05:35 -0700)

compat: make sure git_mmap is not expected to write

in f48000fc ("Yank writing-back support from gitfakemmap.", 2005-10-08)
support for writting back changes was removed but the specific prot
flag that would be used was not checked for

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

range-diff: allow to diff files regardless of submodule... Lucas De Marchi Wed, 24 Oct 2018 19:46:17 +0000 (12:46 -0700)

range-diff: allow to diff files regardless of submodule config

If we have `submodule.diff = log' in the configuration file
or `--submodule=log' is given as argument, range-diff fails
to compare both diffs and we only get the following output:

Submodule a 0000000...0000000 (new submodule)

Even if the repository doesn't have any submodule.

That's because the mode in diff_filespec is not correct and when
flushing the diff, down in builtin_diff() we will enter the condition:

if (o->submodule_format == DIFF_SUBMODULE_LOG &&
(!one->mode || S_ISGITLINK(one->mode)) &&
(!two->mode || S_ISGITLINK(two->mode))) {
show_submodule_summary(o, one->path ? one->path : two->path,
&one->oid, &two->oid,
two->dirty_submodule);
return;

It turns out that S_ISGITLINK will return true (mode == 0160000 here).
Similar thing happens if submodule.diff is "diff".

Do like it's done in grep.c when calling fill_filespec() and force it to
be recognized as a file by adding S_IFREG to the mode.

Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
Acked-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

howto/using-merge-subtree: mention --allow-unrelated... Uwe Kleine-König Wed, 24 Oct 2018 08:04:52 +0000 (10:04 +0200)

howto/using-merge-subtree: mention --allow-unrelated-histories

Without passing --allow-unrelated-histories the command sequence
fails as intended since commit e379fdf34fee ("merge: refuse to create
too cool a merge by default"). To setup a subtree merging unrelated
histories is normal, so add the option to the howto document.

Signed-off-by: Uwe Kleine-König <uwe@kleine-koenig.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

doc: document diff/merge.guitool config keysDenton Liu Wed, 24 Oct 2018 16:25:43 +0000 (12:25 -0400)

doc: document diff/merge.guitool config keys

Signed-off-by: Denton Liu <liu.denton@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

completion: support `git mergetool --[no-]gui`Denton Liu Wed, 24 Oct 2018 16:25:37 +0000 (12:25 -0400)

completion: support `git mergetool --[no-]gui`

Signed-off-by: Denton Liu <liu.denton@gmail.com>
Signed-off-by: Anmol Mago <anmolmago@gmail.com>
Signed-off-by: Brian Ho <briankyho@gmail.com>
Signed-off-by: David Lu <david.lu97@outlook.com>
Signed-off-by: Ryan Wang <shirui.wang@hotmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

mergetool: accept -g/--[no-]gui as argumentsDenton Liu Wed, 24 Oct 2018 16:25:31 +0000 (12:25 -0400)

mergetool: accept -g/--[no-]gui as arguments

In line with how difftool accepts a -g/--[no-]gui option, make mergetool
accept the same option in order to use the `merge.guitool` variable to
find the default mergetool instead of `merge.tool`.

Signed-off-by: Denton Liu <liu.denton@gmail.com>
Signed-off-by: Anmol Mago <anmolmago@gmail.com>
Signed-off-by: Brian Ho <briankyho@gmail.com>
Signed-off-by: David Lu <david.lu97@outlook.com>
Signed-off-by: Ryan Wang <shirui.wang@hotmail.com>
Acked-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

repack -ad: prune the list of shallow commitsJohannes Schindelin Wed, 24 Oct 2018 15:56:13 +0000 (08:56 -0700)

repack -ad: prune the list of shallow commits

`git repack` can drop unreachable commits without further warning,
making the corresponding entries in `.git/shallow` invalid, which causes
serious problems when deepening the branches.

One scenario where unreachable commits are dropped by `git repack` is
when a `git fetch --prune` (or even a `git fetch` when a ref was
force-pushed in the meantime) can make a commit unreachable that was
reachable before.

Therefore it is not safe to assume that a `git repack -adlf` will keep
unreachable commits alone (under the assumption that they had not been
packed in the first place, which is an assumption at least some of Git's
code seems to make).

This is particularly important to keep in mind when looking at the
`.git/shallow` file: if any commits listed in that file become
unreachable, it is not a problem, but if they go missing, it *is* a
problem. One symptom of this problem is that a deepening fetch may now
fail with

fatal: error in object: unshallow <commit-hash>

To avoid this problem, let's prune the shallow list in `git repack` when
the `-d` option is passed, unless `-A` is passed, too (which would force
the now-unreachable objects to be turned into loose objects instead of
being deleted). Additionally, we also need to take `--keep-reachable`
and `--unpack-unreachable=<date>` into account.

Note: an alternative solution discussed during the review of this patch
was to teach `git fetch` to simply ignore entries in .git/shallow if the
corresponding commits do not exist locally. A quick test, however,
revealed that the .git/shallow file is written during a shallow *clone*,
in which case the commits do not exist, either, but the "shallow" line
*does* need to be sent. Therefore, this approach would be a lot more
finicky than the approach presented by the this patch.

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

shallow: offer to prune only non-existing entriesJohannes Schindelin Wed, 24 Oct 2018 15:56:12 +0000 (08:56 -0700)

shallow: offer to prune only non-existing entries

The `prune_shallow()` function wants a full reachability check to be
completed before it goes to work, to ensure that all unreachable entries
are removed from the shallow file.

However, in the upcoming patch we do not even want to go that far. We
really only need to remove entries corresponding to pruned commits, i.e.
to commits that no longer exist.

Let's support that use case.

Rather than extending the signature of `prune_shallow()` to accept
another Boolean, let's turn it into a bit field and declare constants,
for readability.

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