gitweb.git
Merge branch 'mh/packed-ref-store-prep'Junio C Hamano Mon, 5 Jun 2017 00:18:11 +0000 (09:18 +0900)

Merge branch 'mh/packed-ref-store-prep'

The implementation of "ref" API around the "packed refs" have been
cleaned up, in preparation for further changes.

* mh/packed-ref-store-prep: (25 commits)
cache_ref_iterator_begin(): avoid priming unneeded directories
ref-filter: limit traversal to prefix
create_ref_entry(): remove `check_name` option
refs_ref_iterator_begin(): handle `GIT_REF_PARANOIA`
read_packed_refs(): report unexpected fopen() failures
read_packed_refs(): do more of the work of reading packed refs
get_packed_ref_cache(): assume "packed-refs" won't change while locked
should_pack_ref(): new function, extracted from `files_pack_refs()`
ref_update_reject_duplicates(): add a sanity check
ref_update_reject_duplicates(): use `size_t` rather than `int`
ref_update_reject_duplicates(): expose function to whole refs module
ref_transaction_prepare(): new optional step for reference updates
ref_transaction_commit(): check for valid `transaction->state`
files_transaction_cleanup(): new helper function
files_ref_store: put the packed files lock directly in this struct
files-backend: move `lock` member to `files_ref_store`
lockfile: add a new method, is_lock_file_locked()
ref_store: take a `msg` parameter when deleting references
refs: use `size_t` indexes when iterating over ref transaction updates
refs_ref_iterator_begin(): don't check prefixes redundantly
...

Merge branch 'mb/diff-default-to-indent-heuristics'Junio C Hamano Mon, 5 Jun 2017 00:18:10 +0000 (09:18 +0900)

Merge branch 'mb/diff-default-to-indent-heuristics'

Make the "indent" heuristics the default in "diff" and diff.indentHeuristics
configuration variable an escape hatch for those who do no want it.

* mb/diff-default-to-indent-heuristics:
add--interactive: drop diff.indentHeuristic handling
diff: enable indent heuristic by default
diff: have the diff-* builtins configure diff before initializing revisions
diff: make the indent heuristic part of diff's basic configuration

Merge branch 'jh/close-index-before-stat'Junio C Hamano Mon, 5 Jun 2017 00:18:10 +0000 (09:18 +0900)

Merge branch 'jh/close-index-before-stat'

The timestamp of the index file is now taken after the file is
closed, to help Windows, on which a stale timestamp is reported by
fstat() on a file that is opened for writing and data was written
but not yet closed.

* jh/close-index-before-stat:
read-cache: close index.lock in do_write_index

Git 2.13.1 v2.13.1Junio C Hamano Mon, 5 Jun 2017 00:05:38 +0000 (09:05 +0900)

Git 2.13.1

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

Merge branch 'ah/doc-rev-parse-short-default' into... Junio C Hamano Mon, 5 Jun 2017 00:03:23 +0000 (09:03 +0900)

Merge branch 'ah/doc-rev-parse-short-default' into maint

Doc update.

* ah/doc-rev-parse-short-default:
doc: rewrite description for rev-parse --short

Merge branch 'ah/doc-filter-branch-export-env' into... Junio C Hamano Mon, 5 Jun 2017 00:03:22 +0000 (09:03 +0900)

Merge branch 'ah/doc-filter-branch-export-env' into maint

Docfix.

* ah/doc-filter-branch-export-env:
doc: filter-branch does not require re-export of vars

Merge branch 'sd/t3200-typofix' into maintJunio C Hamano Mon, 5 Jun 2017 00:03:22 +0000 (09:03 +0900)

Merge branch 'sd/t3200-typofix' into maint

Test fix.

* sd/t3200-typofix:
branch test: fix invalid config key access

Merge branch 'sb/t5531-update-desc' into maintJunio C Hamano Mon, 5 Jun 2017 00:03:21 +0000 (09:03 +0900)

Merge branch 'sb/t5531-update-desc' into maint

The description strings for a few tests have been updated.

* sb/t5531-update-desc:
t5531: fix test description

Merge branch 'ah/doc-pretty-format-fix' into maintJunio C Hamano Mon, 5 Jun 2017 00:03:20 +0000 (09:03 +0900)

Merge branch 'ah/doc-pretty-format-fix' into maint

Documentation fix.

* ah/doc-pretty-format-fix:
Documentation: fix formatting typo in pretty-formats.txt

Merge branch 'ah/doc-interpret-trailers-ifexists' into... Junio C Hamano Mon, 5 Jun 2017 00:03:19 +0000 (09:03 +0900)

Merge branch 'ah/doc-interpret-trailers-ifexists' into maint

Documentation fix.

* ah/doc-interpret-trailers-ifexists:
Documentation: fix reference to ifExists for interpret-trailers

Merge branch 'ab/ref-filter-no-contains' into maintJunio C Hamano Mon, 5 Jun 2017 00:03:18 +0000 (09:03 +0900)

Merge branch 'ab/ref-filter-no-contains' into maint

Doc update to a recent topic.

* ab/ref-filter-no-contains:
tag: duplicate mention of --contains should mention --no-contains

Merge branch 'sg/core-filemode-doc-typofix' into maintJunio C Hamano Mon, 5 Jun 2017 00:03:17 +0000 (09:03 +0900)

Merge branch 'sg/core-filemode-doc-typofix' into maint

* sg/core-filemode-doc-typofix:
docs/config.txt: fix indefinite article in core.fileMode description

Merge branch 'tb/dedup-crlf-tests' into maintJunio C Hamano Mon, 5 Jun 2017 00:03:16 +0000 (09:03 +0900)

Merge branch 'tb/dedup-crlf-tests' into maint

* tb/dedup-crlf-tests:
t0027: tests are not expensive; remove t0025

Merge branch 'jn/credential-doc-on-clear' into maintJunio C Hamano Mon, 5 Jun 2017 00:03:16 +0000 (09:03 +0900)

Merge branch 'jn/credential-doc-on-clear' into maint

Doc update.

* jn/credential-doc-on-clear:
credential doc: make multiple-helper behavior more prominent

Merge branch 'jk/url-insteadof-config' into maintJunio C Hamano Mon, 5 Jun 2017 00:03:15 +0000 (09:03 +0900)

Merge branch 'jk/url-insteadof-config' into maint

The interaction of "url.*.insteadOf" and custom URL scheme's
whitelisting is now documented better.

* jk/url-insteadof-config:
docs/config: mention protocol implications of url.insteadOf

Merge branch 'jk/unbreak-am-h' into maintJunio C Hamano Mon, 5 Jun 2017 00:03:15 +0000 (09:03 +0900)

Merge branch 'jk/unbreak-am-h' into maint

"git am -h" triggered a BUG().

* jk/unbreak-am-h:
am: handle "-h" argument earlier

Merge branch 'ab/sha1dc-maint' into maintJunio C Hamano Mon, 5 Jun 2017 00:03:15 +0000 (09:03 +0900)

Merge branch 'ab/sha1dc-maint' into maint

The "collision detecting" SHA-1 implementation shipped with 2.13
was quite broken on some big-endian platforms and/or platforms that
do not like unaligned fetches. Update to the upstream code which
has already fixed these issues.

* ab/sha1dc-maint:
sha1dc: update from upstream

Merge branch 'js/bs-is-a-dir-sep-on-windows' into maintJunio C Hamano Mon, 5 Jun 2017 00:03:15 +0000 (09:03 +0900)

Merge branch 'js/bs-is-a-dir-sep-on-windows' into maint

"foo\bar\baz" in "git fetch foo\bar\baz", even though there is no
slashes in it, cannot be a nickname for a remote on Windows, as
that is likely to be a pathname on a local filesystem.

* js/bs-is-a-dir-sep-on-windows:
Windows: do not treat a path with backslashes as a remote's nick name
mingw.h: permit arguments with side effects for is_dir_sep

Merge branch 'jk/alternate-ref-optim' into maintJunio C Hamano Mon, 5 Jun 2017 00:03:14 +0000 (09:03 +0900)

Merge branch 'jk/alternate-ref-optim' into maint

A test allowed both "git push" and "git receive-pack" on the other
end write their traces into the same file. This is OK on platforms
that allows atomically appending to a file opened with O_APPEND,
but on other platforms led to a mangled output, causing
intermittent test failures. This has been fixed by disabling
traces from "receive-pack" in the test.

* jk/alternate-ref-optim:
t5400: avoid concurrent writes into a trace file

Merge branch 'bm/interpret-trailers-cut-line-is-eom... Junio C Hamano Mon, 5 Jun 2017 00:03:13 +0000 (09:03 +0900)

Merge branch 'bm/interpret-trailers-cut-line-is-eom' into maint

"git interpret-trailers", when used as GIT_EDITOR for "git commit
-v", looked for and appended to a trailer block at the very end,
i.e. at the end of the "diff" output. The command has been
corrected to pay attention to the cut-mark line "commit -v" adds to
the buffer---the real trailer block should appear just before it.

* bm/interpret-trailers-cut-line-is-eom:
interpret-trailers: honor the cut line

Merge branch 'kn/ref-filter-branch-list' into maintJunio C Hamano Mon, 5 Jun 2017 00:03:13 +0000 (09:03 +0900)

Merge branch 'kn/ref-filter-branch-list' into maint

"git for-each-ref --format=..." with %(HEAD) in the format used to
resolve the HEAD symref as many times as it had processed refs,
which was wasteful, and "git branch" shared the same problem.

* kn/ref-filter-branch-list:
ref-filter: resolve HEAD when parsing %(HEAD) atom

Merge branch 'rs/checkout-am-fix-unborn' into maintJunio C Hamano Mon, 5 Jun 2017 00:03:12 +0000 (09:03 +0900)

Merge branch 'rs/checkout-am-fix-unborn' into maint

A few codepaths in "checkout" and "am" working on an unborn branch
tried to access an uninitialized piece of memory.

* rs/checkout-am-fix-unborn:
am: check return value of resolve_refdup before using hash
checkout: check return value of resolve_refdup before using hash

Merge branch 'jn/clone-add-empty-config-from-command... Junio C Hamano Mon, 5 Jun 2017 00:03:11 +0000 (09:03 +0900)

Merge branch 'jn/clone-add-empty-config-from-command-line' into maint

"git clone --config var=val" is a way to populate the
per-repository configuration file of the new repository, but it did
not work well when val is an empty string. This has been fixed.

* jn/clone-add-empty-config-from-command-line:
clone: handle empty config values in -c

Merge branch 'ab/c-translators-comment-style' into... Junio C Hamano Mon, 5 Jun 2017 00:03:10 +0000 (09:03 +0900)

Merge branch 'ab/c-translators-comment-style' into maint

Update the C style recommendation for notes for translators, as
recent versions of gettext tools can work with our style of
multi-line comments.

* ab/c-translators-comment-style:
C style: use standard style for "TRANSLATORS" comments

Merge branch 'ls/travis-doc-asciidoctor' into maintJunio C Hamano Mon, 5 Jun 2017 00:03:10 +0000 (09:03 +0900)

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

Travis CI gained a task to format the documentation with both
AsciiDoc and AsciiDoctor.

* ls/travis-doc-asciidoctor:
travis-ci: check AsciiDoc/AsciiDoctor stderr output
travis-ci: unset compiler for jobs that do not need one
travis-ci: parallelize documentation build
travis-ci: build documentation with AsciiDoc and Asciidoctor

Documentation/git-rm: correct submodule descriptionStefan Beller Fri, 2 Jun 2017 19:28:10 +0000 (12:28 -0700)

Documentation/git-rm: correct submodule description

Since 3ccd681c2a (Merge branch 'sb/submodule-rm-absorb', 2017-01-18)
git-rm tries to absorb any submodules git dir before deleting the
submodule. Correct the documentation to say so.

Signed-off-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Sync with maintJunio C Hamano Sun, 4 Jun 2017 01:29:26 +0000 (10:29 +0900)

Sync with maint

Prepare for 2.13.1; more topics to followJunio C Hamano Sun, 4 Jun 2017 01:25:42 +0000 (10:25 +0900)

Prepare for 2.13.1; more topics to follow

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

Merge branch 'tg/stash-push-fixup' into maintJunio C Hamano Sun, 4 Jun 2017 01:21:07 +0000 (10:21 +0900)

Merge branch 'tg/stash-push-fixup' into maint

The shell completion script (in contrib/) learned "git stash" has
a new "push" subcommand.

* tg/stash-push-fixup:
completion: add git stash push

Merge branch 'km/log-showsignature-doc' into maintJunio C Hamano Sun, 4 Jun 2017 01:21:07 +0000 (10:21 +0900)

Merge branch 'km/log-showsignature-doc' into maint

Doc update.

* km/log-showsignature-doc:
config.txt: add an entry for log.showSignature

Merge branch 'jt/use-trailer-api-in-commands' into... Junio C Hamano Sun, 4 Jun 2017 01:21:06 +0000 (10:21 +0900)

Merge branch 'jt/use-trailer-api-in-commands' into maint

"git cherry-pick" and other uses of the sequencer machinery
mishandled a trailer block whose last line is an incomplete line.
This has been fixed so that an additional sign-off etc. are added
after completing the existing incomplete line.

* jt/use-trailer-api-in-commands:
sequencer: add newline before adding footers

Merge branch 'jt/push-options-doc' into maintJunio C Hamano Sun, 4 Jun 2017 01:21:05 +0000 (10:21 +0900)

Merge branch 'jt/push-options-doc' into maint

The receive-pack program now makes sure that the push certificate
records the same set of push options used for pushing.

* jt/push-options-doc:
receive-pack: verify push options in cert
docs: correct receive.advertisePushOptions default

Merge branch 'js/plug-leaks' into maintJunio C Hamano Sun, 4 Jun 2017 01:21:04 +0000 (10:21 +0900)

Merge branch 'js/plug-leaks' into maint

Fix memory leaks pointed out by Coverity (and people).

* js/plug-leaks: (26 commits)
checkout: fix memory leak
submodule_uses_worktrees(): plug memory leak
show_worktree(): plug memory leak
name-rev: avoid leaking memory in the `deref` case
remote: plug memory leak in match_explicit()
add_reflog_for_walk: avoid memory leak
shallow: avoid memory leak
line-log: avoid memory leak
receive-pack: plug memory leak in update()
fast-export: avoid leaking memory in handle_tag()
mktree: plug memory leaks reported by Coverity
pack-redundant: plug memory leak
setup_discovered_git_dir(): plug memory leak
setup_bare_git_dir(): help static analysis
split_commit_in_progress(): simplify & fix memory leak
checkout: fix memory leak
cat-file: fix memory leak
mailinfo & mailsplit: check for EOF while parsing
status: close file descriptor after reading git-rebase-todo
difftool: address a couple of resource/memory leaks
...

Merge branch 'js/eol-on-ourselves' into maintJunio C Hamano Sun, 4 Jun 2017 01:21:04 +0000 (10:21 +0900)

Merge branch 'js/eol-on-ourselves' into maint

Make sure our tests would pass when the sources are checked out
with "platform native" line ending convention by default on
Windows. Some "text" files out tests use and the test scripts
themselves that are meant to be run with /bin/sh, ought to be
checked out with eol=LF even on Windows.

* js/eol-on-ourselves:
t4051: mark supporting files as requiring LF-only line endings
Fix the remaining tests that failed with core.autocrlf=true
t3901: move supporting files into t/t3901/
completion: mark bash script as LF-only
git-new-workdir: mark script as LF-only
Fix build with core.autocrlf=true

Merge branch 'jk/update-links-in-docs' into maintJunio C Hamano Sun, 4 Jun 2017 01:21:04 +0000 (10:21 +0900)

Merge branch 'jk/update-links-in-docs' into maint

A few http:// links that are redirected to https:// in the
documentation have been updated to https:// links.

* jk/update-links-in-docs:
doc: use https links to Wikipedia to avoid http redirects

Merge branch 'jk/ignore-broken-tags-when-ignoring-missi... Junio C Hamano Sun, 4 Jun 2017 01:21:03 +0000 (10:21 +0900)

Merge branch 'jk/ignore-broken-tags-when-ignoring-missing-links' into maint

Tag objects, which are not reachable from any ref, that point at
missing objects were mishandled by "git gc" and friends (they
should silently be ignored instead)

* jk/ignore-broken-tags-when-ignoring-missing-links:
revision.c: ignore broken tags with ignore_missing_links

Merge branch 'jk/doc-config-include' into maintJunio C Hamano Sun, 4 Jun 2017 01:21:02 +0000 (10:21 +0900)

Merge branch 'jk/doc-config-include' into maint

Clarify documentation for include.path and includeIf.<condition>.path
configuration variables.

* jk/doc-config-include:
docs/config: consistify include.path examples
docs/config: avoid the term "expand" for includes
docs/config: give a relative includeIf example
docs/config: clarify include/includeIf relationship

Merge branch 'jk/disable-pack-reuse-when-broken' into... Junio C Hamano Sun, 4 Jun 2017 01:21:02 +0000 (10:21 +0900)

Merge branch 'jk/disable-pack-reuse-when-broken' into maint

"pack-objects" can stream a slice of an existing packfile out when
the pack bitmap can tell that the reachable objects are all needed
in the output, without inspecting individual objects. This
strategy however would not work well when "--local" and other
options are in use, and need to be disabled.

* jk/disable-pack-reuse-when-broken:
t5310: fix "; do" style
pack-objects: disable pack reuse for object-selection options

Merge branch 'jk/am-leakfix' into maintJunio C Hamano Sun, 4 Jun 2017 01:21:01 +0000 (10:21 +0900)

Merge branch 'jk/am-leakfix' into maint

The codepath in "git am" that is used when running "git rebase"
leaked memory held for the log message of the commits being rebased.

* jk/am-leakfix:
am: shorten ident_split variable name in get_commit_info()
am: simplify allocations in get_commit_info()
am: fix commit buffer leak in get_commit_info()

Merge branch 'jc/read-tree-empty-with-m' into maintJunio C Hamano Sun, 4 Jun 2017 01:21:00 +0000 (10:21 +0900)

Merge branch 'jc/read-tree-empty-with-m' into maint

"git read-tree -m" (no tree-ish) gave a nonsense suggestion "use
--empty if you want to clear the index". With "-m", such a request
will still fail anyway, as you'd need to name at least one tree-ish
to be merged.

* jc/read-tree-empty-with-m:
read-tree: "read-tree -m --empty" does not make sense

Merge branch 'jc/apply-fix-mismerge' into maintJunio C Hamano Sun, 4 Jun 2017 01:20:59 +0000 (10:20 +0900)

Merge branch 'jc/apply-fix-mismerge' into maint

Mismerge fix.

* jc/apply-fix-mismerge:
apply.c: fix whitespace-only mismerge

Merge branch 'ja/do-not-ask-needless-questions' into... Junio C Hamano Sun, 4 Jun 2017 01:20:58 +0000 (10:20 +0900)

Merge branch 'ja/do-not-ask-needless-questions' into maint

Git sometimes gives an advice in a rhetorical question that does
not require an answer, which can confuse new users and non native
speakers. Attempt to rephrase them.

* ja/do-not-ask-needless-questions:
git-filter-branch: be more direct in an error message
read-tree -m: make error message for merging 0 trees less smart aleck
usability: don't ask questions if no reply is required

Merge branch 'bw/submodule-with-bs-path' into maintJunio C Hamano Sun, 4 Jun 2017 01:20:58 +0000 (10:20 +0900)

Merge branch 'bw/submodule-with-bs-path' into maint

A hotfix to a topic that is already in v2.13.

* bw/submodule-with-bs-path:
t7400: add !CYGWIN prerequisite to 'add with \\ in path'

Merge branch 'ah/log-decorate-default-to-auto' into... Junio C Hamano Sun, 4 Jun 2017 01:20:57 +0000 (10:20 +0900)

Merge branch 'ah/log-decorate-default-to-auto' into maint

Setting "log.decorate=false" in the configuration file did not take
effect in v2.13, which has been corrected.

* ah/log-decorate-default-to-auto:
builtin/log: honor log.decorate

Merge branch 'ab/fix-poison-tests' into maintJunio C Hamano Sun, 4 Jun 2017 01:20:56 +0000 (10:20 +0900)

Merge branch 'ab/fix-poison-tests' into maint

Update tests to pass under GETTEXT_POISON (a mechanism to ensure
that output strings that should not be translated are not
translated by mistake), and tell TravisCI to run them.

* ab/fix-poison-tests:
travis-ci: add job to run tests with GETTEXT_POISON
travis-ci: setup "prove cache" in "script" step
tests: fix tests broken under GETTEXT_POISON=YesPlease

Merge branch 'ab/doc-replace-gmane-links' into maintJunio C Hamano Sun, 4 Jun 2017 01:20:56 +0000 (10:20 +0900)

Merge branch 'ab/doc-replace-gmane-links' into maint

The Web interface to gmane news archive is long gone, even though
the articles are still accessible via NTTP. Replace the links with
ones to public-inbox.org. Because their message identification is
based on the actual message-id, it is likely that it will be easier
to migrate away from it if/when necessary.

* ab/doc-replace-gmane-links:
doc: replace more gmane links
doc: replace a couple of broken gmane links

Merge branch 'ab/aix-needs-compat-regex' into maintJunio C Hamano Sun, 4 Jun 2017 01:20:56 +0000 (10:20 +0900)

Merge branch 'ab/aix-needs-compat-regex' into maint

Build fix.

* ab/aix-needs-compat-regex:
config.mak.uname: set NO_REGEX=NeedsStartEnd on AIX

Merge branch 'pw/rebase-i-regression-fix' into maintJunio C Hamano Sun, 4 Jun 2017 01:20:55 +0000 (10:20 +0900)

Merge branch 'pw/rebase-i-regression-fix' into maint

Just the first one of three? new tests that follows up a regression
fix.

* pw/rebase-i-regression-fix:
rebase -i: add missing newline to end of message
rebase -i: silence stash apply
rebase -i: fix reflog message

Sixth batch for 2.14Junio C Hamano Sun, 4 Jun 2017 00:58:01 +0000 (09:58 +0900)

Sixth batch for 2.14

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

Merge branch 'jk/url-insteadof-config'Junio C Hamano Sun, 4 Jun 2017 00:55:45 +0000 (09:55 +0900)

Merge branch 'jk/url-insteadof-config'

The interaction of "url.*.insteadOf" and custom URL scheme's
whitelisting is now documented better.

* jk/url-insteadof-config:
docs/config: mention protocol implications of url.insteadOf

Merge branch 'ah/doc-rev-parse-short-default'Junio C Hamano Sun, 4 Jun 2017 00:55:45 +0000 (09:55 +0900)

Merge branch 'ah/doc-rev-parse-short-default'

Doc update.

* ah/doc-rev-parse-short-default:
doc: rewrite description for rev-parse --short

Merge branch 'rf/completion-config-commit'Junio C Hamano Sun, 4 Jun 2017 00:55:44 +0000 (09:55 +0900)

Merge branch 'rf/completion-config-commit'

Completion update.

* rf/completion-config-commit:
completion: add completions for git config commit

Merge branch 'ab/c-translators-comment-style'Junio C Hamano Sun, 4 Jun 2017 00:55:44 +0000 (09:55 +0900)

Merge branch 'ab/c-translators-comment-style'

Update the C style recommendation for notes for translators, as
recent versions of gettext tools can work with our style of
multi-line comments.

* ab/c-translators-comment-style:
C style: use standard style for "TRANSLATORS" comments

Merge branch 'jk/unbreak-am-h'Junio C Hamano Sun, 4 Jun 2017 00:55:44 +0000 (09:55 +0900)

Merge branch 'jk/unbreak-am-h'

"git am -h" triggered a BUG().

* jk/unbreak-am-h:
am: handle "-h" argument earlier

Merge branch 'ab/t3070-test-dedup'Junio C Hamano Sun, 4 Jun 2017 00:55:43 +0000 (09:55 +0900)

Merge branch 'ab/t3070-test-dedup'

Test cleanup.

* ab/t3070-test-dedup:
wildmatch test: remove redundant duplicate test

Merge branch 'ah/doc-filter-branch-export-env'Junio C Hamano Sun, 4 Jun 2017 00:55:43 +0000 (09:55 +0900)

Merge branch 'ah/doc-filter-branch-export-env'

Docfix.

* ah/doc-filter-branch-export-env:
doc: filter-branch does not require re-export of vars

Merge branch 'sd/t3200-typofix'Junio C Hamano Sun, 4 Jun 2017 00:55:42 +0000 (09:55 +0900)

Merge branch 'sd/t3200-typofix'

Test fix.

* sd/t3200-typofix:
branch test: fix invalid config key access

Merge branch 'ab/sha1dc-maint'Junio C Hamano Sun, 4 Jun 2017 00:55:41 +0000 (09:55 +0900)

Merge branch 'ab/sha1dc-maint'

The "collision detecting" SHA-1 implementation shipped with 2.13
was quite broken on some big-endian platforms and/or platforms that
do not like unaligned fetches. Update to the upstream code which
has already fixed these issues.

* ab/sha1dc-maint:
sha1dc: update from upstream

Fifth batch for 2.14Junio C Hamano Fri, 2 Jun 2017 06:07:36 +0000 (15:07 +0900)

Fifth batch for 2.14

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

Merge branch 'ab/grep-preparatory-cleanup'Junio C Hamano Fri, 2 Jun 2017 06:06:05 +0000 (15:06 +0900)

Merge branch 'ab/grep-preparatory-cleanup'

The internal implementation of "git grep" has seen some clean-up.

* ab/grep-preparatory-cleanup: (31 commits)
grep: assert that threading is enabled when calling grep_{lock,unlock}
grep: given --threads with NO_PTHREADS=YesPlease, warn
pack-objects: fix buggy warning about threads
pack-objects & index-pack: add test for --threads warning
test-lib: add a PTHREADS prerequisite
grep: move is_fixed() earlier to avoid forward declaration
grep: change internal *pcre* variable & function names to be *pcre1*
grep: change the internal PCRE macro names to be PCRE1
grep: factor test for \0 in grep patterns into a function
grep: remove redundant regflags assignments
grep: catch a missing enum in switch statement
perf: add a comparison test of log --grep regex engines with -F
perf: add a comparison test of log --grep regex engines
perf: add a comparison test of grep regex engines with -F
perf: add a comparison test of grep regex engines
perf: emit progress output when unpacking & building
perf: add a GIT_PERF_MAKE_COMMAND for when *_MAKE_OPTS won't do
grep: add tests to fix blind spots with \0 patterns
grep: prepare for testing binary regexes containing rx metacharacters
grep: add a test helper function for less verbose -f \0 tests
...

Merge branch 'jk/diff-blob'Junio C Hamano Fri, 2 Jun 2017 06:06:05 +0000 (15:06 +0900)

Merge branch 'jk/diff-blob'

The result from "git diff" that compares two blobs, e.g. "git diff
$commit1:$path $commit2:$path", used to be shown with the full
object name as given on the command line, but it is more natural to
use the $path in the output and use it to look up .gitattributes.

* jk/diff-blob:
diff: use blob path for blob/file diffs
diff: use pending "path" if it is available
diff: use the word "path" instead of "name" for blobs
diff: pass whole pending entry in blobinfo
handle_revision_arg: record paths for pending objects
handle_revision_arg: record modes for "a..b" endpoints
t4063: add tests of direct blob diffs
get_sha1_with_context: dynamically allocate oc->path
get_sha1_with_context: always initialize oc->symlink_path
sha1_name: consistently refer to object_context as "oc"
handle_revision_arg: add handle_dotdot() helper
handle_revision_arg: hoist ".." check out of range parsing
handle_revision_arg: stop using "dotdot" as a generic pointer
handle_revision_arg: simplify commit reference lookups
handle_revision_arg: reset "dotdot" consistently

Merge branch 'sl/clean-d-ignored-fix'Junio C Hamano Fri, 2 Jun 2017 06:06:04 +0000 (15:06 +0900)

Merge branch 'sl/clean-d-ignored-fix'

"git clean -d" used to clean directories that has ignored files,
even though the command should not lose ignored ones without "-x".
"git status --ignored" did not list ignored and untracked files
without "-uall". These have been corrected.

* sl/clean-d-ignored-fix:
clean: teach clean -d to preserve ignored paths
dir: expose cmp_name() and check_contains()
dir: hide untracked contents of untracked dirs
dir: recurse into untracked dirs for ignored files
t7061: status --ignored should search untracked dirs
t7300: clean -d should skip dirs with ignored files

Merge branch 'sb/t5531-update-desc'Junio C Hamano Fri, 2 Jun 2017 06:06:03 +0000 (15:06 +0900)

Merge branch 'sb/t5531-update-desc'

The description strings for a few tests have been updated.

* sb/t5531-update-desc:
t5531: fix test description

Merge branch 'ah/doc-pretty-format-fix'Junio C Hamano Fri, 2 Jun 2017 06:06:03 +0000 (15:06 +0900)

Merge branch 'ah/doc-pretty-format-fix'

Documentation fix.

* ah/doc-pretty-format-fix:
Documentation: fix formatting typo in pretty-formats.txt

Merge branch 'ah/doc-interpret-trailers-ifexists'Junio C Hamano Fri, 2 Jun 2017 06:06:02 +0000 (15:06 +0900)

Merge branch 'ah/doc-interpret-trailers-ifexists'

Documentation fix.

* ah/doc-interpret-trailers-ifexists:
Documentation: fix reference to ifExists for interpret-trailers

Merge branch 'rs/mingw-path-lookup-simplify'Junio C Hamano Fri, 2 Jun 2017 06:06:01 +0000 (15:06 +0900)

Merge branch 'rs/mingw-path-lookup-simplify'

Code simplification.

* rs/mingw-path-lookup-simplify:
mingw: simplify PATH handling

Merge branch 'ab/ref-filter-no-contains'Junio C Hamano Fri, 2 Jun 2017 06:06:00 +0000 (15:06 +0900)

Merge branch 'ab/ref-filter-no-contains'

Doc update to a recent topic.

* ab/ref-filter-no-contains:
tag: duplicate mention of --contains should mention --no-contains

Merge branch 'jt/send-email-validate-hook'Junio C Hamano Fri, 2 Jun 2017 06:05:59 +0000 (15:05 +0900)

Merge branch 'jt/send-email-validate-hook'

A hotfix for a topic already in 'master'.

* jt/send-email-validate-hook:
send-email: check for repo before invoking hook

Merge branch 'dk/send-email-avoid-net-smtp-ssl-when... Junio C Hamano Fri, 2 Jun 2017 06:05:59 +0000 (15:05 +0900)

Merge branch 'dk/send-email-avoid-net-smtp-ssl-when-able'

A hotfix to a topic in 'master'.

* dk/send-email-avoid-net-smtp-ssl-when-able:
send-email: Net::SMTP::starttls was introduced in v2.34

Merge branch 'js/bs-is-a-dir-sep-on-windows'Junio C Hamano Fri, 2 Jun 2017 06:05:58 +0000 (15:05 +0900)

Merge branch 'js/bs-is-a-dir-sep-on-windows'

"foo\bar\baz" in "git fetch foo\bar\baz", even though there is no
slashes in it, cannot be a nickname for a remote on Windows, as
that is likely to be a pathname on a local filesystem.

* js/bs-is-a-dir-sep-on-windows:
Windows: do not treat a path with backslashes as a remote's nick name
mingw.h: permit arguments with side effects for is_dir_sep

docs: fix formatting and grammarAdam Dinwoodie Thu, 1 Jun 2017 10:37:03 +0000 (11:37 +0100)

docs: fix formatting and grammar

When compiling the documentation, asciidoc thinks a backtick surrounded
by whitespace shouldn't be interpreted as marking the start or end of a
literal. In most cases, that's useful behaviour, but in the git-pull
documentation it means asciidoc is failing to correctly detect which
text should be monospaced and which shouldn't.

To avoid this, remove the extraneous spaces from the text to be
monospaced. It would also be possible to fix the formatting by
switching to asciidoc's ++ monospace format markers and still have the
space characters included in the monospace text, but the spaces aren't
necessary and not having them keeps the markup simpler.

Also include a minor grammar fix suggested by Jeff while we're changing
these lines.

Signed-off-by: Adam Dinwoodie <adam@dinwoodie.org>
Helped-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

diff-tree: update stale in-code commentsJunio C Hamano Fri, 2 Jun 2017 02:34:15 +0000 (11:34 +0900)

diff-tree: update stale in-code comments

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

completion: add git config credentialCache.ignoreSIGHUPRikard Falkeborn Sat, 27 May 2017 06:25:52 +0000 (08:25 +0200)

completion: add git config credentialCache.ignoreSIGHUP

Signed-off-by: Rikard Falkeborn <rikard.falkeborn@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

completion: add git config credential completionsRikard Falkeborn Sat, 27 May 2017 06:25:51 +0000 (08:25 +0200)

completion: add git config credential completions

Add missing completions for git config credential:

* credential.helper
* credential.useHttpPath
* credential.username

Signed-off-by: Rikard Falkeborn <rikard.falkeborn@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

completion: add git config advice completionsRikard Falkeborn Sat, 27 May 2017 06:25:50 +0000 (08:25 +0200)

completion: add git config advice completions

Add missing completions for git config advice:

* advice.amWorkDir
* advice.pushAlreadyExists
* advice.pushFetchFirst
* advice.pushNeedsForce
* advice.pushNonFFCurrent
* advice.pushNonFFMatching
* advice.pushUpdateRejected
* advice.rmHints
* advice.statusUoption

Remove completion for git config advice.pushNonFastForward,
since it was renamed to pushUpdateRejected in 1184564eac8e.
The config still works, but is no longer part of the documentation.

Signed-off-by: Rikard Falkeborn <rikard.falkeborn@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

completion: add git config am.threeWay completionRikard Falkeborn Sat, 27 May 2017 06:25:49 +0000 (08:25 +0200)

completion: add git config am.threeWay completion

Signed-off-by: Rikard Falkeborn <rikard.falkeborn@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

completion: add git config core completionsRikard Falkeborn Sat, 27 May 2017 06:25:48 +0000 (08:25 +0200)

completion: add git config core completions

Add missing completions for git config core:

* core.checkStat
* core.commentChar
* core.hideDotFiles
* core.hooksPath
* core.packedRefsTimeout
* core.precomposeUnicode
* core.protectHFS
* core.protectNTFS
* core.splitIndex
* core.sshCommand

Note that some configs are only used for some platforms
(hideDotFiles on Windows and precomposeUnicode on Mac).

Signed-off-by: Rikard Falkeborn <rikard.falkeborn@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

completion: add git config gc completionsRikard Falkeborn Sat, 27 May 2017 06:25:47 +0000 (08:25 +0200)

completion: add git config gc completions

Add missing completion for git config gc options:

* gc.aggressiveDepth
* gc.autoDetach
* gc.logExpiry
* gc.worktreePruneExpire

Signed-off-by: Rikard Falkeborn <rikard.falkeborn@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

send-email: check for repo before invoking hookJonathan Tan Thu, 1 Jun 2017 23:50:55 +0000 (16:50 -0700)

send-email: check for repo before invoking hook

Unless --no-validate is passed, send-email will invoke
$repo->repo_path() in its search for a validate hook regardless of
whether a Git repo is actually present. Teach send-email to first check
for repo existence.

Signed-off-by: Jonathan Tan <jonathantanmy@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

mingw_fopen: report ENOENT for invalid file namesJohannes Sixt Mon, 29 May 2017 20:27:35 +0000 (22:27 +0200)

mingw_fopen: report ENOENT for invalid file names

On Windows, certain characters are prohibited in file names, most
prominently the colon. When fopen() is called with such an invalid file
name, the underlying Windows API actually reports a particular error,
but since there is no suitable errno value, this error is translated
to EINVAL. Detect the case and report ENOENT instead.

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

mingw: verify that paths are not mistaken for remote... Johannes Schindelin Mon, 29 May 2017 20:25:25 +0000 (22:25 +0200)

mingw: verify that paths are not mistaken for remote nicknames

This added test case simply verifies that users will not be bothered
with bogus complaints à la

warning: unable to access '.git/remotes/D:\repo': Invalid argument

when fetching from a Windows path (in this case, D:\repo).

[j6t: mark the new test as test_expect_failure]

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

tree-diff: convert diff_root_tree_sha1 to struct object_idBrandon Williams Tue, 30 May 2017 17:30:57 +0000 (10:30 -0700)

tree-diff: convert diff_root_tree_sha1 to struct object_id

Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

combine-diff: convert find_paths_* to struct object_idBrandon Williams Tue, 30 May 2017 17:30:56 +0000 (10:30 -0700)

combine-diff: convert find_paths_* to struct object_id

Convert find_paths_generic and find_paths_multitree to use struct
object_id.

Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

combine-diff: convert diff_tree_combined to struct... Brandon Williams Tue, 30 May 2017 17:30:55 +0000 (10:30 -0700)

combine-diff: convert diff_tree_combined to struct object_id

Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

diff: convert diff_flush_patch_id to struct object_idBrandon Williams Tue, 30 May 2017 17:30:54 +0000 (10:30 -0700)

diff: convert diff_flush_patch_id to struct object_id

Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

patch-ids: convert to struct object_idBrandon Williams Tue, 30 May 2017 17:30:53 +0000 (10:30 -0700)

patch-ids: convert to struct object_id

Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

diff: finish conversion for prepare_temp_file to struct... Brandon Williams Tue, 30 May 2017 17:30:52 +0000 (10:30 -0700)

diff: finish conversion for prepare_temp_file to struct object_id

Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

diff: convert reuse_worktree_file to struct object_idBrandon Williams Tue, 30 May 2017 17:30:51 +0000 (10:30 -0700)

diff: convert reuse_worktree_file to struct object_id

Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

diff: convert fill_filespec to struct object_idBrandon Williams Tue, 30 May 2017 17:30:50 +0000 (10:30 -0700)

diff: convert fill_filespec to struct object_id

Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

diff: convert diff_change to struct object_idBrandon Williams Tue, 30 May 2017 17:30:49 +0000 (10:30 -0700)

diff: convert diff_change to struct object_id

Convert diff_change to take a struct object_id. In addition convert the
function pointer type 'change_fn_t' to also take a struct object_id.

Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

diff: convert run_diff_files to struct object_idBrandon Williams Tue, 30 May 2017 17:30:48 +0000 (10:30 -0700)

diff: convert run_diff_files to struct object_id

Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

diff: convert diff_addremove to struct object_idBrandon Williams Tue, 30 May 2017 17:30:47 +0000 (10:30 -0700)

diff: convert diff_addremove to struct object_id

Convert diff_addremove to take a struct object_id. In addtion convert
the function pointer type 'add_remove_fn_t' to also take a struct
object_id.

Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

diff: convert diff_index_show_file to struct object_idBrandon Williams Tue, 30 May 2017 17:30:46 +0000 (10:30 -0700)

diff: convert diff_index_show_file to struct object_id

Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

diff: convert get_stat_data to struct object_idBrandon Williams Tue, 30 May 2017 17:30:45 +0000 (10:30 -0700)

diff: convert get_stat_data to struct object_id

Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

grep: convert to struct object_idBrandon Williams Tue, 30 May 2017 17:30:44 +0000 (10:30 -0700)

grep: convert to struct object_id

Convert the remaining parts of grep to use struct object_id.

Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

notes: convert some accessor functions to struct object_idbrian m. carlson Tue, 30 May 2017 17:30:43 +0000 (10:30 -0700)

notes: convert some accessor functions to struct object_id

Convert add_note, get_note, and copy_note to take struct object_id.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

builtin/notes: convert to struct object_idbrian m. carlson Tue, 30 May 2017 17:30:42 +0000 (10:30 -0700)

builtin/notes: convert to struct object_id

Convert most of the static functions to use struct object_id. In
addition, convert copy_notes_for_rewrite and its callers.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

notes: convert format_display_notes to struct object_idbrian m. carlson Tue, 30 May 2017 17:30:41 +0000 (10:30 -0700)

notes: convert format_display_notes to struct object_id

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

notes: make get_note return pointer to struct object_idbrian m. carlson Tue, 30 May 2017 17:30:40 +0000 (10:30 -0700)

notes: make get_note return pointer to struct object_id

Make get_note return a pointer to a const struct object_id. Add a
defensive check to ensure we don't accidentally dereference a NULL
pointer.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

notes: convert for_each_note to struct object_idbrian m. carlson Tue, 30 May 2017 17:30:39 +0000 (10:30 -0700)

notes: convert for_each_note to struct object_id

Convert for_each_note and each of the callbacks to use struct object_id.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>