Merge branch 'rs/empty-archive' into pu

* rs/empty-archive:
  t5004: resurrect original empty tar archive test
  t5004: avoid using tar for checking emptiness of archive
Merge branch 'fc/fast-export-persistent-marks' into pu

Optimization for fast-export by avoiding unnecessarily resolving
arbitrary object name and parsing object when only presence and
type information is necessary, etc.

* fc/fast-export-persistent-marks:
  fast-{import,export}: use get_sha1_hex() to read from marks file
  fast-export: don't parse commits while reading marks file
  fast-export: do not parse non-commit objects while reading marks file
Merge branch 'nd/clone-local-with-colon' into pu

* nd/clone-local-with-colon:
  clone: allow cloning local paths with colons in them
Merge branch 'jh/shorten-refname' into pu

* jh/shorten-refname:
  t1514: refname shortening is done after dereferencing symbolic refs
  shorten_unambiguous_ref(): Fix shortening refs/remotes/origin/HEAD to origin
  t1514: Demonstrate failure to correctly shorten "refs/remotes/origin/HEAD"
  t1514: Add tests of shortening refnames in strict/loose mode
Merge branch 'nd/warn-ambiguous-object-name' into pu

* nd/warn-ambiguous-object-name:
  get_sha1: improve ambiguity warning regarding SHA-1 and ref names
Merge branch 'fc/at-head' into pu

Instead of typing four capital letters "HEAD", you can say "@"
instead.

Comments?

* fc/at-head:
  sha1_name: compare variable with constant, not constant with variable
  Add new @ shortcut for HEAD
  sha1_name: refactor reinterpret()
  sha1_name: check @{-N} errors sooner
  sha1_name: reorganize get_sha1_basic()
  sha1_name: don't waste cycles in the @-parsing loop
  sha1_name: remove unnecessary braces
  sha1_name: remove no-op
  tests: at-combinations: @{N} versus HEAD@{N}
  tests: at-combinations: increase coverage
  tests: at-combinations: improve nonsense()
  tests: at-combinations: check ref names directly
  tests: at-combinations: simplify setup
Merge branch 'kb/full-history-compute-treesame-carefully' into pu

Major update to a very core part of the system to improve culling
of irrelevant parents while traversing a mergy history.

Will not be a 1.8.3 material, but is an important topic.

* kb/full-history-compute-treesame-carefully:
  revision.c: treat A...B merge bases as if manually specified
  revision.c: discount side branches when computing TREESAME
  simplify-merges: drop merge from irrelevant side branch
  simplify-merges: never remove all TREESAME parents
  t6012: update test for tweaked full-history traversal
  revision.c: Make --full-history consider more merges
  rev-list-options.txt: correct TREESAME for P
  t6111: allow checking the parents as well
  t6111: new TREESAME test set
  t6019: test file dropped in -s ours merge
  decorate.c: compact table when growing
Merge branch 'jk/gitweb-utf8' into pu

Various fixes to gitweb.

* jk/gitweb-utf8:
  gitweb: Fix broken blob action parameters on blob/commitdiff pages
  gitweb: Don't append ';js=(0|1)' to external links
  gitweb: Make feed title valid utf8
  gitweb: Fix utf8 encoding for blob_plain, blobdiff_plain, commitdiff_plain, and patch
Merge branch 'jc/format-patch' into pu

A new option to send a single patch to the standard output to be
appended at the bottom of a message.  I personally have no need for
this, but it was easy enough to cobble together.  Tests, docs and
stripping out more MIMEy stuff are left as exercises to interested
parties.

* jc/format-patch:
  format-patch: --inline-single
  format-patch: rename "no_inline" field

# Conflicts:
# 	pretty.c
Merge branch 'jk/commit-info-slab' into pu

Technology demonstration to show a way we could use unbound number
of flag bits on commit objects.

* jk/commit-info-slab:
  commit-slab: introduce a macro to define a slab for new type
  commit-slab: avoid large realloc
  commit: allow associating auxiliary info on-demand
Merge branch 'mg/more-textconv' into pu

Rerolled. I am not sure if I like "show <blob>" and "grep" that use
textconv by default, though.

* mg/more-textconv:
  git grep: honor textconv by default
  grep: honor --textconv for the case rev:path
  grep: allow to use textconv filters
  t7008: demonstrate behavior of grep with textconv
  cat-file: do not die on --textconv without textconv filters
  show: honor --textconv for blobs
  t4030: demonstrate behavior of show with textconv
Merge branch 'mh/multimail' into pu

$gmane/223564

* mh/multimail:
  git-multimail: a replacement for post-receive-email
Merge branch 'vv/help-unknown-ref' into pu

* vv/help-unknown-ref:
  merge: use help_unknown_ref()
  help: add help_unknown_ref()