gitweb.git
send-email: simplify Gmail example in the documentationMichal Nazarewicz Sat, 7 Apr 2018 10:07:23 +0000 (11:07 +0100)

send-email: simplify Gmail example in the documentation

There is no need for use to manually call ‘git credential’ especially
as the interface isn’t super user-friendly and a bit confusing. ‘git
send-email’ will do that for them at the first execution and if the
password matches, it will be saved in the store.

Simplify the documentaion so it dosn’t include the ‘git credential’
invocation (which was incorrect anyway as it should use ‘approve’
instead of ‘fill’) and instead just mentions that credentials helper
must be set up.

Signed-off-by: Michał Nazarewicz <mina86@mina86.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Documentation: add instructions to help setup gmail 2FAMichael Rappazzo Fri, 27 May 2016 20:39:57 +0000 (16:39 -0400)

Documentation: add instructions to help setup gmail 2FA

For those who use two-factor authentication with gmail, git-send-email
will not work unless it is setup with an app-specific password. The
example for setting up git-send-email for use with gmail will now
include information on generating and storing the app-specific password.

Signed-off-by: Michael Rappazzo <rappazzo@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Sync with maintJunio C Hamano Thu, 26 May 2016 20:28:24 +0000 (13:28 -0700)

Sync with maint

* maint:
Start preparing for 2.8.4
archive-tar: convert snprintf to xsnprintf

Start preparing for 2.8.4Junio C Hamano Thu, 26 May 2016 20:21:00 +0000 (13:21 -0700)

Start preparing for 2.8.4

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

Merge branch 'jc/linkgit-fix' into maintJunio C Hamano Thu, 26 May 2016 20:17:26 +0000 (13:17 -0700)

Merge branch 'jc/linkgit-fix' into maint

Many 'linkgit:<git documentation page>' references were broken,
which are all fixed with this.

* jc/linkgit-fix:
Documentation: fix linkgit references

Merge branch 'ls/travis-build-doc' into maintJunio C Hamano Thu, 26 May 2016 20:17:25 +0000 (13:17 -0700)

Merge branch 'ls/travis-build-doc' into maint

CI test was taught to build documentation pages.

* ls/travis-build-doc:
travis-ci: build documentation

Merge branch 'jc/fsck-nul-in-commit' into maintJunio C Hamano Thu, 26 May 2016 20:17:24 +0000 (13:17 -0700)

Merge branch 'jc/fsck-nul-in-commit' into maint

"git fsck" learned to catch NUL byte in a commit object as
potential error and warn.

* jc/fsck-nul-in-commit:
fsck: detect and warn a commit with embedded NUL
fsck_commit_buffer(): do not special case the last validation

Merge branch 'jk/rebase-interative-eval-fix' into maintJunio C Hamano Thu, 26 May 2016 20:17:24 +0000 (13:17 -0700)

Merge branch 'jk/rebase-interative-eval-fix' into maint

Portability enhancement for "rebase -i" to help platforms whose
shell does not like "for i in <empty>" (which is not POSIX-kosher).

* jk/rebase-interative-eval-fix:
rebase--interactive: avoid empty list in shell for-loop

Merge branch 'js/windows-dotgit' into maintJunio C Hamano Thu, 26 May 2016 20:17:23 +0000 (13:17 -0700)

Merge branch 'js/windows-dotgit' into maint

On Windows, .git and optionally any files whose name starts with a
dot are now marked as hidden, with a core.hideDotFiles knob to
customize this behaviour.

* js/windows-dotgit:
mingw: remove unnecessary definition
mingw: introduce the 'core.hideDotFiles' setting

Merge branch 'kf/gpg-sig-verification-doc' into maintJunio C Hamano Thu, 26 May 2016 20:17:22 +0000 (13:17 -0700)

Merge branch 'kf/gpg-sig-verification-doc' into maint

Documentation for "git merge --verify-signatures" has been updated
to clarify that the signature of only the commit at the tip is
verified. Also the phrasing used for signature and key validity is
adjusted to align with that used by OpenPGP.

* kf/gpg-sig-verification-doc:
Documentation: clarify signature verification

Merge branch 'lp/typofixes' into maintJunio C Hamano Thu, 26 May 2016 20:17:21 +0000 (13:17 -0700)

Merge branch 'lp/typofixes' into maint

Typofixes.

* lp/typofixes:
typofix: assorted typofixes in comments, documentation and messages

Merge branch 'sb/z-is-gnutar-ism' into maintJunio C Hamano Thu, 26 May 2016 20:17:21 +0000 (13:17 -0700)

Merge branch 'sb/z-is-gnutar-ism' into maint

Test fix.

* sb/z-is-gnutar-ism:
t6041: do not compress backup tar file
t3513: do not compress backup tar file

Merge branch 'va/i18n-misc-updates' into maintJunio C Hamano Thu, 26 May 2016 20:17:20 +0000 (13:17 -0700)

Merge branch 'va/i18n-misc-updates' into maint

Mark several messages for translation.

* va/i18n-misc-updates:
i18n: unpack-trees: avoid substituting only a verb in sentences
i18n: builtin/pull.c: split strings marked for translation
i18n: builtin/pull.c: mark placeholders for translation
i18n: git-parse-remote.sh: mark strings for translation
i18n: branch: move comment for translators
i18n: branch: unmark string for translation
i18n: builtin/rm.c: remove a comma ',' from string
i18n: unpack-trees: mark strings for translation
i18n: builtin/branch.c: mark option for translation
i18n: index-pack: use plural string instead of normal one

Merge branch 'bn/config-doc-tt-varnames' into maintJunio C Hamano Thu, 26 May 2016 20:17:19 +0000 (13:17 -0700)

Merge branch 'bn/config-doc-tt-varnames' into maint

Doc formatting fixes.

* bn/config-doc-tt-varnames:
config: consistently format $variables in monospaced font
config: describe 'pathname' value type

Merge branch 'nd/remote-plural-ours-plus-theirs' into... Junio C Hamano Thu, 26 May 2016 20:17:18 +0000 (13:17 -0700)

Merge branch 'nd/remote-plural-ours-plus-theirs' into maint

Message fix.

* nd/remote-plural-ours-plus-theirs:
remote.c: specify correct plural form in "commit diverge" message

Merge branch 'ak/t4151-ls-files-could-be-empty' into... Junio C Hamano Thu, 26 May 2016 20:17:17 +0000 (13:17 -0700)

Merge branch 'ak/t4151-ls-files-could-be-empty' into maint

Test fix.

* ak/t4151-ls-files-could-be-empty:
t4151: make sure argument to 'test -z' is given

Merge branch 'jc/test-seq' into maintJunio C Hamano Thu, 26 May 2016 20:17:16 +0000 (13:17 -0700)

Merge branch 'jc/test-seq' into maint

Test fix.

* jc/test-seq:
test-lib-functions.sh: rewrite test_seq without Perl
test-lib-functions.sh: remove misleading comment on test_seq

Merge branch 'tb/t5601-sed-fix' into maintJunio C Hamano Thu, 26 May 2016 20:17:15 +0000 (13:17 -0700)

Merge branch 'tb/t5601-sed-fix' into maint

Test fix.

* tb/t5601-sed-fix:
t5601: Remove trailing space in sed expression

Merge branch 'va/i18n-remote-comment-to-align' into... Junio C Hamano Thu, 26 May 2016 20:17:14 +0000 (13:17 -0700)

Merge branch 'va/i18n-remote-comment-to-align' into maint

Message fix.

* va/i18n-remote-comment-to-align:
i18n: remote: add comment for translators

Merge branch 'va/mailinfo-doc-typofix' into maintJunio C Hamano Thu, 26 May 2016 20:17:13 +0000 (13:17 -0700)

Merge branch 'va/mailinfo-doc-typofix' into maint

Typofix.

* va/mailinfo-doc-typofix:
Documentation/git-mailinfo: fix typo

Merge branch 'maint-2.7' into maintJunio C Hamano Thu, 26 May 2016 20:16:51 +0000 (13:16 -0700)

Merge branch 'maint-2.7' into maint

* maint-2.7:
archive-tar: convert snprintf to xsnprintf

Merge branch 'jk/war-on-sprintf' into maint-2.7Junio C Hamano Thu, 26 May 2016 17:45:37 +0000 (10:45 -0700)

Merge branch 'jk/war-on-sprintf' into maint-2.7

* jk/war-on-sprintf:
archive-tar: convert snprintf to xsnprintf

archive-tar: convert snprintf to xsnprintfJeff King Thu, 26 May 2016 04:28:08 +0000 (00:28 -0400)

archive-tar: convert snprintf to xsnprintf

Commit f2f0267 (archive-tar: use xsnprintf for trivial
formatting, 2015-09-24) converted cases of "sprintf" to
"xsnprintf", but accidentally left one as just "snprintf".
This meant that we could silently truncate the resulting
buffer instead of flagging an error.

In practice, this is impossible to achieve, as we are
formatting a ustar checksum, which can be at most 7
characters. But the point of xsnprintf is to document and
check for "should be impossible" conditions; this site was
just accidentally mis-converted during f2f0267.

Noticed-by: Paul Green <Paul.Green@stratus.com>
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Git 2.9-rc0 v2.9.0-rc0Junio C Hamano Mon, 23 May 2016 22:02:48 +0000 (15:02 -0700)

Git 2.9-rc0

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

Merge branch 'svn-travis' of git://bogomips.org/git-svnJunio C Hamano Mon, 23 May 2016 22:01:03 +0000 (15:01 -0700)

Merge branch 'svn-travis' of git://bogomips.org/git-svn

* 'svn-travis' of git://bogomips.org/git-svn:
travis-ci: enable Git SVN tests t91xx on Linux

Merge branch 'jc/rerere-multi'Junio C Hamano Mon, 23 May 2016 21:54:37 +0000 (14:54 -0700)

Merge branch 'jc/rerere-multi'

* jc/rerere-multi:
rerere: remove an null statement
rerere: plug memory leaks upon "rerere forget" failure

Merge branch 'da/difftool'Junio C Hamano Mon, 23 May 2016 21:54:36 +0000 (14:54 -0700)

Merge branch 'da/difftool'

"git difftool" learned to handle unmerged paths correctly in
dir-diff mode.

* da/difftool:
difftool: handle unmerged files in dir-diff mode
difftool: initialize variables for readability

Merge branch 'jk/test-z-n-unquoted'Junio C Hamano Mon, 23 May 2016 21:54:35 +0000 (14:54 -0700)

Merge branch 'jk/test-z-n-unquoted'

t9xxx series has been updated primarily for readability, while
fixing small bugs in it. A few scripted Porcelains have also been
updated to fix possible bugs around their use of "test -z" and
"test -n".

* jk/test-z-n-unquoted:
always quote shell arguments to test -z/-n
t9103: modernize test style
t9107: switch inverted single/double quotes in test
t9107: use "return 1" instead of "exit 1"
t9100,t3419: enclose all test code in single-quotes
t/lib-git-svn: drop $remote_git_svn and $git_svn_id

Merge branch 'ar/diff-args-osx-precompose'Junio C Hamano Mon, 23 May 2016 21:54:35 +0000 (14:54 -0700)

Merge branch 'ar/diff-args-osx-precompose'

Many commands normalize command line arguments from NFD to NFC
variant of UTF-8 on OSX, but commands in the "diff" family did
not, causing "git diff $path" to complain that no such path is
known to Git. They have been taught to do the normalization.

* ar/diff-args-osx-precompose:
diff: run arguments through precompose_argv

Merge branch 'jc/doc-lint'Junio C Hamano Mon, 23 May 2016 21:54:34 +0000 (14:54 -0700)

Merge branch 'jc/doc-lint'

Find common mistakes when writing gitlink: in our documentation and
drive the check from "make check-docs".

I am not entirely happy with the way the script chooses what input
file to validate, but it is not worse than not having anything, so
let's move it forward and have the logic improved later when people
care about it deeply.

* jc/doc-lint:
ci: validate "linkgit:" in documentation

Merge branch 'js/perf-rebase-i'Junio C Hamano Mon, 23 May 2016 21:54:33 +0000 (14:54 -0700)

Merge branch 'js/perf-rebase-i'

Add perf test for "rebase -i"

* js/perf-rebase-i:
perf: run "rebase -i" under perf
perf: make the tests work in worktrees
perf: let's disable symlinks when they are not available

Merge branch 'jc/test-parse-options-expect'Junio C Hamano Mon, 23 May 2016 21:54:32 +0000 (14:54 -0700)

Merge branch 'jc/test-parse-options-expect'

t0040 had too many unnecessary repetitions in its test data. Teach
test-parse-options program so that a caller can tell what it
expects in its output, so that these repetitions can be cleaned up.

* jc/test-parse-options-expect:
t0040: convert a few tests to use test-parse-options --expect
t0040: remove unused test helpers
test-parse-options: --expect=<string> option to simplify tests
test-parse-options: fix output when callback option fails

Merge branch 'pb/commit-verbose-config'Junio C Hamano Mon, 23 May 2016 21:54:31 +0000 (14:54 -0700)

Merge branch 'pb/commit-verbose-config'

"git commit" learned to pay attention to "commit.verbose"
configuration variable and act as if "--verbose" option was
given from the command line.

* pb/commit-verbose-config:
commit: add a commit.verbose config variable
t7507-commit-verbose: improve test coverage by testing number of diffs
parse-options.c: make OPTION_COUNTUP respect "unspecified" values
t/t7507: improve test coverage
t0040-parse-options: improve test coverage
test-parse-options: print quiet as integer
t0040-test-parse-options.sh: fix style issues

Merge branch 'xy/format-patch-base'Junio C Hamano Mon, 23 May 2016 21:54:31 +0000 (14:54 -0700)

Merge branch 'xy/format-patch-base'

"git format-patch" learned a new "--base" option to record what
(public, well-known) commit the original series was built on in
its output.

* xy/format-patch-base:
format-patch: introduce format.useAutoBase configuration
format-patch: introduce --base=auto option
format-patch: add '--base' option to record base tree info
patch-ids: make commit_patch_id() a public helper function

Merge branch 'tb/core-eol-fix'Junio C Hamano Mon, 23 May 2016 21:54:30 +0000 (14:54 -0700)

Merge branch 'tb/core-eol-fix'

A couple of bugs around core.autocrlf have been fixed.

* tb/core-eol-fix:
convert.c: ident + core.autocrlf didn't work
t0027: test cases for combined attributes
convert: allow core.autocrlf=input and core.eol=crlf
t0027: make commit_chk_wrnNNO() reliable

Merge branch 'nd/worktree-various-heads'Junio C Hamano Mon, 23 May 2016 21:54:29 +0000 (14:54 -0700)

Merge branch 'nd/worktree-various-heads'

The experimental "multiple worktree" feature gains more safety to
forbid operations on a branch that is checked out or being actively
worked on elsewhere, by noticing that e.g. it is being rebased.

* nd/worktree-various-heads:
branch: do not rename a branch under bisect or rebase
worktree.c: check whether branch is bisected in another worktree
wt-status.c: split bisect detection out of wt_status_get_state()
worktree.c: check whether branch is rebased in another worktree
worktree.c: avoid referencing to worktrees[i] multiple times
wt-status.c: make wt_status_check_rebase() work on any worktree
wt-status.c: split rebase detection out of wt_status_get_state()
path.c: refactor and add worktree_git_path()
worktree.c: mark current worktree
worktree.c: make find_shared_symref() return struct worktree *
worktree.c: store "id" instead of "git_dir"
path.c: add git_common_path() and strbuf_git_common_path()
dir.c: rename str(n)cmp_icase to fspath(n)cmp

Merge branch 'ss/commit-dry-run-resolve-merge-to-no-op'Junio C Hamano Mon, 23 May 2016 21:54:28 +0000 (14:54 -0700)

Merge branch 'ss/commit-dry-run-resolve-merge-to-no-op'

"git commit --dry-run" reported "No, no, you cannot commit." in one
case where "git commit" would have allowed you to commit, and this
improves it a little bit ("git commit --dry-run --short" still does
not give you the correct answer, for example). This is a stop-gap
measure in that "commit --short --dry-run" still gives an incorrect
result.

* ss/commit-dry-run-resolve-merge-to-no-op:
wt-status.c: set commitable bit if there is a meaningful merge.

travis-ci: enable Git SVN tests t91xx on LinuxLars Schneider Thu, 19 May 2016 09:10:08 +0000 (11:10 +0200)

travis-ci: enable Git SVN tests t91xx on Linux

Install the "git-svn" package to make the Perl SVN libraries available
to the Git SVN tests on Travis-CI Linux build machines.

Signed-off-by: Lars Schneider <larsxschneider@gmail.com>
Signed-off-by: Eric Wong <e@80x24.org>

rerere: remove an null statementJunio C Hamano Thu, 19 May 2016 19:51:22 +0000 (12:51 -0700)

rerere: remove an null statement

J6t spotted that previous commit added an empty statement by
mistake.

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

Sync with 2.8.3Junio C Hamano Wed, 18 May 2016 22:33:57 +0000 (15:33 -0700)

Sync with 2.8.3

* maint:
Git 2.8.3

Git 2.8.3 v2.8.3Junio C Hamano Wed, 18 May 2016 21:45:08 +0000 (14:45 -0700)

Git 2.8.3

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

Merge branch 'jk/push-client-deadlock-fix'Junio C Hamano Wed, 18 May 2016 22:11:46 +0000 (15:11 -0700)

Merge branch 'jk/push-client-deadlock-fix'

Some Windows SDK lacks pthread_sigmask() implementation and fails
to compile the recently updated "git push" codepath that uses it.

* jk/push-client-deadlock-fix:
Windows: only add a no-op pthread_sigmask() when needed
Windows: add pthread_sigmask() that does nothing

Merge branch 'sb/misc-cleanups' into HEADJunio C Hamano Wed, 18 May 2016 21:40:15 +0000 (14:40 -0700)

Merge branch 'sb/misc-cleanups' into HEAD

* sb/misc-cleanups:
submodule-config: don't shadow `cache`
config.c: drop local variable
credential-cache, send_request: close fd when done
bundle: don't leak an fd in case of early return
abbrev_sha1_in_line: don't leak memory
notes: don't leak memory in git_config_get_notes_strategy

Merge branch 'ew/doc-split-pack-disables-bitmap' into... Junio C Hamano Wed, 18 May 2016 21:40:15 +0000 (14:40 -0700)

Merge branch 'ew/doc-split-pack-disables-bitmap' into HEAD

Doc update.

* ew/doc-split-pack-disables-bitmap:
pack-objects: warn on split packs disabling bitmaps

Merge branch 'sb/clean-test-fix' into HEADJunio C Hamano Wed, 18 May 2016 21:40:14 +0000 (14:40 -0700)

Merge branch 'sb/clean-test-fix' into HEAD

* sb/clean-test-fix:
t7300: mark test with SANITY

Merge branch 'rn/glossary-typofix' into HEADJunio C Hamano Wed, 18 May 2016 21:40:13 +0000 (14:40 -0700)

Merge branch 'rn/glossary-typofix' into HEAD

* rn/glossary-typofix:
Documentation: fix typo 'In such these cases'

Merge branch 'ew/normal-to-e' into HEADJunio C Hamano Wed, 18 May 2016 21:40:12 +0000 (14:40 -0700)

Merge branch 'ew/normal-to-e' into HEAD

* ew/normal-to-e:
.mailmap: update to my shorter email address

Merge branch 'sb/config-exit-status-list' into HEADJunio C Hamano Wed, 18 May 2016 21:40:12 +0000 (14:40 -0700)

Merge branch 'sb/config-exit-status-list' into HEAD

Doc update.

* sb/config-exit-status-list:
config doc: improve exit code listing

Merge branch 'rt/string-list-lookup-cleanup' into HEADJunio C Hamano Wed, 18 May 2016 21:40:12 +0000 (14:40 -0700)

Merge branch 'rt/string-list-lookup-cleanup' into HEAD

Code cleanup.

* rt/string-list-lookup-cleanup:
string_list: use string-list API in unsorted_string_list_lookup()

Merge branch 'jk/fix-attribute-macro-in-2.5' into HEADJunio C Hamano Wed, 18 May 2016 21:40:12 +0000 (14:40 -0700)

Merge branch 'jk/fix-attribute-macro-in-2.5' into HEAD

Code fixup.

* jk/fix-attribute-macro-in-2.5:
remote.c: spell __attribute__ correctly

Merge branch 'sg/test-lib-simplify-expr-away' into... Junio C Hamano Wed, 18 May 2016 21:40:11 +0000 (14:40 -0700)

Merge branch 'sg/test-lib-simplify-expr-away' into HEAD

Code cleanup.

* sg/test-lib-simplify-expr-away:
test-lib: simplify '--option=value' parsing

Merge branch 'nd/remove-unused' into HEADJunio C Hamano Wed, 18 May 2016 21:40:11 +0000 (14:40 -0700)

Merge branch 'nd/remove-unused' into HEAD

Code cleanup.

* nd/remove-unused:
wrapper.c: delete dead function git_mkstemps()
dir.c: remove dead function fnmatch_icase()

Merge branch 'sk/gitweb-highlight-encoding' into HEADJunio C Hamano Wed, 18 May 2016 21:40:10 +0000 (14:40 -0700)

Merge branch 'sk/gitweb-highlight-encoding' into HEAD

Some multi-byte encoding can have a backslash byte as a later part
of one letter, which would confuse "highlight" filter used in
gitweb.

* sk/gitweb-highlight-encoding:
gitweb: apply fallback encoding before highlight

Merge branch 'ls/travis-submitting-patches' into HEADJunio C Hamano Wed, 18 May 2016 21:40:09 +0000 (14:40 -0700)

Merge branch 'ls/travis-submitting-patches' into HEAD

* ls/travis-submitting-patches:
Documentation: add setup instructions for Travis CI

Merge branch 'js/close-packs-before-gc' into HEADJunio C Hamano Wed, 18 May 2016 21:40:09 +0000 (14:40 -0700)

Merge branch 'js/close-packs-before-gc' into HEAD

* js/close-packs-before-gc:
t5510: run auto-gc in the foreground

Merge branch 'ls/p4-lfs' into HEADJunio C Hamano Wed, 18 May 2016 21:40:08 +0000 (14:40 -0700)

Merge branch 'ls/p4-lfs' into HEAD

Recent update to Git LFS broke "git p4" by changing the output from
its "lfs pointer" subcommand.

* ls/p4-lfs:
git-p4: fix Git LFS pointer parsing
travis-ci: express Linux/OS X dependency versions more clearly
travis-ci: update Git-LFS and P4 to the latest version

Merge branch 'ls/p4-lfs-test-fix-2.7.0' into HEADJunio C Hamano Wed, 18 May 2016 21:40:08 +0000 (14:40 -0700)

Merge branch 'ls/p4-lfs-test-fix-2.7.0' into HEAD

Fix a broken test.

* ls/p4-lfs-test-fix-2.7.0:
t9824: fix wrong reference value
t9824: fix broken &&-chain in a subshell

Merge branch 'nf/mergetool-prompt' into HEADJunio C Hamano Wed, 18 May 2016 21:40:07 +0000 (14:40 -0700)

Merge branch 'nf/mergetool-prompt' into HEAD

UI consistency improvements.

* nf/mergetool-prompt:
difftool/mergetool: make the form of yes/no questions consistent

Merge branch 'jd/send-email-to-whom' into HEADJunio C Hamano Wed, 18 May 2016 21:40:07 +0000 (14:40 -0700)

Merge branch 'jd/send-email-to-whom' into HEAD

A question by "git send-email" to ask the identity of the sender
has been updated.

* jd/send-email-to-whom:
send-email: fix grammo in the prompt that asks e-mail recipients

Merge branch 'js/win32-mmap' into HEADJunio C Hamano Wed, 18 May 2016 21:40:06 +0000 (14:40 -0700)

Merge branch 'js/win32-mmap' into HEAD

mmap emulation on Windows has been optimized and work better without
consuming paging store when not needed.

* js/win32-mmap:
mmap(win32): avoid expensive fstat() call
mmap(win32): avoid copy-on-write when it is unnecessary
win32mmap: set errno appropriately

Merge branch 'jk/push-client-deadlock-fix' into HEADJunio C Hamano Wed, 18 May 2016 21:40:06 +0000 (14:40 -0700)

Merge branch 'jk/push-client-deadlock-fix' into HEAD

Some Windows SDK lacks pthread_sigmask() implementation and fails
to compile the recently updated "git push" codepath that uses it.

* jk/push-client-deadlock-fix:
Windows: only add a no-op pthread_sigmask() when needed
Windows: add pthread_sigmask() that does nothing
t5504: drop sigpipe=ok from push tests
fetch-pack: isolate sigpipe in demuxer thread
send-pack: isolate sigpipe in demuxer thread
run-command: teach async threads to ignore SIGPIPE
send-pack: close demux pipe before finishing async process

Merge branch 'sb/mv-submodule-fix' into HEADJunio C Hamano Wed, 18 May 2016 21:40:05 +0000 (14:40 -0700)

Merge branch 'sb/mv-submodule-fix' into HEAD

"git mv old new" did not adjust the path for a submodule that lives
as a subdirectory inside old/ directory correctly.

* sb/mv-submodule-fix:
mv: allow moving nested submodules

Merge branch 'da/user-useconfigonly' into HEADJunio C Hamano Wed, 18 May 2016 21:40:05 +0000 (14:40 -0700)

Merge branch 'da/user-useconfigonly' into HEAD

The "user.useConfigOnly" configuration variable makes it an error
if users do not explicitly set user.name and user.email. However,
its check was not done early enough and allowed another error to
trigger, reporting that the default value we guessed from the
system setting was unusable. This was a suboptimal end-user
experience as we want the users to set user.name/user.email without
relying on the auto-detection at all.

* da/user-useconfigonly:
ident: give "please tell me" message upon useConfigOnly error
ident: check for useConfigOnly before auto-detection of name/email

Merge branch 'ld/p4-test-py3' into HEADJunio C Hamano Wed, 18 May 2016 21:40:04 +0000 (14:40 -0700)

Merge branch 'ld/p4-test-py3' into HEAD

The test scripts for "git p4" (but not "git p4" implementation
itself) has been updated so that they would work even on a system
where the installed version of Python is python 3.

* ld/p4-test-py3:
git-p4 tests: time_in_seconds should use $PYTHON_PATH
git-p4 tests: work with python3 as well as python2
git-p4 tests: cd to / before running python

Thirteenth batch for 2.9Junio C Hamano Tue, 17 May 2016 21:47:06 +0000 (14:47 -0700)

Thirteenth batch for 2.9

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

Merge branch 'kf/gpg-sig-verification-doc'Junio C Hamano Tue, 17 May 2016 21:38:39 +0000 (14:38 -0700)

Merge branch 'kf/gpg-sig-verification-doc'

Documentation for "git merge --verify-signatures" has been updated
to clarify that the signature of only the commit at the tip is
verified. Also the phrasing used for signature and key validity is
adjusted to align with that used by OpenPGP.

* kf/gpg-sig-verification-doc:
Documentation: clarify signature verification

Merge branch 'js/windows-dotgit'Junio C Hamano Tue, 17 May 2016 21:38:39 +0000 (14:38 -0700)

Merge branch 'js/windows-dotgit'

On Windows, .git and optionally any files whose name starts with a
dot are now marked as hidden, with a core.hideDotFiles knob to
customize this behaviour.

* js/windows-dotgit:
mingw: remove unnecessary definition
mingw: introduce the 'core.hideDotFiles' setting

Merge branch 'va/mailinfo-doc-typofix'Junio C Hamano Tue, 17 May 2016 21:38:37 +0000 (14:38 -0700)

Merge branch 'va/mailinfo-doc-typofix'

Typofix.

* va/mailinfo-doc-typofix:
Documentation/git-mailinfo: fix typo

Merge branch 'jk/test-send-sh-x-trace-elsewhere'Junio C Hamano Tue, 17 May 2016 21:38:36 +0000 (14:38 -0700)

Merge branch 'jk/test-send-sh-x-trace-elsewhere'

Running tests with '-x' option to trace the individual command
executions is a useful way to debug test scripts, but some tests
that capture the standard error stream and check what the command
said can be broken with the trace output mixed in. When running
our tests under "bash", however, we can redirect the trace output
to another file descriptor to keep the standard error of programs
being tested intact.

* jk/test-send-sh-x-trace-elsewhere:
test-lib: set BASH_XTRACEFD automatically

Merge branch 'js/http-custom-headers'Junio C Hamano Tue, 17 May 2016 21:38:35 +0000 (14:38 -0700)

Merge branch 'js/http-custom-headers'

Update tests for "http.extraHeaders=<header>" to be portable back
to Apache 2.2 (the original depended on <RequireAll/> which is a
more recent feature).

* js/http-custom-headers:
submodule: ensure that -c http.extraheader is heeded
t5551: make the test for extra HTTP headers more robust
tests: adjust the configuration for Apache 2.2

Merge branch 'jk/rebase-interative-eval-fix'Junio C Hamano Tue, 17 May 2016 21:38:35 +0000 (14:38 -0700)

Merge branch 'jk/rebase-interative-eval-fix'

Portability enhancement for "rebase -i" to help platforms whose
shell does not like "for i in <empty>" (which is not POSIX-kosher).

* jk/rebase-interative-eval-fix:
rebase--interactive: avoid empty list in shell for-loop

Merge branch 'jc/fsck-nul-in-commit'Junio C Hamano Tue, 17 May 2016 21:38:34 +0000 (14:38 -0700)

Merge branch 'jc/fsck-nul-in-commit'

"git fsck" learned to catch NUL byte in a commit object as
potential error and warn.

* jc/fsck-nul-in-commit:
fsck: detect and warn a commit with embedded NUL
fsck_commit_buffer(): do not special case the last validation

Merge branch 'nd/test-helpers'Junio C Hamano Tue, 17 May 2016 21:38:33 +0000 (14:38 -0700)

Merge branch 'nd/test-helpers'

Switching between 'master' and 'next', between which the paths to
test helper binaries have changed, did not update bin-wrappers/*
scripts used in tests, causing false test failures.

* nd/test-helpers:
wrap-for-bin.sh: regenerate bin-wrappers when switching branches

Merge branch 'ls/travis-build-doc'Junio C Hamano Tue, 17 May 2016 21:38:33 +0000 (14:38 -0700)

Merge branch 'ls/travis-build-doc'

CI test was taught to build documentation pages.

* ls/travis-build-doc:
travis-ci: build documentation

Merge branch 'jc/ll-merge-internal'Junio C Hamano Tue, 17 May 2016 21:38:32 +0000 (14:38 -0700)

Merge branch 'jc/ll-merge-internal'

"git rerere" can get confused by conflict markers deliberately left
by the inner merge step, because they are indistinguishable from
the real conflict markers left by the outermost merge which are
what the end user and "rerere" need to look at. This was fixed by
making the conflict markers left by the inner merges a bit longer.

* jc/ll-merge-internal:
t6036: remove pointless test that expects failure
ll-merge: use a longer conflict marker for internal merge
ll-merge: fix typo in comment

Merge branch 'jc/linkgit-fix'Junio C Hamano Tue, 17 May 2016 21:38:31 +0000 (14:38 -0700)

Merge branch 'jc/linkgit-fix'

Many 'linkgit:<git documentation page>' references were broken,
which are all fixed with this.

* jc/linkgit-fix:
Documentation: fix linkgit references

Merge branch 'va/i18n-remote-comment-to-align'Junio C Hamano Tue, 17 May 2016 21:38:30 +0000 (14:38 -0700)

Merge branch 'va/i18n-remote-comment-to-align'

Message fix.

* va/i18n-remote-comment-to-align:
i18n: remote: add comment for translators

Merge branch 'tb/t5601-sed-fix'Junio C Hamano Tue, 17 May 2016 21:38:29 +0000 (14:38 -0700)

Merge branch 'tb/t5601-sed-fix'

Test fix.

* tb/t5601-sed-fix:
t5601: Remove trailing space in sed expression

Merge branch 'nd/error-errno'Junio C Hamano Tue, 17 May 2016 21:38:28 +0000 (14:38 -0700)

Merge branch 'nd/error-errno'

The code for warning_errno/die_errno has been refactored and a new
error_errno() reporting helper is introduced.

* nd/error-errno: (41 commits)
wrapper.c: use warning_errno()
vcs-svn: use error_errno()
upload-pack.c: use error_errno()
unpack-trees.c: use error_errno()
transport-helper.c: use error_errno()
sha1_file.c: use {error,die,warning}_errno()
server-info.c: use error_errno()
sequencer.c: use error_errno()
run-command.c: use error_errno()
rerere.c: use error_errno() and warning_errno()
reachable.c: use error_errno()
mailmap.c: use error_errno()
ident.c: use warning_errno()
http.c: use error_errno() and warning_errno()
grep.c: use error_errno()
gpg-interface.c: use error_errno()
fast-import.c: use error_errno()
entry.c: use error_errno()
editor.c: use error_errno()
diff-no-index.c: use error_errno()
...

Merge branch 'jc/test-seq'Junio C Hamano Tue, 17 May 2016 21:38:28 +0000 (14:38 -0700)

Merge branch 'jc/test-seq'

Test fix.

* jc/test-seq:
test-lib-functions.sh: rewrite test_seq without Perl
test-lib-functions.sh: remove misleading comment on test_seq

Merge branch 'es/test-gpg-tags'Junio C Hamano Tue, 17 May 2016 21:38:27 +0000 (14:38 -0700)

Merge branch 'es/test-gpg-tags'

Test fix.

* es/test-gpg-tags:
t6302: simplify non-gpg cases

Merge branch 'ak/t4151-ls-files-could-be-empty'Junio C Hamano Tue, 17 May 2016 21:38:26 +0000 (14:38 -0700)

Merge branch 'ak/t4151-ls-files-could-be-empty'

Test fix.

* ak/t4151-ls-files-could-be-empty:
t4151: make sure argument to 'test -z' is given

Merge branch 'jk/submodule-c-credential'Junio C Hamano Tue, 17 May 2016 21:38:25 +0000 (14:38 -0700)

Merge branch 'jk/submodule-c-credential'

An earlier addition of "sanitize_submodule_env" with 14111fc4 (git:
submodule honor -c credential.* from command line, 2016-02-29)
turned out to be a convoluted no-op; implement what it wanted to do
correctly, and stop filtering settings given via "git -c var=val".

* jk/submodule-c-credential:
submodule: stop sanitizing config options
submodule: use prepare_submodule_repo_env consistently
submodule--helper: move config-sanitizing to submodule.c
submodule: export sanitized GIT_CONFIG_PARAMETERS
t5550: break submodule config test into multiple sub-tests
t5550: fix typo in $HTTPD_URL

Merge branch 'nd/remote-plural-ours-plus-theirs'Junio C Hamano Tue, 17 May 2016 21:38:24 +0000 (14:38 -0700)

Merge branch 'nd/remote-plural-ours-plus-theirs'

Message fix.

* nd/remote-plural-ours-plus-theirs:
remote.c: specify correct plural form in "commit diverge" message

Merge branch 'bn/config-doc-tt-varnames'Junio C Hamano Tue, 17 May 2016 21:38:23 +0000 (14:38 -0700)

Merge branch 'bn/config-doc-tt-varnames'

Doc formatting fixes.

* bn/config-doc-tt-varnames:
config: consistently format $variables in monospaced font

Merge branch 'va/i18n-misc-updates'Junio C Hamano Tue, 17 May 2016 21:38:22 +0000 (14:38 -0700)

Merge branch 'va/i18n-misc-updates'

Mark several messages for translation.

* va/i18n-misc-updates:
i18n: unpack-trees: avoid substituting only a verb in sentences
i18n: builtin/pull.c: split strings marked for translation
i18n: builtin/pull.c: mark placeholders for translation
i18n: git-parse-remote.sh: mark strings for translation
i18n: branch: move comment for translators
i18n: branch: unmark string for translation
i18n: builtin/rm.c: remove a comma ',' from string
i18n: unpack-trees: mark strings for translation
i18n: builtin/branch.c: mark option for translation
i18n: index-pack: use plural string instead of normal one

Merge branch 'js/t3404-typofix'Junio C Hamano Tue, 17 May 2016 21:38:22 +0000 (14:38 -0700)

Merge branch 'js/t3404-typofix'

* js/t3404-typofix:
t3404: fix typo

Merge branch 'sb/z-is-gnutar-ism'Junio C Hamano Tue, 17 May 2016 21:38:21 +0000 (14:38 -0700)

Merge branch 'sb/z-is-gnutar-ism'

* sb/z-is-gnutar-ism:
t6041: do not compress backup tar file
t3513: do not compress backup tar file

Merge branch 'lp/typofixes'Junio C Hamano Tue, 17 May 2016 21:38:20 +0000 (14:38 -0700)

Merge branch 'lp/typofixes'

* lp/typofixes:
typofix: assorted typofixes in comments, documentation and messages

Merge branch 'sb/submodule-deinit-all'Junio C Hamano Tue, 17 May 2016 21:38:19 +0000 (14:38 -0700)

Merge branch 'sb/submodule-deinit-all'

Correct faulty recommendation to use "git submodule deinit ." when
de-initialising all submodules, which would result in a strange
error message in a pathological corner case.

* sb/submodule-deinit-all:
submodule deinit: require '--all' instead of '.' for all submodules

Merge branch 'jc/config-pathname-type'Junio C Hamano Tue, 17 May 2016 21:38:19 +0000 (14:38 -0700)

Merge branch 'jc/config-pathname-type'

Consolidate description of tilde-expansion that is done to
configuration variables that take pathname to a single place.

* jc/config-pathname-type:
config: describe 'pathname' value type

Merge branch 'bn/http-cookiefile-config'Junio C Hamano Tue, 17 May 2016 21:38:18 +0000 (14:38 -0700)

Merge branch 'bn/http-cookiefile-config'

"http.cookieFile" configuration variable clearly wants a pathname,
but we forgot to treat it as such by e.g. applying tilde expansion.

* bn/http-cookiefile-config:
http: expand http.cookieFile as a path
Documentation: config: improve word ordering for http.cookieFile

Merge branch 'ab/hooks'Junio C Hamano Tue, 17 May 2016 21:38:17 +0000 (14:38 -0700)

Merge branch 'ab/hooks'

A new configuration variable core.hooksPath allows customizing
where the hook directory is.

* ab/hooks:
hooks: allow customizing where the hook directory is
githooks.txt: minor improvements to the grammar & phrasing
githooks.txt: amend dangerous advice about 'update' hook ACL
githooks.txt: improve the intro section

Merge branch 'sb/submodule-init'Junio C Hamano Tue, 17 May 2016 21:38:16 +0000 (14:38 -0700)

Merge branch 'sb/submodule-init'

Update of "git submodule" to move pieces of logic to C continues.

* sb/submodule-init:
submodule init: redirect stdout to stderr
submodule--helper update-clone: abort gracefully on missing .gitmodules
submodule init: fail gracefully with a missing .gitmodules file
submodule: port init from shell to C
submodule: port resolve_relative_url from shell to C

difftool: handle unmerged files in dir-diff modeDavid Aguilar Mon, 16 May 2016 18:05:37 +0000 (11:05 -0700)

difftool: handle unmerged files in dir-diff mode

When files are unmerged they can show up as both unmerged and
modified in the output of `git diff --raw`. This causes
difftool's dir-diff to create filesystem entries for the same
path twice, which fails when it encounters a duplicate path.

Ensure that each worktree path is only processed once.
Add a test to demonstrate the breakage.

Reported-by: Jan Smets <jan@smets.cx>
Signed-off-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

difftool: initialize variables for readabilityDavid Aguilar Mon, 16 May 2016 18:05:36 +0000 (11:05 -0700)

difftool: initialize variables for readability

The code always goes into one of the two conditional blocks but make it
clear that not doing so is an error condition by setting $ok to 0.

Signed-off-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

always quote shell arguments to test -z/-nJeff King Fri, 13 May 2016 20:47:33 +0000 (16:47 -0400)

always quote shell arguments to test -z/-n

In shell code like:

test -z $foo
test -n $foo

that does not quote its arguments, it's easy to think that
it is actually looking at the contents of $foo in each case.
But if $foo is empty, then "test" does not see any argument
at all! The results are quite subtle.

POSIX specifies that test's behavior depends on the number
of arguments it sees, and if $foo is empty, it sees only
one. The behavior in this case is:

1 argument: Exit true (0) if $1 is not null; otherwise,
exit false.

So in the "-z $foo" case, if $foo is empty, then we check
that "-z" is non-null, and it returns success. Which happens
to match what we expected. But for "-n $foo", if $foo is
empty, we'll see that "-n" is non-null and still return
success. That's the opposite of what we intended!

Furthermore, if $foo contains whitespace, we'll end up with
more than 2 arguments. The results in this case are
generally unspecified (unless the first part of $foo happens
to be a valid binary operator, in which case the results are
specified but certainly not what we intended).

And on top of this, even though "test -z $foo" _should_ work
for the empty case, some older shells (reportedly ksh88)
complain about the missing argument.

So let's make sure we consistently quote our variable
arguments to "test". After this patch, the results of:

git grep 'test -[zn] [^"]'

are empty.

Reported-by: Armin Kunaschik <megabreit@googlemail.com>
Helped-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t9103: modernize test styleJeff King Fri, 13 May 2016 20:47:28 +0000 (16:47 -0400)

t9103: modernize test style

The main goal here was to avoid double-quotes for
surrounding the test snippet, since it makes the code hard
to read (and to grep for common problems).

But while we're here, we can fix a few other things:

- use test_path_* helpers, which are more robust and give
better error messages

- only "cd" inside a subshell, which leaves the
environment pristine if further tests are added

- consistently quote shell arguments. These aren't wrong
if we assume find-rev output doesn't have any
whitespace, but it doesn't hurt to be careful.

- replace the old-style 'test x$foo = x' with 'test -z
"$foo"'. Besides the quoting fix, this is the form we
generally use in our test suite.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t9107: switch inverted single/double quotes in testJeff King Fri, 13 May 2016 20:47:24 +0000 (16:47 -0400)

t9107: switch inverted single/double quotes in test

One of the test snippets in t9107 is enclosed in double
quotes, but then uses single quotes to surround an
interpolated variable inside the snippet, like:

test_expect_success '...' "
test -n '$head'
"

This happens to work because the variable is interpolated
_before_ the snippet is run, and the result is eval'd. So as
long as the variable does not contain any single quotes, the
two are equivalent. And it doesn't, as we know it is a sha1
from rev-parse above. But this construct is unnecessarily
confusing.

But we can go a step further in cleaning up. The test is
really checking that a particular ref has a value. Rather
than checking if rev-parse produced output, we can just move
rev-parse into the test itself, and rely on the exit code
from --verify. Nobody else cares about the $head variable at
all.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t9107: use "return 1" instead of "exit 1"Jeff King Fri, 13 May 2016 20:47:21 +0000 (16:47 -0400)

t9107: use "return 1" instead of "exit 1"

When a test runs a loop, it cannot rely on the usual
&&-chaining to propagate a failure inside the loop; it needs
to break out with a failure signal. However, unless you are
in a subshell, doing so with "exit 1" will exit the entire
test script, not just the test snippet we are in (and cause
the harness to complain that test_done was never reached).

So the fundamental point of this patch is s/exit/return/.
But while we're there, let's fix a number of style and
readability issues:

- snippets in double-quotes need an extra layer of quoting
for their meta-characters; let's avoid that by using
single quotes

- accumulating loop output by appending to a file in each
iteration is brittle, as it can be affected by content
left in the file by earlier tests. Instead, it's better
to redirect stdout for the whole loop, so we know the
output only comes from that loop.

- using "test -z" to check that diff output is empty is
overly verbose; we can just ask diff to use --exit-code.

- we can factor out long lists of refs to make it more
obvious we're using the same ones in each loop

- subshells are unnecessary when ending an &&-chain with
"|| return 1"

- minor style fixups like space-after-redirection, and
"do" and "done" on their own lines

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>