OSDN Git Service

git-core/git.git
7 years agoMerge branch 'sb/t4005-modernize'
Junio C Hamano [Thu, 22 Jun 2017 21:15:21 +0000 (14:15 -0700)]
Merge branch 'sb/t4005-modernize'

Test clean-up.

* sb/t4005-modernize:
  t4005: modernize style and drop hard coded sha1

7 years agoMerge branch 'nd/fopen-errors'
Junio C Hamano [Thu, 22 Jun 2017 21:15:20 +0000 (14:15 -0700)]
Merge branch 'nd/fopen-errors'

Hotfix for a topic that is already in 'master'.

* nd/fopen-errors:
  configure.ac: loosen FREAD_READS_DIRECTORIES test program

7 years agoNinth batch for 2.14
Junio C Hamano [Mon, 19 Jun 2017 19:41:12 +0000 (12:41 -0700)]
Ninth batch for 2.14

Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agoMerge branch 'jk/consistent-h'
Junio C Hamano [Mon, 19 Jun 2017 19:38:45 +0000 (12:38 -0700)]
Merge branch 'jk/consistent-h'

"git $cmd -h" for builtin commands calls the implementation of the
command (i.e. cmd_$cmd() function) without doing any repository
set-up, and the commands that expect RUN_SETUP is done by the Git
potty needs to be prepared to show the help text without barfing.

* jk/consistent-h:
  t0012: test "-h" with builtins
  git: add hidden --list-builtins option
  version: convert to parse-options
  diff- and log- family: handle "git cmd -h" early
  submodule--helper: show usage for "-h"
  remote-{ext,fd}: print usage message on invalid arguments
  upload-archive: handle "-h" option early
  credential: handle invalid arguments earlier

7 years agoMerge branch 'ab/perf-remove-index-lock'
Junio C Hamano [Mon, 19 Jun 2017 19:38:44 +0000 (12:38 -0700)]
Merge branch 'ab/perf-remove-index-lock'

When an existing repository is used for t/perf testing, we first
create bit-for-bit copy of it, which may grab a transient state of
the repository and freeze it into the repository used for testing,
which then may cause Git operations to fail.  Single out "the index
being locked" case and forcibly drop the lock from the copy.

* ab/perf-remove-index-lock:
  perf: work around the tested repo having an index.lock

7 years agoMerge branch 'bw/object-id'
Junio C Hamano [Mon, 19 Jun 2017 19:38:44 +0000 (12:38 -0700)]
Merge branch 'bw/object-id'

Conversion from uchar[20] to struct object_id continues.

* bw/object-id: (33 commits)
  diff: rename diff_fill_sha1_info to diff_fill_oid_info
  diffcore-rename: use is_empty_blob_oid
  tree-diff: convert path_appendnew to object_id
  tree-diff: convert diff_tree_paths to struct object_id
  tree-diff: convert try_to_follow_renames to struct object_id
  builtin/diff-tree: cleanup references to sha1
  diff-tree: convert diff_tree_sha1 to struct object_id
  notes-merge: convert write_note_to_worktree to struct object_id
  notes-merge: convert verify_notes_filepair to struct object_id
  notes-merge: convert find_notes_merge_pair_ps to struct object_id
  notes-merge: convert merge_from_diffs to struct object_id
  notes-merge: convert notes_merge* to struct object_id
  tree-diff: convert diff_root_tree_sha1 to struct object_id
  combine-diff: convert find_paths_* to struct object_id
  combine-diff: convert diff_tree_combined to struct object_id
  diff: convert diff_flush_patch_id to struct object_id
  patch-ids: convert to struct object_id
  diff: finish conversion for prepare_temp_file to struct object_id
  diff: convert reuse_worktree_file to struct object_id
  diff: convert fill_filespec to struct object_id
  ...

7 years agoMerge branch 'sb/submodule-rm-absorb'
Junio C Hamano [Mon, 19 Jun 2017 19:38:44 +0000 (12:38 -0700)]
Merge branch 'sb/submodule-rm-absorb'

Doc update to a recently graduated topic.

* sb/submodule-rm-absorb:
  Documentation/git-rm: correct submodule description

7 years agoMerge branch 'ab/pcre-v2'
Junio C Hamano [Mon, 19 Jun 2017 19:38:43 +0000 (12:38 -0700)]
Merge branch 'ab/pcre-v2'

Update "perl-compatible regular expression" support to enable JIT
and also allow linking with the newer PCRE v2 library.

* ab/pcre-v2:
  grep: add support for PCRE v2
  grep: un-break building with PCRE >= 8.32 without --enable-jit
  grep: un-break building with PCRE < 8.20
  grep: un-break building with PCRE < 8.32
  grep: add support for the PCRE v1 JIT API
  log: add -P as a synonym for --perl-regexp
  grep: skip pthreads overhead when using one thread
  grep: don't redundantly compile throwaway patterns under threading

7 years agoMerge branch 'jk/pathspec-magic-disambiguation'
Junio C Hamano [Mon, 19 Jun 2017 19:38:42 +0000 (12:38 -0700)]
Merge branch 'jk/pathspec-magic-disambiguation'

The convention for a command line is to follow "git cmdname
--options" with revisions followed by an optional "--"
disambiguator and then finally pathspecs.  When "--" is not there,
we make sure early ones are all interpretable as revs (and do not
look like paths) and later ones are the other way around.  A
pathspec with "magic" (e.g. ":/p/a/t/h" that matches p/a/t/h from
the top-level of the working tree, no matter what subdirectory you
are working from) are conservatively judged as "not a path", which
required disambiguation more often.  The command line parser
learned to say "it's a pathspec" a bit more often when the syntax
looks like so.

* jk/pathspec-magic-disambiguation:
  verify_filename(): flip order of checks
  verify_filename(): treat ":(magic)" as a pathspec
  check_filename(): handle ":^" path magic
  check_filename(): use skip_prefix
  check_filename(): refactor ":/" handling
  t4208: add check for ":/" without matching file

7 years agosub-process: correct path to API docs in a comment
Christian Couder [Wed, 14 Jun 2017 15:12:25 +0000 (17:12 +0200)]
sub-process: correct path to API docs in a comment

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Acked-by: Ben Peart <peartben@gmail.com>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agoMerge branch 'svn-doc' of git://bogomips.org/git-svn
Junio C Hamano [Thu, 15 Jun 2017 21:15:03 +0000 (14:15 -0700)]
Merge branch 'svn-doc' of git://bogomips.org/git-svn

* 'svn-doc' of git://bogomips.org/git-svn:
  git-svn: document special options for commit-diff

7 years agoconfigure.ac: loosen FREAD_READS_DIRECTORIES test program
Jeff King [Wed, 14 Jun 2017 05:30:18 +0000 (01:30 -0400)]
configure.ac: loosen FREAD_READS_DIRECTORIES test program

We added an FREAD_READS_DIRECTORIES Makefile knob long ago
in cba22528f (Add compat/fopen.c which returns NULL on
attempt to open directory, 2008-02-08) to handle systems
where reading from a directory returned garbage. This works
by catching the problem at the fopen() stage and returning
NULL.

More recently, we found that there is a class of systems
(including Linux) where fopen() succeeds but fread() fails.
Since the solution is the same (having fopen return NULL),
they use the same Makefile knob as of e2d90fd1c
(config.mak.uname: set FREAD_READS_DIRECTORIES for Linux and
FreeBSD, 2017-05-03).

This works fine except for one thing: the autoconf test in
configure.ac to set FREAD_READS_DIRECTORIES actually checks
whether fread succeeds. Which means that on Linux systems,
the knob isn't set (and we even override the config.mak.uname
default). t1308 catches the failure.

We can fix this by tweaking the autoconf test to cover both
cases. In theory we might care about the distinction between
the traditional "fread reads directories" case and the new
"fopen opens directories". But since our solution catches
the problem at the fopen stage either way, we don't actually
need to know the difference. The "fopen" case is a superset.

This does mean the FREAD_READS_DIRECTORIES name is slightly
misleading. Probably FOPEN_OPENS_DIRECTORIES would be more
accurate. But it would be disruptive to simply change the
name (people's existing build configs would fail), and it's
not worth the complexity of handling both. Let's just add a
comment in the knob description.

Reported-by: Øyvind A. Holm <sunny@sunbase.org>
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agogit-svn: document special options for commit-diff
Andreas Heiduk [Wed, 14 Jun 2017 09:31:38 +0000 (11:31 +0200)]
git-svn: document special options for commit-diff

Some options specific for `git svn commit-diff` where not documented
so far.

Signed-off-by: Andreas Heiduk <asheiduk@gmail.com>
Signed-off-by: Eric Wong <e@80x24.org>
7 years agoSync with maint
Junio C Hamano [Tue, 13 Jun 2017 20:52:53 +0000 (13:52 -0700)]
Sync with maint

7 years agoEighth batch for 2.14
Junio C Hamano [Tue, 13 Jun 2017 20:52:29 +0000 (13:52 -0700)]
Eighth batch for 2.14

Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agoMerge branch 'jk/pack-idx-corruption-safety'
Junio C Hamano [Tue, 13 Jun 2017 20:47:10 +0000 (13:47 -0700)]
Merge branch 'jk/pack-idx-corruption-safety'

A flaky test has been corrected.

* jk/pack-idx-corruption-safety:
  t5313: make extended-table test more deterministic

7 years agoMerge branch 'nd/fopen-errors'
Junio C Hamano [Tue, 13 Jun 2017 20:47:09 +0000 (13:47 -0700)]
Merge branch 'nd/fopen-errors'

We often try to open a file for reading whose existence is
optional, and silently ignore errors from open/fopen; report such
errors if they are not due to missing files.

* nd/fopen-errors:
  mingw_fopen: report ENOENT for invalid file names
  mingw: verify that paths are not mistaken for remote nicknames
  log: fix memory leak in open_next_file()
  rerere.c: move error_errno() closer to the source system call
  print errno when reporting a system call error
  wrapper.c: make warn_on_inaccessible() static
  wrapper.c: add and use fopen_or_warn()
  wrapper.c: add and use warn_on_fopen_errors()
  config.mak.uname: set FREAD_READS_DIRECTORIES for Darwin, too
  config.mak.uname: set FREAD_READS_DIRECTORIES for Linux and FreeBSD
  clone: use xfopen() instead of fopen()
  use xfopen() in more places
  git_fopen: fix a sparse 'not declared' warning

7 years agoMerge branch 'rf/completion'
Junio C Hamano [Tue, 13 Jun 2017 20:47:09 +0000 (13:47 -0700)]
Merge branch 'rf/completion'

Completion updates.

* rf/completion:
  completion: add git config credentialCache.ignoreSIGHUP
  completion: add git config credential completions
  completion: add git config advice completions
  completion: add git config am.threeWay completion
  completion: add git config core completions
  completion: add git config gc completions

7 years agoMerge branch 'jc/diff-tree-stale-comment'
Junio C Hamano [Tue, 13 Jun 2017 20:47:08 +0000 (13:47 -0700)]
Merge branch 'jc/diff-tree-stale-comment'

Comment fix.

* jc/diff-tree-stale-comment:
  diff-tree: update stale in-code comments

7 years agoMerge branch 'sb/submodule-blanket-recursive'
Junio C Hamano [Tue, 13 Jun 2017 20:47:07 +0000 (13:47 -0700)]
Merge branch 'sb/submodule-blanket-recursive'

Many commands learned to pay attention to submodule.recurse
configuration.

* sb/submodule-blanket-recursive:
  builtin/fetch.c: respect 'submodule.recurse' option
  builtin/push.c: respect 'submodule.recurse' option
  builtin/grep.c: respect 'submodule.recurse' option
  Introduce 'submodule.recurse' option for worktree manipulators
  submodule loading: separate code path for .gitmodules and config overlay
  reset/checkout/read-tree: unify config callback for submodule recursion
  submodule test invocation: only pass additional arguments
  submodule recursing: do not write a config variable twice

7 years agoMerge branch 'jc/noent-notdir'
Junio C Hamano [Tue, 13 Jun 2017 20:47:06 +0000 (13:47 -0700)]
Merge branch 'jc/noent-notdir'

Our code often opens a path to an optional file, to work on its
contents when we can successfully open it.  We can ignore a failure
to open if such an optional file does not exist, but we do want to
report a failure in opening for other reasons (e.g. we got an I/O
error, or the file is there, but we lack the permission to open).

The exact errors we need to ignore are ENOENT (obviously) and
ENOTDIR (less obvious).  Instead of repeating comparison of errno
with these two constants, introduce a helper function to do so.

* jc/noent-notdir:
  treewide: use is_missing_file_error() where ENOENT and ENOTDIR are checked
  compat-util: is_missing_file_error()

7 years agoPrepare for 2.13.2
Junio C Hamano [Tue, 13 Jun 2017 20:30:16 +0000 (13:30 -0700)]
Prepare for 2.13.2

Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agoMerge branch 'ad/pull-remote-doc' into maint
Junio C Hamano [Tue, 13 Jun 2017 20:27:06 +0000 (13:27 -0700)]
Merge branch 'ad/pull-remote-doc' into maint

Docfix.

* ad/pull-remote-doc:
  docs: fix formatting and grammar

7 years agoMerge branch 'jk/drop-free-refspecs' into maint
Junio C Hamano [Tue, 13 Jun 2017 20:27:06 +0000 (13:27 -0700)]
Merge branch 'jk/drop-free-refspecs' into maint

Code clean-up.

* jk/drop-free-refspecs:
  remote: drop free_refspecs() function

7 years agoMerge branch 'jk/connect-symref-info-leak-fix' into maint
Junio C Hamano [Tue, 13 Jun 2017 20:27:05 +0000 (13:27 -0700)]
Merge branch 'jk/connect-symref-info-leak-fix' into maint

Leakfix.

* jk/connect-symref-info-leak-fix:
  connect.c: fix leak in parse_one_symref_info()

7 years agoMerge branch 'rf/completion-config-commit' into maint
Junio C Hamano [Tue, 13 Jun 2017 20:27:05 +0000 (13:27 -0700)]
Merge branch 'rf/completion-config-commit' into maint

Completion update.

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

7 years agoMerge branch 'ab/t3070-test-dedup' into maint
Junio C Hamano [Tue, 13 Jun 2017 20:27:04 +0000 (13:27 -0700)]
Merge branch 'ab/t3070-test-dedup' into maint

Test cleanup.

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

7 years agoMerge branch 'jh/memihash-opt' into maint
Junio C Hamano [Tue, 13 Jun 2017 20:27:03 +0000 (13:27 -0700)]
Merge branch 'jh/memihash-opt' into maint

perf-test update.

* jh/memihash-opt:
  p0004: don't error out if test repo is too small
  p0004: don't abort if multi-threaded is too slow
  p0004: use test_perf
  p0004: avoid using pipes
  p0004: simplify calls of test-lazy-init-name-hash

7 years agoMerge branch 'tb/pull-ff-rebase-autostash' into maint
Junio C Hamano [Tue, 13 Jun 2017 20:27:03 +0000 (13:27 -0700)]
Merge branch 'tb/pull-ff-rebase-autostash' into maint

"git pull --rebase --autostash" didn't auto-stash when the local history
fast-forwards to the upstream.

* tb/pull-ff-rebase-autostash:
  pull: ff --rebase --autostash works in dirty repo

7 years agoMerge branch 'jh/close-index-before-stat' into maint
Junio C Hamano [Tue, 13 Jun 2017 20:27:02 +0000 (13:27 -0700)]
Merge branch 'jh/close-index-before-stat' into maint

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

7 years agoMerge branch 'sl/clean-d-ignored-fix' into maint
Junio C Hamano [Tue, 13 Jun 2017 20:27:01 +0000 (13:27 -0700)]
Merge branch 'sl/clean-d-ignored-fix' into maint

"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

7 years agoMerge branch 'dk/send-email-avoid-net-smtp-ssl-when-able' into maint
Junio C Hamano [Tue, 13 Jun 2017 20:27:01 +0000 (13:27 -0700)]
Merge branch 'dk/send-email-avoid-net-smtp-ssl-when-able' into maint

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
  send-email: Net::SMTP::SSL is obsolete, use only when necessary

7 years agoMerge branch 'jc/skip-test-in-the-middle' into maint
Junio C Hamano [Tue, 13 Jun 2017 20:27:00 +0000 (13:27 -0700)]
Merge branch 'jc/skip-test-in-the-middle' into maint

A recent update to t5545-push-options.sh started skipping all the
tests in the script when a web server testing is disabled or
unavailable, not just the ones that require a web server.  Non HTTP
tests have been salvaged to always run in this script.

* jc/skip-test-in-the-middle:
  t5545: enhance test coverage when no http server is installed
  test: allow skipping the remainder

7 years agoMerge branch 'bw/forking-and-threading' into maint
Junio C Hamano [Tue, 13 Jun 2017 20:26:59 +0000 (13:26 -0700)]
Merge branch 'bw/forking-and-threading' into maint

The "run-command" API implementation has been made more robust
against dead-locking in a threaded environment.

* bw/forking-and-threading:
  usage.c: drop set_error_handle()
  run-command: restrict PATH search to executable files
  run-command: expose is_executable function
  run-command: block signals between fork and execve
  run-command: add note about forking and threading
  run-command: handle dup2 and close errors in child
  run-command: eliminate calls to error handling functions in child
  run-command: don't die in child when duping /dev/null
  run-command: prepare child environment before forking
  string-list: add string_list_remove function
  run-command: use the async-signal-safe execv instead of execvp
  run-command: prepare command before forking
  t0061: run_command executes scripts without a #! line
  t5550: use write_script to generate post-update hook

7 years agoMerge branch 'jk/bug-to-abort' into maint
Junio C Hamano [Tue, 13 Jun 2017 20:26:59 +0000 (13:26 -0700)]
Merge branch 'jk/bug-to-abort' into maint

Introduce the BUG() macro to improve die("BUG: ...").

* jk/bug-to-abort:
  usage: add NORETURN to BUG() function definitions
  config: complain about --local outside of a git repo
  setup_git_env: convert die("BUG") to BUG()
  usage.c: add BUG() function

7 years agoMerge branch 'sb/checkout-recurse-submodules' into maint
Junio C Hamano [Tue, 13 Jun 2017 20:26:59 +0000 (13:26 -0700)]
Merge branch 'sb/checkout-recurse-submodules' into maint

"git checkout --recurse-submodules" did not quite work with a
submodule that itself has submodules.

* sb/checkout-recurse-submodules:
  submodule: properly recurse for read-tree and checkout
  submodule: avoid auto-discovery in new working tree manipulator code
  submodule_move_head: reuse child_process structure for futher commands

7 years agoMerge branch 'master' of git://bogomips.org/git-svn
Junio C Hamano [Sat, 10 Jun 2017 05:29:26 +0000 (14:29 +0900)]
Merge branch 'master' of git://bogomips.org/git-svn

* 'master' of git://bogomips.org/git-svn:
  doc: describe git svn init --ignore-refs

7 years agot4005: modernize style and drop hard coded sha1
Stefan Beller [Wed, 7 Jun 2017 02:18:05 +0000 (19:18 -0700)]
t4005: modernize style and drop hard coded sha1

Use modern style in the test t4005. Remove hard coded sha1 values.
Combine test prep work and the actual test. Rename the first
test to contain the word "setup".

Signed-off-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agodoc: describe git svn init --ignore-refs
Andreas Heiduk [Wed, 7 Jun 2017 18:32:14 +0000 (20:32 +0200)]
doc: describe git svn init --ignore-refs

Add the missing documentation for `git svn init --ignore-refs`.

Signed-off-by: Andreas Heiduk <asheiduk@gmail.com>
Signed-off-by: Eric Wong <e@80x24.org>
7 years agoSync with maint
Junio C Hamano [Wed, 7 Jun 2017 00:32:04 +0000 (09:32 +0900)]
Sync with maint

* maint:
  sha1dc: update from upstream
  sha1dc: ignore indent-with-non-tab whitespace violations

7 years agoMerge branch 'ab/sha1dc-maint' into maint
Junio C Hamano [Wed, 7 Jun 2017 00:31:53 +0000 (09:31 +0900)]
Merge branch 'ab/sha1dc-maint' into maint

* ab/sha1dc-maint:
  sha1dc: update from upstream
  sha1dc: ignore indent-with-non-tab whitespace violations

7 years agosha1dc: update from upstream
Ævar Arnfjörð Bjarmason [Tue, 6 Jun 2017 15:12:29 +0000 (15:12 +0000)]
sha1dc: update from upstream

Update sha1dc from the latest version by the upstream
maintainer[1].

See commit a0103914c2 ("sha1dc: update from upstream", 2017-05-20) for
the latest update. That update was done sans some whitespace changes
by upstream, which is why the diff here isn't the same as the upstream
cc46554..e139984.

It also brings in a change[2] upstream made which should hopefully
address the breakage in 2.13.1 on Cygwin, see [3]. Cygwin defines both
_BIG_ENDIAN and _LITTLE_ENDIAN.

Adam Dinwoodie reports on the mailing list that that upstream commit
fixes the issue on Cygwin[4].

1. https://github.com/cr-marcstevens/sha1collisiondetection/commit/e1399840b501a68ac6c8d7ed9a5cb1455480200e
2. https://github.com/cr-marcstevens/sha1collisiondetection/commit/a24eef58c0684078405f8c7a89f9b78271432005
3. <20170606100355.GC25777@dinwoodie.org> (https://public-inbox.org/git/20170606100355.GC25777@dinwoodie.org/)
4. <20170606124323.GD25777@dinwoodie.org> (https://public-inbox.org/git/20170606124323.GD25777@dinwoodie.org/)

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agosha1dc: ignore indent-with-non-tab whitespace violations
Jeff King [Tue, 6 Jun 2017 19:01:11 +0000 (15:01 -0400)]
sha1dc: ignore indent-with-non-tab whitespace violations

The upstream sha1dc code indents some lines with spaces.
While this doesn't match Git's coding guidelines, it's better
to leave this imported code untouched than to try to make it
match our style. However, we can use .gitattributes to tell
"diff --check" and "git am" not to bother us about it.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agot5313: make extended-table test more deterministic
Jeff King [Mon, 5 Jun 2017 19:15:25 +0000 (15:15 -0400)]
t5313: make extended-table test more deterministic

Commit a1283866b (t5313: test bounds-checks of
corrupted/malicious pack/idx files, 2016-02-25) added a test
that requires our corrupted pack index to have two objects.
The entry for the first one remains untouched, but we
corrupt the entry for second one. Since the index stores the
entries in sha1-sorted order, this means that the test must
make sure that the sha1 of the object we expect to be
corrupted ("$object") sorts after the other placeholder
object.

That commit used the HEAD commit as the placeholder, but the
script never calls test_tick. That means that the commit
object (and thus its sha1) depends on the timestamp when the
test script is run. This usually works in practice, because
the sha1 of $object starts with "fff". The commit object
will sort after that only 1 in 4096 times, but when it does
the test will fail.

One obvious solution is to add the test_tick call to get a
deterministic commit sha1. But since we're relying on the
sort order for the test to function, let's make that very
explicit by just generating a second blob with a known sha1.

Reported-by: Lars Schneider <larsxschneider@gmail.com>
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agot0012: test "-h" with builtins
Jeff King [Tue, 30 May 2017 05:19:30 +0000 (01:19 -0400)]
t0012: test "-h" with builtins

Since commit 99caeed05 (Let 'git <command> -h' show usage
without a git dir, 2009-11-09), the git wrapper handles "-h"
specially, skipping any repository setup but still calling
the builtin's cmd_foo() function. This means that every
cmd_foo() must be ready to handle this case, but we don't
have any systematic tests. This led to "git am -h" being
broken for some time without anybody noticing.

This patch just tests that "git foo -h" works for every
builtin, where we see a 129 exit code (the normal code for
our usage() helper), and that the word "usage" appears in
the output.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agogit: add hidden --list-builtins option
Jeff King [Tue, 30 May 2017 05:18:43 +0000 (01:18 -0400)]
git: add hidden --list-builtins option

It can be useful in the test suite to be able to iterate
over the list of builtins. We could do this with some
Makefile magic. But since the authoritative list is in the
commands array inside git.c, and since this could also be
handy for debugging, let's add a hidden command-line option
to dump that list.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agoversion: convert to parse-options
Jeff King [Tue, 30 May 2017 05:17:42 +0000 (01:17 -0400)]
version: convert to parse-options

The "git version" command didn't traditionally accept any
options, and in fact ignores any you give it. When we added
simple option parsing for "--build-options" in 6b9c38e14, we
didn't improve this; we just loop over the arguments and
pick out the one we recognize.

Instead, let's move to a real parsing loop, complain about
nonsense options, and recognize conventions like "-h".

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agodiff- and log- family: handle "git cmd -h" early
Junio C Hamano [Thu, 1 Jun 2017 04:38:16 +0000 (13:38 +0900)]
diff- and log- family: handle "git cmd -h" early

"git $builtin -h" bypasses the usual repository setup and calls the
cmd_$builtin() function, expecting it to show the help text.

Unfortunately the commands in the log- and the diff- family want to
call into the revisions machinery, which by definition needs to have
a repository already discovered.  Strictly speaking, they may not
need a repository only for parsing "-h", but it is a good discipline
to future-proof codepath to ensure that setup_revisions() is called
after we know that a repository is there.

Handle the "git $builtin -h" special case very early in these
commands to work around potential issues.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agodiff: rename diff_fill_sha1_info to diff_fill_oid_info
Brandon Williams [Tue, 30 May 2017 17:31:09 +0000 (10:31 -0700)]
diff: rename diff_fill_sha1_info to diff_fill_oid_info

Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agodiffcore-rename: use is_empty_blob_oid
Brandon Williams [Tue, 30 May 2017 17:31:08 +0000 (10:31 -0700)]
diffcore-rename: use is_empty_blob_oid

Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agotree-diff: convert path_appendnew to object_id
Brandon Williams [Tue, 30 May 2017 17:31:07 +0000 (10:31 -0700)]
tree-diff: convert path_appendnew to object_id

Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agotree-diff: convert diff_tree_paths to struct object_id
Brandon Williams [Tue, 30 May 2017 17:31:06 +0000 (10:31 -0700)]
tree-diff: convert diff_tree_paths to struct object_id

Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agotree-diff: convert try_to_follow_renames to struct object_id
Brandon Williams [Tue, 30 May 2017 17:31:05 +0000 (10:31 -0700)]
tree-diff: convert try_to_follow_renames to struct object_id

Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agobuiltin/diff-tree: cleanup references to sha1
Brandon Williams [Tue, 30 May 2017 17:31:04 +0000 (10:31 -0700)]
builtin/diff-tree: cleanup references to sha1

Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agodiff-tree: convert diff_tree_sha1 to struct object_id
Brandon Williams [Tue, 30 May 2017 17:31:03 +0000 (10:31 -0700)]
diff-tree: convert diff_tree_sha1 to struct object_id

Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agonotes-merge: convert write_note_to_worktree to struct object_id
Brandon Williams [Tue, 30 May 2017 17:31:02 +0000 (10:31 -0700)]
notes-merge: convert write_note_to_worktree to struct object_id

Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agonotes-merge: convert verify_notes_filepair to struct object_id
Brandon Williams [Tue, 30 May 2017 17:31:01 +0000 (10:31 -0700)]
notes-merge: convert verify_notes_filepair to struct object_id

Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agonotes-merge: convert find_notes_merge_pair_ps to struct object_id
Brandon Williams [Tue, 30 May 2017 17:31:00 +0000 (10:31 -0700)]
notes-merge: convert find_notes_merge_pair_ps to struct object_id

Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agonotes-merge: convert merge_from_diffs to struct object_id
Brandon Williams [Tue, 30 May 2017 17:30:59 +0000 (10:30 -0700)]
notes-merge: convert merge_from_diffs to struct object_id

Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agonotes-merge: convert notes_merge* to struct object_id
Brandon Williams [Tue, 30 May 2017 17:30:58 +0000 (10:30 -0700)]
notes-merge: convert notes_merge* to struct object_id

Convert notes_merge and notes_merge_commit to use struct object_id.

Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agoperf: work around the tested repo having an index.lock
Ævar Arnfjörð Bjarmason [Fri, 2 Jun 2017 10:33:30 +0000 (10:33 +0000)]
perf: work around the tested repo having an index.lock

When the tested repo has an index.lock file it should be removed. This
file may be present if e.g. git-status previously crashed in that
repo, and it will make a lot of git commands fail. Let's try harder
and remove the lock.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agoSync with v2.13.1
Junio C Hamano [Mon, 5 Jun 2017 00:33:16 +0000 (09:33 +0900)]
Sync with v2.13.1

7 years agoSeventh batch for 2.14
Junio C Hamano [Mon, 5 Jun 2017 00:32:25 +0000 (09:32 +0900)]
Seventh batch for 2.14

Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agoMerge branch 'ad/pull-remote-doc'
Junio C Hamano [Mon, 5 Jun 2017 00:18:13 +0000 (09:18 +0900)]
Merge branch 'ad/pull-remote-doc'

Docfix.

* ad/pull-remote-doc:
  docs: fix formatting and grammar

7 years agoMerge branch 'tb/pull-ff-rebase-autostash'
Junio C Hamano [Mon, 5 Jun 2017 00:18:13 +0000 (09:18 +0900)]
Merge branch 'tb/pull-ff-rebase-autostash'

"git pull --rebase --autostash" didn't auto-stash when the local history
fast-forwards to the upstream.

* tb/pull-ff-rebase-autostash:
  pull: ff --rebase --autostash works in dirty repo

7 years agoMerge branch 'jk/drop-free-refspecs'
Junio C Hamano [Mon, 5 Jun 2017 00:18:13 +0000 (09:18 +0900)]
Merge branch 'jk/drop-free-refspecs'

Code clean-up.

* jk/drop-free-refspecs:
  remote: drop free_refspecs() function

7 years agoMerge branch 'jk/connect-symref-info-leak-fix'
Junio C Hamano [Mon, 5 Jun 2017 00:18:12 +0000 (09:18 +0900)]
Merge branch 'jk/connect-symref-info-leak-fix'

Leakfix.

* jk/connect-symref-info-leak-fix:
  connect.c: fix leak in parse_one_symref_info()

7 years agoMerge branch 'js/blame-lib'
Junio C Hamano [Mon, 5 Jun 2017 00:18:11 +0000 (09:18 +0900)]
Merge branch 'js/blame-lib'

The internal logic used in "git blame" has been libified to make it
easier to use by cgit.

* js/blame-lib: (29 commits)
  blame: move entry prepend to libgit
  blame: move scoreboard setup to libgit
  blame: move scoreboard-related methods to libgit
  blame: move fake-commit-related methods to libgit
  blame: move origin-related methods to libgit
  blame: move core structures to header
  blame: create entry prepend function
  blame: create scoreboard setup function
  blame: create scoreboard init function
  blame: rework methods that determine 'final' commit
  blame: wrap blame_sort and compare_blame_final
  blame: move progress updates to a scoreboard callback
  blame: make sanity_check use a callback in scoreboard
  blame: move no_whole_file_rename flag to scoreboard
  blame: move xdl_opts flags to scoreboard
  blame: move show_root flag to scoreboard
  blame: move reverse flag to scoreboard
  blame: move contents_from to scoreboard
  blame: move copy/move thresholds to scoreboard
  blame: move stat counters to scoreboard
  ...

7 years agoMerge 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
  ...

7 years agoMerge 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

7 years agoMerge 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

7 years agoGit 2.13.1 v2.13.1
Junio 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>
7 years agoMerge branch 'ah/doc-rev-parse-short-default' into maint
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

7 years agoMerge branch 'ah/doc-filter-branch-export-env' into maint
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

7 years agoMerge branch 'sd/t3200-typofix' into maint
Junio 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

7 years agoMerge branch 'sb/t5531-update-desc' into maint
Junio 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

7 years agoMerge branch 'ah/doc-pretty-format-fix' into maint
Junio 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

7 years agoMerge branch 'ah/doc-interpret-trailers-ifexists' into maint
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

7 years agoMerge branch 'ab/ref-filter-no-contains' into maint
Junio 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

7 years agoMerge branch 'sg/core-filemode-doc-typofix' into maint
Junio 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

7 years agoMerge branch 'tb/dedup-crlf-tests' into maint
Junio 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

7 years agoMerge branch 'jn/credential-doc-on-clear' into maint
Junio 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

7 years agoMerge branch 'jk/url-insteadof-config' into maint
Junio 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

7 years agoMerge branch 'jk/unbreak-am-h' into maint
Junio 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

7 years agoMerge branch 'ab/sha1dc-maint' into maint
Junio 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

7 years agoMerge branch 'js/bs-is-a-dir-sep-on-windows' into maint
Junio 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

7 years agoMerge branch 'jk/alternate-ref-optim' into maint
Junio 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

7 years agoMerge branch 'bm/interpret-trailers-cut-line-is-eom' into maint
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

7 years agoMerge branch 'kn/ref-filter-branch-list' into maint
Junio 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

7 years agoMerge branch 'rs/checkout-am-fix-unborn' into maint
Junio 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

7 years agoMerge branch 'jn/clone-add-empty-config-from-command-line' into maint
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

7 years agoMerge branch 'ab/c-translators-comment-style' into maint
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

7 years agoMerge branch 'ls/travis-doc-asciidoctor' into maint
Junio 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

7 years agoDocumentation/git-rm: correct submodule description
Stefan 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>
7 years agoSync with maint
Junio C Hamano [Sun, 4 Jun 2017 01:29:26 +0000 (10:29 +0900)]
Sync with maint

7 years agoPrepare for 2.13.1; more topics to follow
Junio 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>
7 years agoMerge branch 'tg/stash-push-fixup' into maint
Junio 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

7 years agoMerge branch 'km/log-showsignature-doc' into maint
Junio 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

7 years agoMerge branch 'jt/use-trailer-api-in-commands' into maint
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

7 years agoMerge branch 'jt/push-options-doc' into maint
Junio 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