Merge branch 'rv/send-email-cache-generated-mid' into pu

* rv/send-email-cache-generated-mid:
  git-send-email: Cache generated message-ids, use them when prompting
  git-send-email: add optional 'choices' parameter to the ask sub
Merge branch 'jk/gitweb-utf8' into pu

Various fixes to gitweb.

Drew Northup volunteered to take a look into this.
$gmane/226216

* 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:
# 	builtin/log.c
# 	log-tree.c
# 	pretty.c
Merge branch 'jc/show-branch' into pu

* jc/show-branch:
  show-branch: use commit slab to represent bitflags of arbitrary width
  show-branch.c: remove "all_mask"
  show-branch.c: abstract out "flags" operation
  show-branch.c: lift all_mask/all_revs to a global static
  show-branch.c: update comment style

# Conflicts:
# 	builtin/show-branch.c
Merge branch 'rj/read-default-config-in-show-ref-pack-refs' into pu

The changes themselves are probably good, but it is unclear what
basic setting needs to be read for which exact operation.

$gmane/228294

* rj/read-default-config-in-show-ref-pack-refs:
  ### DONTMERGE: needs better explanation on what config they need
  pack-refs.c: Add missing call to git_config()
  show-ref.c: Add missing call to git_config()
Merge branch 'tr/merge-recursive-index-only' into pu

Will hold until using script appears.

* tr/merge-recursive-index-only:
  merge-recursive: -Xindex-only to leave worktree unchanged
  merge-recursive: internal flag to avoid touching the worktree
  merge-recursive: remove dead conditional in update_stages()
Merge branch 'yt/shortened-rename' into pu

Attempts to give more weight on the fact that a filepair represents
a rename than showing substring of the actual path when diffstat
lines are not wide enough.

I am not sure if that is solving a right problem, though.

* yt/shortened-rename:
  SQUASH??? style fixes and s/omit/shorten/ where appropriate
  diff.c: keep arrow(=>) on show_stats()'s shortened filename part to make rename visible
Merge branch 'jk/pack-bitmap' into pu

Borrows the bitmap index into packfiles from JGit to speed up
enumeration of objects involved in a commit range without having to
fully traverse the history.

Still under discussion.

* jk/pack-bitmap:
  count-objects: recognize .bitmap in garbage-checking
  pack-bitmap: implement optional name_hash cache
  t: add basic bitmap functionality tests
  repack: consider bitmaps when performing repacks
  repack: handle optional files created by pack-objects
  repack: turn exts array into array-of-struct
  repack: stop using magic number for ARRAY_SIZE(exts)
  pack-objects: implement bitmap writing
  rev-list: add bitmap mode to speed up object lists
  pack-objects: use bitmaps when packing objects
  pack-bitmap: add support for bitmap indexes
  documentation: add documentation for the bitmap format
  ewah: compressed bitmap implementation
  compat: add endianness helpers
  sha1_file: export `git_open_noatime`
  revision: allow setting custom limiter function
  pack-objects: factor out name_hash
  pack-objects: refactor the packing list
  revindex: export new APIs
  sha1write: make buffer const-correct
Merge branch 'jt/commit-fixes-footer' into pu

There is an ongoing discussion around this topic; in general I am
fairly negative on a new feature that is too narrow and prefer a
more generic solution that can be tailored for specific needs, as
many people stated in the thread.

* jt/commit-fixes-footer:
  commit: Add -f, --fixes <commit> option to add Fixes: line
Merge branch 'cn/thin-push-capability' into pu

Peff had a good suggestion to control this by expressing what the
receiving end wants in a more direct way, namely to advertise a
'no-thin' trait in the capability list.

* cn/thin-push-capability:
  send-pack: only send a thin pack if the server supports it
  receive-pack: advertise thin-pack