gitweb.git
Merge branch 'po/object-id' into nextJunio C Hamano Wed, 23 Aug 2017 21:37:58 +0000 (14:37 -0700)

Merge branch 'po/object-id' into next

* po/object-id:
sha1_file: convert index_stream to struct object_id
sha1_file: convert hash_sha1_file_literally to struct object_id
sha1_file: convert index_fd to struct object_id
sha1_file: convert index_path to struct object_id
read-cache: convert to struct object_id
builtin/hash-object: convert to struct object_id

Merge branch 'jk/doc-the-this' into nextJunio C Hamano Tue, 22 Aug 2017 22:09:39 +0000 (15:09 -0700)

Merge branch 'jk/doc-the-this' into next

Doc clean-up.

* jk/doc-the-this:
doc: fix typo in sendemail.identity

Merge branch 'bc/vcs-svn-cleanup' into nextJunio C Hamano Tue, 22 Aug 2017 22:09:38 +0000 (15:09 -0700)

Merge branch 'bc/vcs-svn-cleanup' into next

Code clean-up.

* bc/vcs-svn-cleanup:
vcs-svn: rename repo functions to "svn_repo"
vcs-svn: remove unused prototypes

Merge branch 'rs/archive-excluded-directory' into nextJunio C Hamano Tue, 22 Aug 2017 22:09:37 +0000 (15:09 -0700)

Merge branch 'rs/archive-excluded-directory' into next

"git archive" did not work well with pathspecs and the
export-ignore attribute.

* rs/archive-excluded-directory:
archive: don't queue excluded directories
archive: factor out helper functions for handling attributes
t5001: add tests for export-ignore attributes and exclude pathspecs

Merge branch 'jc/simplify-progress' into nextJunio C Hamano Tue, 22 Aug 2017 22:09:37 +0000 (15:09 -0700)

Merge branch 'jc/simplify-progress' into next

The API to start showing progress meter after a short delay has
been simplified.

* jc/simplify-progress:
progress: simplify "delayed" progress API

Merge branch 'ks/branch-set-upstream' into nextJunio C Hamano Tue, 22 Aug 2017 22:09:37 +0000 (15:09 -0700)

Merge branch 'ks/branch-set-upstream' into next

"branch --set-upstream" that has been deprecated in Git 1.8 has
finally been retired.

* ks/branch-set-upstream:
branch: quote branch/ref names to improve readability
builtin/branch: stop supporting the "--set-upstream" option
t3200: cleanup cruft of a test

Merge branch 'tc/curl-with-backports' into nextJunio C Hamano Tue, 22 Aug 2017 22:09:37 +0000 (15:09 -0700)

Merge branch 'tc/curl-with-backports' into next

Updates to the HTTP layer we made recently unconditionally used
features of libCurl without checking the existence of them, causing
compilation errors, which has been fixed. Also migrate the code to
check feature macros, not version numbers, to cope better with
libCurl that vendor ships with backported features.

* tc/curl-with-backports:
http: use a feature check to enable GSSAPI delegation control
http: fix handling of missing CURLPROTO_*

Sync with masterJunio C Hamano Tue, 22 Aug 2017 17:37:19 +0000 (10:37 -0700)

Sync with master

* master:
The second batch post 2.14

Merge branch 'rs/commit-h-single-parent-cleanup' into... Junio C Hamano Tue, 22 Aug 2017 17:37:00 +0000 (10:37 -0700)

Merge branch 'rs/commit-h-single-parent-cleanup' into next

Code clean-up.

* rs/commit-h-single-parent-cleanup:
commit: remove unused inline function single_parent()

Merge branch 'jt/stash-tests' into nextJunio C Hamano Tue, 22 Aug 2017 17:37:00 +0000 (10:37 -0700)

Merge branch 'jt/stash-tests' into next

Test update to improve coverage for "git stash" operations.

* jt/stash-tests:
stash: add a test for stashing in a detached state
stash: add a test for when apply fails during stash branch
stash: add a test for stash create with no files

Merge branch 'po/read-graft-line' into nextJunio C Hamano Tue, 22 Aug 2017 17:36:59 +0000 (10:36 -0700)

Merge branch 'po/read-graft-line' into next

Conversion from uchar[20] to struct object_id continues; this is to
ensure that we do not assume sizeof(struct object_id) is the same
as the length of SHA-1 hash (or length of longest hash we support).

* po/read-graft-line:
commit: rewrite read_graft_line
commit: allocate array using object_id size
commit: replace the raw buffer with strbuf in read_graft_line
sha1_file: fix definition of null_sha1

Merge branch 'tb/apply-with-crlf' into nextJunio C Hamano Tue, 22 Aug 2017 17:36:59 +0000 (10:36 -0700)

Merge branch 'tb/apply-with-crlf' into next

"git apply" that is used as a better "patch -p1" failed to apply a
taken from a file with CRLF line endings to a file with CRLF line
endings. The root cause was because it misused convert_to_git()
that tried to do "safe-crlf" processing by looking at the index
entry at the same path, which is a nonsense---in that mode, "apply"
is not working on the data in (or derived from) the index at all.
This has been fixed.

* tb/apply-with-crlf:
apply: file commited with CRLF should roundtrip diff and apply
convert: add SAFE_CRLF_KEEP_CRLF

Merge branch 'jk/trailers-parse' into nextJunio C Hamano Tue, 22 Aug 2017 17:36:57 +0000 (10:36 -0700)

Merge branch 'jk/trailers-parse' into next

"git interpret-trailers" has been taught a "--parse" and a few
other options to make it easier for scripts to grab existing
trailer lines from a commit log message.

* jk/trailers-parse:
doc/interpret-trailers: fix "the this" typo

The second batch post 2.14Junio C Hamano Tue, 22 Aug 2017 17:33:58 +0000 (10:33 -0700)

The second batch post 2.14

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

Merge branch 'mh/packed-ref-store'Junio C Hamano Tue, 22 Aug 2017 17:29:16 +0000 (10:29 -0700)

Merge branch 'mh/packed-ref-store'

The "ref-store" code reorganization continues.

* mh/packed-ref-store: (32 commits)
files-backend: cheapen refname_available check when locking refs
packed_ref_store: handle a packed-refs file that is a symlink
read_packed_refs(): die if `packed-refs` contains bogus data
t3210: add some tests of bogus packed-refs file contents
repack_without_refs(): don't lock or unlock the packed refs
commit_packed_refs(): remove call to `packed_refs_unlock()`
clear_packed_ref_cache(): don't protest if the lock is held
packed_refs_unlock(), packed_refs_is_locked(): new functions
packed_refs_lock(): report errors via a `struct strbuf *err`
packed_refs_lock(): function renamed from lock_packed_refs()
commit_packed_refs(): use a staging file separate from the lockfile
commit_packed_refs(): report errors rather than dying
packed_ref_store: make class into a subclass of `ref_store`
packed-backend: new module for handling packed references
packed_read_raw_ref(): new function, replacing `resolve_packed_ref()`
packed_ref_store: support iteration
packed_peel_ref(): new function, extracted from `files_peel_ref()`
repack_without_refs(): take a `packed_ref_store *` parameter
get_packed_ref(): take a `packed_ref_store *` parameter
rollback_packed_refs(): take a `packed_ref_store *` parameter
...

Merge branch 'sb/retire-t1200'Junio C Hamano Tue, 22 Aug 2017 17:29:16 +0000 (10:29 -0700)

Merge branch 'sb/retire-t1200'

A test script that outlived its usefulness has been removed.

* sb/retire-t1200:
t1200: remove t1200-tutorial.sh

Merge branch 'rs/win32-syslog-leakfix'Junio C Hamano Tue, 22 Aug 2017 17:29:16 +0000 (10:29 -0700)

Merge branch 'rs/win32-syslog-leakfix'

Memory leak in an error codepath has been plugged.

* rs/win32-syslog-leakfix:
win32: plug memory leak on realloc() failure in syslog()

Merge branch 'rs/unpack-entry-leakfix'Junio C Hamano Tue, 22 Aug 2017 17:29:15 +0000 (10:29 -0700)

Merge branch 'rs/unpack-entry-leakfix'

Memory leak in an error codepath has been plugged.

* rs/unpack-entry-leakfix:
sha1_file: release delta_stack on error in unpack_entry()

Merge branch 'rs/strbuf-getwholeline-fix'Junio C Hamano Tue, 22 Aug 2017 17:29:15 +0000 (10:29 -0700)

Merge branch 'rs/strbuf-getwholeline-fix'

A helper function to read a single whole line into strbuf
mistakenly triggered OOM error at EOF under certain conditions,
which has been fixed.

* rs/strbuf-getwholeline-fix:
strbuf: clear errno before calling getdelim(3)

Merge branch 'rs/merge-microcleanup'Junio C Hamano Tue, 22 Aug 2017 17:29:14 +0000 (10:29 -0700)

Merge branch 'rs/merge-microcleanup'

Code clean-up.

* rs/merge-microcleanup:
merge: use skip_prefix()

Merge branch 'rs/fsck-obj-leakfix'Junio C Hamano Tue, 22 Aug 2017 17:29:13 +0000 (10:29 -0700)

Merge branch 'rs/fsck-obj-leakfix'

Memory leak in an error codepath has been plugged.

* rs/fsck-obj-leakfix:
fsck: free buffers on error in fsck_obj()

Merge branch 'rs/t4062-obsd'Junio C Hamano Tue, 22 Aug 2017 17:29:13 +0000 (10:29 -0700)

Merge branch 'rs/t4062-obsd'

Test portability fix.

* rs/t4062-obsd:
t4062: use less than 256 repetitions in regex

Merge branch 'rs/find-pack-entry-bisection'Junio C Hamano Tue, 22 Aug 2017 17:29:11 +0000 (10:29 -0700)

Merge branch 'rs/find-pack-entry-bisection'

Code clean-up.

* rs/find-pack-entry-bisection:
sha1_file: avoid comparison if no packed hash matches the first byte

Merge branch 'rs/apply-lose-prefix-length'Junio C Hamano Tue, 22 Aug 2017 17:29:10 +0000 (10:29 -0700)

Merge branch 'rs/apply-lose-prefix-length'

Code clean-up.

* rs/apply-lose-prefix-length:
apply: remove prefix_length member from apply_state

Merge branch 'rj/add-chmod-error-message'Junio C Hamano Tue, 22 Aug 2017 17:29:10 +0000 (10:29 -0700)

Merge branch 'rj/add-chmod-error-message'

Message fix.

* rj/add-chmod-error-message:
builtin/add: add detail to a 'cannot chmod' error message

Merge branch 'jk/hashcmp-memcmp'Junio C Hamano Tue, 22 Aug 2017 17:29:09 +0000 (10:29 -0700)

Merge branch 'jk/hashcmp-memcmp'

Code clean-up.

* jk/hashcmp-memcmp:
hashcmp: use memcmp instead of open-coded loop

Merge branch 'jk/drop-sha1-entry-pos'Junio C Hamano Tue, 22 Aug 2017 17:29:08 +0000 (10:29 -0700)

Merge branch 'jk/drop-sha1-entry-pos'

Code clean-up.

* jk/drop-sha1-entry-pos:
sha1_file: drop experimental GIT_USE_LOOKUP search

Merge branch 'ur/svn-local-zone'Junio C Hamano Tue, 22 Aug 2017 17:29:07 +0000 (10:29 -0700)

Merge branch 'ur/svn-local-zone'

"git svn" used with "--localtime" option did not compute the tz
offset for the timestamp in question and instead always used the
current time, which has been corrected.

* ur/svn-local-zone:
git svn fetch: Create correct commit timestamp when using --localtime

Merge branch 'pw/am-signoff'Junio C Hamano Tue, 22 Aug 2017 17:29:07 +0000 (10:29 -0700)

Merge branch 'pw/am-signoff'

"git am -s" has been taught that some input may end with a trailer
block that is not Signed-off-by: and it should refrain from adding
an extra blank line before adding a new sign-off in such a case.

* pw/am-signoff:
am: fix signoff when other trailers are present

Merge branch 'rs/t3700-clean-leftover'Junio C Hamano Tue, 22 Aug 2017 17:29:07 +0000 (10:29 -0700)

Merge branch 'rs/t3700-clean-leftover'

A test fix.

* rs/t3700-clean-leftover:
t3700: fix broken test under !POSIXPERM

Merge branch 'jc/perl-git-comment-typofix'Junio C Hamano Tue, 22 Aug 2017 17:29:06 +0000 (10:29 -0700)

Merge branch 'jc/perl-git-comment-typofix'

A comment fix.

* jc/perl-git-comment-typofix:
perl/Git.pm: typofix in a comment

Merge branch 'rs/in-obsd-basename-dirname-take-const'Junio C Hamano Tue, 22 Aug 2017 17:29:05 +0000 (10:29 -0700)

Merge branch 'rs/in-obsd-basename-dirname-take-const'

Portability fix.

* rs/in-obsd-basename-dirname-take-const:
test-path-utils: handle const parameter of basename and dirname

Merge branch 'rs/obsd-getcwd-workaround'Junio C Hamano Tue, 22 Aug 2017 17:29:04 +0000 (10:29 -0700)

Merge branch 'rs/obsd-getcwd-workaround'

Test portability fix for BSDs.

* rs/obsd-getcwd-workaround:
t0001: skip test with restrictive permissions if getpwd(3) respects them

Merge branch 'mf/no-dashed-subcommands'Junio C Hamano Tue, 22 Aug 2017 17:29:03 +0000 (10:29 -0700)

Merge branch 'mf/no-dashed-subcommands'

Code clean-up.

* mf/no-dashed-subcommands:
scripts: use "git foo" not "git-foo"

Merge branch 'ma/parse-maybe-bool'Junio C Hamano Tue, 22 Aug 2017 17:29:03 +0000 (10:29 -0700)

Merge branch 'ma/parse-maybe-bool'

Code clean-up.

* ma/parse-maybe-bool:
parse_decoration_style: drop unused argument `var`
treewide: deprecate git_config_maybe_bool, use git_parse_maybe_bool
config: make git_{config,parse}_maybe_bool equivalent
config: introduce git_parse_maybe_bool_text
t5334: document that git push --signed=1 does not work
Doc/git-{push,send-pack}: correct --sign= to --signed=

Merge branch 'ab/ref-filter-no-contains'Junio C Hamano Tue, 22 Aug 2017 17:29:02 +0000 (10:29 -0700)

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

A test fix.

* ab/ref-filter-no-contains:
tests: don't give unportable ">" to "test" built-in, use -gt

Merge branch 'bw/clone-recursive-quiet'Junio C Hamano Tue, 22 Aug 2017 17:29:01 +0000 (10:29 -0700)

Merge branch 'bw/clone-recursive-quiet'

"git clone --recurse-submodules --quiet" did not pass the quiet
option down to submodules.

* bw/clone-recursive-quiet:
clone: teach recursive clones to respect -q

Merge branch 'bw/grep-recurse-submodules'Junio C Hamano Tue, 22 Aug 2017 17:29:01 +0000 (10:29 -0700)

Merge branch 'bw/grep-recurse-submodules'

"git grep --recurse-submodules" has been reworked to give a more
consistent output across submodule boundary (and do its thing
without having to fork a separate process).

* bw/grep-recurse-submodules:
grep: recurse in-process using 'struct repository'
submodule: merge repo_read_gitmodules and gitmodules_config
submodule: check for unmerged .gitmodules outside of config parsing
submodule: check for unstaged .gitmodules outside of config parsing
submodule: remove fetch.recursesubmodules from submodule-config parsing
submodule: remove submodule.fetchjobs from submodule-config parsing
config: add config_from_gitmodules
cache.h: add GITMODULES_FILE macro
repository: have the_repository use the_index
repo_read_index: don't discard the index

Merge branch 'pw/sequence-rerere-autoupdate'Junio C Hamano Tue, 22 Aug 2017 17:29:00 +0000 (10:29 -0700)

Merge branch 'pw/sequence-rerere-autoupdate'

Commands like "git rebase" accepted the --rerere-autoupdate option
from the command line, but did not always use it. This has been
fixed.

* pw/sequence-rerere-autoupdate:
cherry-pick/revert: reject --rerere-autoupdate when continuing
cherry-pick/revert: remember --rerere-autoupdate
t3504: use test_commit
rebase -i: honor --rerere-autoupdate
rebase: honor --rerere-autoupdate
am: remember --rerere-autoupdate setting

Merge branch 'bw/push-options-recursively-to-submodules'Junio C Hamano Tue, 22 Aug 2017 17:29:00 +0000 (10:29 -0700)

Merge branch 'bw/push-options-recursively-to-submodules'

"git push --recurse-submodules $there HEAD:$target" was not
propagated down to the submodules, but now it is.

* bw/push-options-recursively-to-submodules:
submodule--helper: teach push-check to handle HEAD

sha1_file: convert index_stream to struct object_idPatryk Obara Sun, 20 Aug 2017 20:09:31 +0000 (22:09 +0200)

sha1_file: convert index_stream to struct object_id

Signed-off-by: Patryk Obara <patryk.obara@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

sha1_file: convert hash_sha1_file_literally to struct... Patryk Obara Sun, 20 Aug 2017 20:09:30 +0000 (22:09 +0200)

sha1_file: convert hash_sha1_file_literally to struct object_id

Convert all remaining callers as well.

Signed-off-by: Patryk Obara <patryk.obara@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

sha1_file: convert index_fd to struct object_idPatryk Obara Sun, 20 Aug 2017 20:09:29 +0000 (22:09 +0200)

sha1_file: convert index_fd to struct object_id

Convert all remaining callers as well.

Signed-off-by: Patryk Obara <patryk.obara@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

sha1_file: convert index_path to struct object_idPatryk Obara Sun, 20 Aug 2017 20:09:28 +0000 (22:09 +0200)

sha1_file: convert index_path to struct object_id

Convert all remaining callers as well.

Signed-off-by: Patryk Obara <patryk.obara@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

read-cache: convert to struct object_idPatryk Obara Sun, 20 Aug 2017 20:09:27 +0000 (22:09 +0200)

read-cache: convert to struct object_id

Replace hashcmp with oidcmp.

Signed-off-by: Patryk Obara <patryk.obara@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

builtin/hash-object: convert to struct object_idPatryk Obara Sun, 20 Aug 2017 20:09:26 +0000 (22:09 +0200)

builtin/hash-object: convert to struct object_id

Signed-off-by: Patryk Obara <patryk.obara@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

vcs-svn: rename repo functions to "svn_repo"brian m. carlson Mon, 21 Aug 2017 00:00:18 +0000 (00:00 +0000)

vcs-svn: rename repo functions to "svn_repo"

There were several functions in the Subversion code that started with
"repo_". This namespace is also used by the Git struct repository code.
Rename these functions to start with "svn_repo" to avoid any future
conflicts.

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

vcs-svn: remove unused prototypesbrian m. carlson Mon, 21 Aug 2017 00:00:17 +0000 (00:00 +0000)

vcs-svn: remove unused prototypes

The Subversion code had prototypes for several functions which were not
ever defined or used. These functions all had names starting with
"repo_", some of which conflict with those in repository.h. To avoid
the conflict, remove those unused prototypes.

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

doc: fix typo in sendemail.identityJeff King Sun, 20 Aug 2017 09:46:57 +0000 (05:46 -0400)

doc: fix typo in sendemail.identity

Saying "the this" is an obvious typo. But while we're here,
let's polish the English on the second half of the sentence,
too.

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

doc/interpret-trailers: fix "the this" typoMartin Ågren Sun, 20 Aug 2017 09:40:09 +0000 (05:40 -0400)

doc/interpret-trailers: fix "the this" typo

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

Merge branch 'mg/format-ref-doc-fix' into nextJunio C Hamano Sun, 20 Aug 2017 06:07:23 +0000 (23:07 -0700)

Merge branch 'mg/format-ref-doc-fix' into next

Doc fix.

* mg/format-ref-doc-fix:
Documentation/git-for-each-ref: clarify peeling of tags for --format
Documentation: use proper wording for ref format strings

Merge branch 'sb/submodule-parallel-update' into nextJunio C Hamano Sun, 20 Aug 2017 06:07:23 +0000 (23:07 -0700)

Merge branch 'sb/submodule-parallel-update' into next

Code clean-up.

* sb/submodule-parallel-update:
submodule.sh: remove unused variable

Merge branch 'jc/diff-sane-truncate-no-more' into nextJunio C Hamano Sun, 20 Aug 2017 06:07:21 +0000 (23:07 -0700)

Merge branch 'jc/diff-sane-truncate-no-more' into next

Code clean-up.

* jc/diff-sane-truncate-no-more:
diff: retire sane_truncate_fn

Merge branch 'hv/t5526-andand-chain-fix' into nextJunio C Hamano Sun, 20 Aug 2017 06:07:21 +0000 (23:07 -0700)

Merge branch 'hv/t5526-andand-chain-fix' into next

Test fix.

* hv/t5526-andand-chain-fix:
t5526: fix some broken && chains

Merge branch 'as/grep-quiet-no-match-exit-code-fix... Junio C Hamano Sun, 20 Aug 2017 06:07:20 +0000 (23:07 -0700)

Merge branch 'as/grep-quiet-no-match-exit-code-fix' into next

"git grep -L" and "git grep --quiet -L" reported different exit
codes; this has been corrected.

* as/grep-quiet-no-match-exit-code-fix:
git-grep: correct exit code with --quiet and -L

Merge branch 'kw/commit-keep-index-when-pre-commit... Junio C Hamano Sun, 20 Aug 2017 06:07:19 +0000 (23:07 -0700)

Merge branch 'kw/commit-keep-index-when-pre-commit-is-not-run' into next

"git commit" used to discard the index and re-read from the filesystem
just in case the pre-commit hook has updated it in the middle; this
has been optimized out when we know we do not run the pre-commit hook.

* kw/commit-keep-index-when-pre-commit-is-not-run:
commit: skip discarding the index if there is no pre-commit hook

Merge branch 'jt/diff-color-move-fix' into nextJunio C Hamano Sun, 20 Aug 2017 06:07:18 +0000 (23:07 -0700)

Merge branch 'jt/diff-color-move-fix' into next

A handful of bugfixes and an improvement to "diff --color-moved".

* jt/diff-color-move-fix:
diff: define block by number of alphanumeric chars
diff: respect MIN_BLOCK_LENGTH for last block
diff: avoid redundantly clearing a flag

Merge branch 'cc/subprocess-handshake-missing-capabilit... Junio C Hamano Sun, 20 Aug 2017 06:07:18 +0000 (23:07 -0700)

Merge branch 'cc/subprocess-handshake-missing-capabilities' into next

When handshake with a subprocess filter notices that the process
asked for an unknown capability, Git did not report what program
the offending subprocess was running. This has been corrected.

* cc/subprocess-handshake-missing-capabilities:
sub-process: print the cmd when a capability is unsupported

Merge branch 'jk/trailers-parse' into nextJunio C Hamano Sun, 20 Aug 2017 06:07:18 +0000 (23:07 -0700)

Merge branch 'jk/trailers-parse' into next

"git interpret-trailers" has been taught a "--parse" and a few
other options to make it easier for scripts to grab existing
trailer lines from a commit log message.

* jk/trailers-parse:
pretty: support normalization options for %(trailers)
t4205: refactor %(trailers) tests
pretty: move trailer formatting to trailer.c
interpret-trailers: add --parse convenience option
interpret-trailers: add an option to unfold values
interpret-trailers: add an option to show only existing trailers
interpret-trailers: add an option to show only the trailers
trailer: put process_trailers() options into a struct

Merge branch 'sb/sha1-file-cleanup' into nextJunio C Hamano Sun, 20 Aug 2017 06:07:18 +0000 (23:07 -0700)

Merge branch 'sb/sha1-file-cleanup' into next

Code clean-up.

* sb/sha1-file-cleanup:
sha1_file: make read_info_alternates static

Merge branch 'rs/t1002-do-not-use-sum' into nextJunio C Hamano Sun, 20 Aug 2017 06:07:17 +0000 (23:07 -0700)

Merge branch 'rs/t1002-do-not-use-sum' into next

Test simplification.

* rs/t1002-do-not-use-sum:
t1002: stop using sum(1)

Merge branch 'pb/trailers-from-command-line' into nextJunio C Hamano Sun, 20 Aug 2017 06:07:16 +0000 (23:07 -0700)

Merge branch 'pb/trailers-from-command-line' into next

"git interpret-trailers" learned to take the trailer specifications
from the command line that overrides the configured values.

* pb/trailers-from-command-line:
interpret-trailers: fix documentation typo
interpret-trailers: add options for actions
trailers: introduce struct new_trailer_item
trailers: export action enums and corresponding lookup functions

Merge branch 'kd/stash-with-bash-4.4' into nextJunio C Hamano Sun, 20 Aug 2017 06:07:16 +0000 (23:07 -0700)

Merge branch 'kd/stash-with-bash-4.4' into next

bash 4.4 or newer gave a warning on NUL byte in command
substitution done in "git stash"; this has been squelched.

* kd/stash-with-bash-4.4:
stash: prevent warning about null bytes in input

Merge branch 'ah/doc-empty-string-is-false' into nextJunio C Hamano Sun, 20 Aug 2017 06:07:15 +0000 (23:07 -0700)

Merge branch 'ah/doc-empty-string-is-false' into next

Doc update.

* ah/doc-empty-string-is-false:
doc: clarify "config --bool" behaviour with empty string

Merge branch 'rs/object-id' into nextJunio C Hamano Sun, 20 Aug 2017 06:07:14 +0000 (23:07 -0700)

Merge branch 'rs/object-id' into next

Conversion from uchar[20] to struct object_id continues.

* rs/object-id:
tree-walk: convert fill_tree_descriptor() to object_id

Merge branch 'kw/rebase-progress' into nextJunio C Hamano Sun, 20 Aug 2017 06:07:14 +0000 (23:07 -0700)

Merge branch 'kw/rebase-progress' into next

"git rebase", especially when it is run by mistake and ends up
trying to replay many changes, spent long time in silence. The
command has been taught to show progress report when it spends
long time preparing these many changes to replay (which would give
the user a chance to abort with ^C).

* kw/rebase-progress:
rebase: turn on progress option by default for format-patch
format-patch: have progress option while generating patches

Merge branch 'ks/prepare-commit-msg-sample-fix' into... Junio C Hamano Sun, 20 Aug 2017 06:07:14 +0000 (23:07 -0700)

Merge branch 'ks/prepare-commit-msg-sample-fix' into next

An "oops" fix to a topic that is already in 'master'.

* ks/prepare-commit-msg-sample-fix:
hook: use correct logical variable

Merge branch 'nm/stash-untracked' into nextJunio C Hamano Sun, 20 Aug 2017 06:07:14 +0000 (23:07 -0700)

Merge branch 'nm/stash-untracked' into next

"git stash -u" used the contents of the committed version of the
".gitignore" file to decide which paths are ignored, even when the
file has local changes. The command has been taught to instead use
the locally modified contents.

* nm/stash-untracked:
stash: clean untracked files before reset

Merge branch 'jt/sha1-file-cleanup' into nextJunio C Hamano Sun, 20 Aug 2017 06:07:14 +0000 (23:07 -0700)

Merge branch 'jt/sha1-file-cleanup' into next

Preparatory code clean-up.

* jt/sha1-file-cleanup:
sha1_file: remove read_packed_sha1()
sha1_file: set whence in storage-specific info fn

Merge branch 'lg/merge-signoff' into nextJunio C Hamano Sun, 20 Aug 2017 06:07:13 +0000 (23:07 -0700)

Merge branch 'lg/merge-signoff' into next

"git merge" learned a "--signoff" option to add the Signed-off-by:
trailer with the committer's name.

* lg/merge-signoff:
merge: add a --signoff flag

Merge branch 'sb/diff-color-move' into nextJunio C Hamano Sun, 20 Aug 2017 06:07:13 +0000 (23:07 -0700)

Merge branch 'sb/diff-color-move' into next

"git diff" has been taught to optionally paint new lines that are
the same as deleted lines elsewhere differently from genuinely new
lines.

* sb/diff-color-move: (25 commits)
diff: document the new --color-moved setting
diff.c: add dimming to moved line detection
diff.c: color moved lines differently, plain mode
diff.c: color moved lines differently
diff.c: buffer all output if asked to
diff.c: emit_diff_symbol learns about DIFF_SYMBOL_SUMMARY
diff.c: emit_diff_symbol learns about DIFF_SYMBOL_STAT_SEP
diff.c: convert word diffing to use emit_diff_symbol
diff.c: convert show_stats to use emit_diff_symbol
diff.c: convert emit_binary_diff_body to use emit_diff_symbol
submodule.c: migrate diff output to use emit_diff_symbol
diff.c: emit_diff_symbol learns DIFF_SYMBOL_REWRITE_DIFF
diff.c: emit_diff_symbol learns about DIFF_SYMBOL_BINARY_FILES
diff.c: emit_diff_symbol learns DIFF_SYMBOL_HEADER
diff.c: emit_diff_symbol learns DIFF_SYMBOL_FILEPAIR_{PLUS, MINUS}
diff.c: emit_diff_symbol learns DIFF_SYMBOL_CONTEXT_INCOMPLETE
diff.c: emit_diff_symbol learns DIFF_SYMBOL_WORDS[_PORCELAIN]
diff.c: migrate emit_line_checked to use emit_diff_symbol
diff.c: emit_diff_symbol learns DIFF_SYMBOL_NO_LF_EOF
diff.c: emit_diff_symbol learns DIFF_SYMBOL_CONTEXT_FRAGINFO
...

stash: add a test for stashing in a detached stateJoel Teichroeb Sat, 19 Aug 2017 20:13:26 +0000 (13:13 -0700)

stash: add a test for stashing in a detached state

All that we are really testing here is that the message is
correct when we are not on any branch. All other functionality is
already tested elsewhere.

Signed-off-by: Joel Teichroeb <joel@teichroeb.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

stash: add a test for when apply fails during stash... Joel Teichroeb Sat, 19 Aug 2017 20:13:25 +0000 (13:13 -0700)

stash: add a test for when apply fails during stash branch

If the return value of merge recursive is not checked, the stash could end
up being dropped even though it was not applied properly

Signed-off-by: Joel Teichroeb <joel@teichroeb.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

stash: add a test for stash create with no filesJoel Teichroeb Sat, 19 Aug 2017 20:13:24 +0000 (13:13 -0700)

stash: add a test for stash create with no files

Ensure the command suceeds and outputs nothing

Signed-off-by: Joel Teichroeb <joel@teichroeb.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

progress: simplify "delayed" progress APIJunio C Hamano Sat, 19 Aug 2017 17:39:41 +0000 (10:39 -0700)

progress: simplify "delayed" progress API

We used to expose the full power of the delayed progress API to the
callers, so that they can specify, not just the message to show and
expected total amount of work that is used to compute the percentage
of work performed so far, the percent-threshold parameter P and the
delay-seconds parameter N. The progress meter starts to show at N
seconds into the operation only if we have not yet completed P per-cent
of the total work.

Most callers used either (0%, 2s) or (50%, 1s) as (P, N), but there
are oddballs that chose more random-looking values like 95%.

For a smoother workload, (50%, 1s) would allow us to start showing
the progress meter earlier than (0%, 2s), while keeping the chance
of not showing progress meter for long running operation the same as
the latter. For a task that would take 2s or more to complete, it
is likely that less than half of it would complete within the first
second, if the workload is smooth. But for a spiky workload whose
earlier part is easier, such a setting is likely to fail to show the
progress meter entirely and (0%, 2s) is more appropriate.

But that is merely a theory. Realistically, it is of dubious value
to ask each codepath to carefully consider smoothness of their
workload and specify their own setting by passing two extra
parameters. Let's simplify the API by dropping both parameters and
have everybody use (0%, 2s).

Oh, by the way, the percent-threshold parameter and the structure
member were consistently misspelled, which also is now fixed ;-)

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

apply: file commited with CRLF should roundtrip diff... Torsten Bögershausen Sat, 19 Aug 2017 11:28:01 +0000 (13:28 +0200)

apply: file commited with CRLF should roundtrip diff and apply

When a file had been commited with CRLF but now .gitattributes say
"* text=auto" (or core.autocrlf is true), the following does not
roundtrip, `git apply` fails:

printf "Added line\r\n" >>file &&
git diff >patch &&
git checkout -- . &&
git apply patch

Before applying the patch, the file from working tree is converted
into the index format (clean filter, CRLF conversion, ...). Here,
when commited with CRLF, the line endings should not be converted.

Note that `git apply --index` or `git apply --cache` doesn't call
convert_to_git() because the source material is already in index
format.

Analyze the patch if there is a) any context line with CRLF, or b)
if any line with CRLF is to be removed. In this case the patch file
`patch` has mixed line endings, for a) it looks like this:

diff --git a/one b/one
index 533790e..c30dea8 100644
--- a/one
+++ b/one
@@ -1 +1,2 @@
a\r
+b\r

And for b) it looks like this:

diff --git a/one b/one
index 533790e..485540d 100644
--- a/one
+++ b/one
@@ -1 +1 @@
-a\r
+b\r

If `git apply` detects that the patch itself has CRLF, (look at the
line " a\r" or "-a\r" above), the new flag crlf_in_old is set in
"struct patch" and two things will happen:

- read_old_data() will not convert CRLF into LF by calling
convert_to_git(..., SAFE_CRLF_KEEP_CRLF);
- The WS_CR_AT_EOL bit is set in the "white space rule",
CRLF are no longer treated as white space.

While at there, make it clear that read_old_data() in apply.c knows
what it wants convert_to_git() to do with respect to CRLF. In fact,
this codepath is about applying a patch to a file in the filesystem,
which may not exist in the index, or may exist but may not match
what is recorded in the index, or in the extreme case, we may not
even be in a Git repository. If convert_to_git() peeked at the
index while doing its work, it *would* be a bug.

Pass NULL instead of &the_index to convert_to_git() to make sure we
catch future bugs to clarify this.

Update the test in t4124: split one test case into 3:

- Detect the " a\r" line in the patch
- Detect the "-a\r" line in the patch
- Use LF in repo and CLRF in the worktree.

Reported-by: Anthony Sottile <asottile@umich.edu>
Signed-off-by: Torsten Bögershausen <tboegi@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

commit: remove unused inline function single_parent()René Scharfe Sat, 19 Aug 2017 08:12:45 +0000 (10:12 +0200)

commit: remove unused inline function single_parent()

53b2c823f6 (revision walker: mini clean-up) added the function in 2007,
but it was never used, so we should be able to get rid of it now.

Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

archive: don't queue excluded directoriesRené Scharfe Sat, 19 Aug 2017 05:32:37 +0000 (07:32 +0200)

archive: don't queue excluded directories

Reject directories with the attribute export-ignore already while
queuing them. This prevents read_tree_recursive() from descending into
them and this avoids write_archive_entry() rejecting them later on,
which queue_or_write_archive_entry() is not prepared for.

Borrow the existing strbuf to build the full path to avoid string
copies and extra allocations; just make sure we restore the original
value before moving on.

Keep checking any other attributes in write_archive_entry() as before,
but avoid checking them twice.

Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

archive: factor out helper functions for handling attri... René Scharfe Sat, 19 Aug 2017 05:29:43 +0000 (07:29 +0200)

archive: factor out helper functions for handling attributes

Add helpers for accessing attributes that encapsulate the details of how
to retrieve their values.

Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t5001: add tests for export-ignore attributes and exclu... René Scharfe Sat, 19 Aug 2017 05:28:54 +0000 (07:28 +0200)

t5001: add tests for export-ignore attributes and exclude pathspecs

Demonstrate mishandling of the attribute export-ignore by git archive
when used together with pathspecs. Wildcard pathspecs can even cause it
to abort. And a directory excluded without a wildcard is still included
as an empty folder in the archive.

Test-case-by: David Adam <zanchey@ucc.gu.uwa.edu.au>
Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'sb/retire-t1200' into nextJunio C Hamano Fri, 18 Aug 2017 20:53:02 +0000 (13:53 -0700)

Merge branch 'sb/retire-t1200' into next

A test script that outlived its usefulness has been removed.

* sb/retire-t1200:
t1200: remove t1200-tutorial.sh

Merge branch 'rs/win32-syslog-leakfix' into nextJunio C Hamano Fri, 18 Aug 2017 20:53:02 +0000 (13:53 -0700)

Merge branch 'rs/win32-syslog-leakfix' into next

Memory leak in an error codepath has been plugged.

* rs/win32-syslog-leakfix:
win32: plug memory leak on realloc() failure in syslog()

Merge branch 'rs/unpack-entry-leakfix' into nextJunio C Hamano Fri, 18 Aug 2017 20:53:02 +0000 (13:53 -0700)

Merge branch 'rs/unpack-entry-leakfix' into next

Memory leak in an error codepath has been plugged.

* rs/unpack-entry-leakfix:
sha1_file: release delta_stack on error in unpack_entry()

Merge branch 'rs/strbuf-getwholeline-fix' into nextJunio C Hamano Fri, 18 Aug 2017 20:53:01 +0000 (13:53 -0700)

Merge branch 'rs/strbuf-getwholeline-fix' into next

A helper function to read a single whole line into strbuf
mistakenly triggered OOM error at EOF under certain conditions,
which has been fixed.

* rs/strbuf-getwholeline-fix:
strbuf: clear errno before calling getdelim(3)

Merge branch 'rs/merge-microcleanup' into nextJunio C Hamano Fri, 18 Aug 2017 20:53:00 +0000 (13:53 -0700)

Merge branch 'rs/merge-microcleanup' into next

Code clean-up.

* rs/merge-microcleanup:
merge: use skip_prefix()

Merge branch 'rs/fsck-obj-leakfix' into nextJunio C Hamano Fri, 18 Aug 2017 20:53:00 +0000 (13:53 -0700)

Merge branch 'rs/fsck-obj-leakfix' into next

Memory leak in an error codepath has been plugged.

* rs/fsck-obj-leakfix:
fsck: free buffers on error in fsck_obj()

Merge branch 'rs/t4062-obsd' into nextJunio C Hamano Fri, 18 Aug 2017 20:52:59 +0000 (13:52 -0700)

Merge branch 'rs/t4062-obsd' into next

Test portability fix.

* rs/t4062-obsd:
t4062: use less than 256 repetitions in regex

Merge branch 'rs/find-pack-entry-bisection' into nextJunio C Hamano Fri, 18 Aug 2017 20:52:58 +0000 (13:52 -0700)

Merge branch 'rs/find-pack-entry-bisection' into next

Code clean-up.

* rs/find-pack-entry-bisection:
sha1_file: avoid comparison if no packed hash matches the first byte

Merge branch 'rs/apply-lose-prefix-length' into nextJunio C Hamano Fri, 18 Aug 2017 20:52:57 +0000 (13:52 -0700)

Merge branch 'rs/apply-lose-prefix-length' into next

Code clean-up.

* rs/apply-lose-prefix-length:
apply: remove prefix_length member from apply_state

Merge branch 'rj/add-chmod-error-message' into nextJunio C Hamano Fri, 18 Aug 2017 20:52:56 +0000 (13:52 -0700)

Merge branch 'rj/add-chmod-error-message' into next

Message fix.

* rj/add-chmod-error-message:
builtin/add: add detail to a 'cannot chmod' error message

Merge branch 'jk/hashcmp-memcmp' into nextJunio C Hamano Fri, 18 Aug 2017 20:52:55 +0000 (13:52 -0700)

Merge branch 'jk/hashcmp-memcmp' into next

Code clean-up.

* jk/hashcmp-memcmp:
hashcmp: use memcmp instead of open-coded loop

Merge branch 'jk/drop-sha1-entry-pos' into nextJunio C Hamano Fri, 18 Aug 2017 20:52:54 +0000 (13:52 -0700)

Merge branch 'jk/drop-sha1-entry-pos' into next

Code clean-up.

* jk/drop-sha1-entry-pos:
sha1_file: drop experimental GIT_USE_LOOKUP search

Merge branch 'ur/svn-local-zone' into nextJunio C Hamano Fri, 18 Aug 2017 20:52:54 +0000 (13:52 -0700)

Merge branch 'ur/svn-local-zone' into next

"git svn" used with "--localtime" option did not compute the tz
offset for the timestamp in question and instead always used the
current time, which has been corrected.

* ur/svn-local-zone:
git svn fetch: Create correct commit timestamp when using --localtime

Merge branch 'pw/am-signoff' into nextJunio C Hamano Fri, 18 Aug 2017 20:52:53 +0000 (13:52 -0700)

Merge branch 'pw/am-signoff' into next

"git am -s" has been taught that some input may end with a trailer
block that is not Signed-off-by: and it should refrain from adding
an extra blank line before adding a new sign-off in such a case.

* pw/am-signoff:
am: fix signoff when other trailers are present

Merge branch 'rs/t3700-clean-leftover' into nextJunio C Hamano Fri, 18 Aug 2017 20:52:53 +0000 (13:52 -0700)

Merge branch 'rs/t3700-clean-leftover' into next

A test fix.

* rs/t3700-clean-leftover:
t3700: fix broken test under !POSIXPERM

Merge branch 'jc/perl-git-comment-typofix' into nextJunio C Hamano Fri, 18 Aug 2017 20:52:52 +0000 (13:52 -0700)

Merge branch 'jc/perl-git-comment-typofix' into next

A comment fix.

* jc/perl-git-comment-typofix:
perl/Git.pm: typofix in a comment

Merge branch 'rs/in-obsd-basename-dirname-take-const... Junio C Hamano Fri, 18 Aug 2017 20:52:51 +0000 (13:52 -0700)

Merge branch 'rs/in-obsd-basename-dirname-take-const' into next

Portability fix.

* rs/in-obsd-basename-dirname-take-const:
test-path-utils: handle const parameter of basename and dirname

Merge branch 'rs/obsd-getcwd-workaround' into nextJunio C Hamano Fri, 18 Aug 2017 20:52:51 +0000 (13:52 -0700)

Merge branch 'rs/obsd-getcwd-workaround' into next

Test portability fix for BSDs.

* rs/obsd-getcwd-workaround:
t0001: skip test with restrictive permissions if getpwd(3) respects them

Merge branch 'mf/no-dashed-subcommands' into nextJunio C Hamano Fri, 18 Aug 2017 20:52:50 +0000 (13:52 -0700)

Merge branch 'mf/no-dashed-subcommands' into next

Code clean-up.

* mf/no-dashed-subcommands:
scripts: use "git foo" not "git-foo"

Merge branch 'ma/parse-maybe-bool' into nextJunio C Hamano Fri, 18 Aug 2017 20:52:49 +0000 (13:52 -0700)

Merge branch 'ma/parse-maybe-bool' into next

Code clean-up.

* ma/parse-maybe-bool:
parse_decoration_style: drop unused argument `var`
treewide: deprecate git_config_maybe_bool, use git_parse_maybe_bool
config: make git_{config,parse}_maybe_bool equivalent
config: introduce git_parse_maybe_bool_text
t5334: document that git push --signed=1 does not work
Doc/git-{push,send-pack}: correct --sign= to --signed=