Merge branch 'mh/multimail' into pu

* mh/multimail:
  git-multimail: a replacement for post-receive-email
Merge branch 'fc/at-head' into pu

People are too lazy to type four capital letters "HEAD" and want to
use a single line-noise "@" instead.

* fc/at-head:
  Add new @ shortcut for HEAD
  sha1_name: refactor reinterpret()
  sha1_name: compare variable with constant, not constant with variable
  sha1_name: remove unnecessary braces
  sha1_name: remove no-op
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.

* 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
### t3303, t9020 and t9300 are broken after this
Merge branch 'fc/fast-export-persistent-marks' into pu

* fc/fast-export-persistent-marks:
  fast-export: don't parse commits while reading marks file
  fast-export: do not parse non-commit objects while reading marks file
  fast-{import,export}: use get_sha1_hex() directly