SQUASH???

Signed-off-by: Junio C Hamano <gitster@pobox.com>
Merge branch 'rr/rebase-checkout-reflog' into pu

* rr/rebase-checkout-reflog:
  SQUASH???
  rebase -i: use a better reflog message
  rebase: use a better reflog message
  checkout: respect GIT_REFLOG_ACTION
  status: do not depend on rebase reflog messages
  t/t2021-checkout-last: "checkout -" should work after a rebase finishes
  wt-status: remove unused field in grab_1st_switch_cbdata
  t7512: test "detached from" as well
Merge branch 'mg/more-textconv' into pu

Make "git grep" and "git show" pay attention to --textconv when
dealing with blob objects.

I thought this was pretty well designed and executed, but it seems
there are some doubts on the list; kicking back to 'pu'.

* mg/more-textconv:
  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
  diff_opt: track whether flags have been set explicitly
  t4030: demonstrate behavior of show with textconv

# Conflicts:
# 	object.c
# 	object.h
# 	t/t8007-cat-file-textconv.sh
Merge branch 'jl/submodule-mv' into pu

"git mv A B" when moving a submodule A does "the right thing",
inclusing relocating its working tree and adjusting the paths in
the .gitmodules file.

* jl/submodule-mv:
  submodule.c: duplicate real_path's return value
  rm: delete .gitmodules entry of submodules removed from the work tree
  Teach mv to update the path entry in .gitmodules for moved submodules
  Teach mv to move submodules using a gitfile
  Teach mv to move submodules together with their work trees
Merge branch 'jk/submodule-subdirectory-ok' into pu

Allow various subcommands of "git submodule" to be run not from the
top of the working tree of the superproject.

* jk/submodule-subdirectory-ok:
  submodule: fix quoting in relative_path()
  submodule: drop the top-level requirement
  rev-parse: add --prefix option
Merge branch 'fc/sequencer-skip-quiet' into pu

The bottom three looked more or less reasonable.  Execution of
post-rewrite hook could use a better refactoring from the original
code copied from builtin/commit.c, though.

* fc/sequencer-skip-quiet:
  sequencer: run post-rewrite hook
  cherry-pick: store rewritten commits
  cherry-pick: add --skip-empty option
  sequencer: avoid leaking message buffer when refusing to create an empty commit
  sequencer: remove useless indentation
Merge branch 'tr/test-v-and-v-subtest-only' into pu

Allows N instances of tests run in parallel, each running 1/N parts
of the test suite under Valgrind, to speed things up.

The tip one may be useful in practice but is a tad ugly ;-)

There seem to be some miscounting by toggling the verbose/valgrind
mode at wrong places?  Cf. $gmane/225735

* tr/test-v-and-v-subtest-only:
  test-lib: support running tests under valgrind in parallel
  test-lib: allow prefixing a custom string before "ok N" etc.
  test-lib: valgrind for only tests matching a pattern
  test-lib: verbose mode for only tests matching a pattern
  test-lib: refactor $GIT_SKIP_TESTS matching
  test-lib: enable MALLOC_* for the actual tests
Merge branch 'jh/shorten-refname' into pu

When remotes/origin/HEAD is not a symbolic ref, "rev-parse
--abbrev-ref remotes/origin/HEAD" ought to show "origin", not
"origin/HEAD", which is fixed with this series (if it is a symbolic
ref that points at remotes/origin/something, then it should show
"origin/something" and it already does).

* 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 '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.

tying its loose ends.

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

# Conflicts:
# 	pretty.c
Merge branch 'hv/config-from-blob' into pu

$gmane/223964

* hv/config-from-blob:
  do not die when error in config parsing of buf occurs
  teach config --blob option to parse config from database
  config: make parsing stack struct independent from actual data source
  config: drop cf validity check in get_next_char()
  config: factor out config file stack management
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 'fc/contrib-related' into pu

* fc/contrib-related:
  contrib: related: print the amount of involvement
  contrib: related: parse committish like format-patch
  contrib: related: add option to parse from committish
  contrib: related: add support for multiple patches
  Add new git-related helper to contrib
Merge branch 'mh/multimail' into pu

$gmane/223564

* mh/multimail:
  git-multimail: a replacement for post-receive-email
Merge branch 'rr/triangle-push-fix' into pu

Tries to apply the 'push.default = upstream' semantics to
triangular workflow where it does not quite apply.

* rr/triangle-push-fix:
  t/push-default: test pushdefault with all modes
  t/push-default: generalize test_push_{success, commit}
  push: make upstream, simple work with pushdefault
  t/push-default: remove redundant test_config lines
Merge branch 'mh/ref-races' into pu

* mh/ref-races:
  refs: do not invalidate the packed-refs cache unnecessarily
  for_each_ref: load all loose refs before packed refs
  get_packed_ref_cache: reload packed-refs file when it changes
  add a stat_validity struct
  Extract a struct stat_data from cache_entry
  packed_ref_cache: increment refcount when locked
  do_for_each_entry(): increment the packed refs cache refcount
  refs: manage lifetime of packed refs cache via reference counting
  refs: implement simple transactions for the packed-refs file
  refs: wrap the packed refs cache in a level of indirection
  pack_refs(): split creation of packed refs and entry writing
  repack_without_ref(): split list curation and entry writing
Merge branch 'mm/rm-coalesce-errors' into pu

* mm/rm-coalesce-errors:
  rm: introduce advice.rmHints to shorten messages
  rm: better error message on failure for multiple files

# Conflicts:
# 	advice.c
# 	advice.h
Merge branch 'rr/rebase-sha1-by-string-query' into pu

* rr/rebase-sha1-by-string-query:
  rebase: use peel_committish() where appropriate
  sh-setup: add new peel_committish() helper
  t/rebase: add failing tests for a peculiar revision

# Conflicts:
# 	t/t3400-rebase.sh