Merge branch 'jc/remove-treesame-parent-in-simplify-merges' into jch

The --simplify-merges logic did not cull irrelevant parents from a
merge that is otherwise not interesting with respect to the paths
we are following.

This touches a fairly core part of the revision traversal
infrastructure; even though I think this change is correct, please
report immediately if you find any unintended side effect.

Will cook in 'next'.

* jc/remove-treesame-parent-in-simplify-merges:
  simplify-merges: drop merge from irrelevant side branch

Conflicts:
	revision.c
Merge branch 'dg/subtree-fixes' into jch

contrib/subtree updates, but here are only the ones that looked
ready to be merged to 'next'.  For the remainder, they will have
another day.

Will merge to 'master'.

* dg/subtree-fixes:
  contrib/subtree: make the manual directory if needed
  contrib/subtree: honor DESTDIR
  contrib/subtree: fix synopsis
  contrib/subtree: better error handling for 'subtree add'
  contrib/subtree: use %B for split subject/body
  contrib/subtree: remove test number comments
Merge branch 'jc/extended-fake-ancestor-for-gitlink' into jch

Instead of requiring the full 40-hex object names on the index
line, we can read submodule commit object names from the textual
diff when synthesizing a fake ancestore tree for "git am -3".

Will merge to 'master'.

* jc/extended-fake-ancestor-for-gitlink:
  apply: verify submodule commit object name better
Merge branch 'tz/perl-styles' into jch

Add coding guidelines for writing Perl scripts for Git.

Will merge to 'master'.

* tz/perl-styles:
  Update CodingGuidelines for Perl

Conflicts:
	Documentation/CodingGuidelines
Merge branch 'mg/bisect-doc' into jch

Will merge to 'next'.

* mg/bisect-doc:
  git-bisect.txt: clarify that reset quits bisect
Merge branch 'jx/utf8-printf-width' into jch

Use a new helper that prints a message and counts its display width
to align the help messages parse-options produces.

Will merge to 'next'.

* jx/utf8-printf-width:
  Add utf8_fprintf helper that returns correct number of columns
Merge branch 'jk/error-const-return' into jch

Will merge to 'next'.

* jk/error-const-return:
  Use __VA_ARGS__ for all of error's arguments

Conflicts:
	git-compat-util.h
Merge branch 'al/mergetool-printf-fix' into jch

Will merge to 'next'.

* al/mergetool-printf-fix:
  difftool--helper: fix printf usage
  git-mergetool: print filename when it contains %
Merge branch 'bw/get-tz-offset-perl' into jch

Will merge to 'next'.

* bw/get-tz-offset-perl:
  cvsimport: format commit timestamp ourselves without using strftime
  perl/Git.pm: fix get_tz_offset to properly handle DST boundary cases
  Move Git::SVN::get_tz to Git::get_tz_offset
Merge branch 'mm/remote-mediawiki-build' into jch

Will merge to 'next'.

* mm/remote-mediawiki-build:
  git-remote-mediawiki: use toplevel's Makefile
  Makefile: make script-related rules usable from subdirectories
Merge branch 'nd/status-show-in-progress' into jch

Will merge to 'next'.

* nd/status-show-in-progress:
  status: show the branch name if possible in in-progress info
### hold in next
Merge branch 'jc/push-2.0-default-to-simple' into jch

Will cook in 'next' until Git 2.0 ;-).

* jc/push-2.0-default-to-simple:
  t5570: do not assume the "matching" push is the default
  t5551: do not assume the "matching" push is the default
  t5550: do not assume the "matching" push is the default
  doc: push.default is no longer "matching"
  push: switch default from "matching" to "simple"
  t9401: do not assume the "matching" push is the default
  t9400: do not assume the "matching" push is the default
  t7406: do not assume the "matching" push is the default
  t5531: do not assume the "matching" push is the default
  t5519: do not assume the "matching" push is the default
  t5517: do not assume the "matching" push is the default
  t5516: do not assume the "matching" push is the default
  t5505: do not assume the "matching" push is the default
  t5404: do not assume the "matching" push is the default

Conflicts:
	builtin/push.c
Merge branch 'jc/remove-export-from-config-mak-in' into jch

config.mak.in template had an "export" line to cause a few
common makefile variables to be exported; if they need to be
expoted for autoconf/configure users, they should also be exported
for people who write config.mak the same way.  Move the "export" to
the main Makefile.

* jc/remove-export-from-config-mak-in:
  config.mak.in: remove unused definitions

Conflicts:
	config.mak.in
### match next
Merge branch 'jc/hidden-refs' into jch

Allow the server side to redact the refs/ namespace it shows to the
client.

Will merge to 'next'.

* jc/hidden-refs:
  upload/receive-pack: allow hiding ref hierarchies
  upload-pack: simplify request validation
  upload-pack: share more code

Conflicts:
	builtin/receive-pack.c
Merge branch 'jc/fetch-raw-sha1' into jch

Allows requests to fetch objects at any tip of refs (including
hidden ones).  It seems that there may be use cases even outside
Gerrit (e.g. $gmane/215701).

* jc/fetch-raw-sha1:
  fetch: fetch objects by their exact SHA-1 object names
  upload-pack: optionally allow fetching from the tips of hidden refs
  fetch: use struct ref to represent refs to be fetched
  parse_fetch_refspec(): clarify the codeflow a bit

Conflicts:
	cache.h
Merge branch 'nd/count-garbage' into jch

Expecting a reroll.
$gmane/215843

* nd/count-garbage:
  count-objects: report how much disk space taken by garbage files
  count-objects: report garbage files in pack directory too
  git-count-objects.txt: describe each line in -v output
Merge branch 'jk/diff-graph-cleanup' into jch

Refactors a lot of repetitive code sequence from the graph drawing
code and adds it to the combined diff output.

The logic behind the fixup needs to be a bit better explained.

* jk/diff-graph-cleanup:
  combine-diff.c: teach combined diffs about line prefix
  diff.c: use diff_line_prefix() where applicable
  diff: add diff_line_prefix function
  diff.c: make constant string arguments const
  diff: write prefix to the correct file
  [IFFY] graph_show_commit(): simplify loop termination condition.
  graph: output padding for merge subsequent parents

Conflicts:
	combine-diff.c
Merge branch 'tz/credential-authinfo' into jch

A new read-only credential helper (in contrib/) to interact with
the .netrc/.authinfo files.  Hopefully mn/send-email-authinfo topic
can rebuild on top of something like this.

Expecting a reroll.
$gmane/215556

* tz/credential-authinfo:
  Add contrib/credentials/netrc with GPG support