Merge branch 'hv/submodule-recurse-push' into jch

By Heiko Voigt
* hv/submodule-recurse-push:
  push: teach --recurse-submodules the on-demand option
  Refactor submodule push check to use string list instead of integer
  Teach revision walking machinery to walk multiple times sequencially

Conflicts:
	transport.h
Merge branch 'mh/ref-api' into jch

Allows walking only a sub-hierarchy in refs/*.

By Michael Haggerty
* mh/ref-api:
  do_for_each_ref(): only iterate over the subtree that was requested
  refs: store references hierarchically
  sort_ref_dir(): simplify logic
  refs.c: rename ref_array -> ref_dir
  struct ref_entry: nest the value part in a union
  check_refname_component(): return 0 for zero-length components
  free_ref_entry(): new function
  names_conflict(): simplify implementation
  repack_without_ref(): reimplement using do_for_each_ref_in_array()
  do_for_each_ref_in_arrays(): new function
  do_for_each_ref_in_array(): new function
  refs: manage current_ref within do_one_ref()
  refs.c: reorder definitions more logically
Merge branch 'pw/fast-import-dataref-parsing' into jch

By Pete Wyckoff
* pw/fast-import-dataref-parsing:
  fast-import: tighten parsing of datarefs
Merge branch 'it/fetch-pack-many-refs' into jch

By Ivan Todoroski
* it/fetch-pack-many-refs:
  remote-curl: main test case for the OS command line overflow
  fetch-pack: test cases for the new --stdin option
  remote-curl: send the refs to fetch-pack on stdin
  fetch-pack: new --stdin option to read refs from stdin

Conflicts:
	t/t5500-fetch-pack.sh
Merge branch 'mk/gitweb-diff-hl' into jch

By Michał Kiedrowicz (7) and Jakub Narębski (1)
* mk/gitweb-diff-hl:
  gitweb: Refinement highlightning in combined diffs
  gitweb: Highlight interesting parts of diff
  gitweb: Push formatting diff lines to print_diff_chunk()
  gitweb: Use print_diff_chunk() for both side-by-side and inline diffs
  gitweb: Extract print_sidebyside_diff_lines()
  gitweb: Pass esc_html_hl_regions() options to esc_html()
  gitweb: esc_html_hl_regions(): Don't create empty <span> elements
  gitweb: Use descriptive names in esc_html_hl_regions()
Merge branch 'zj/upstream-error-message' into jch

By Zbigniew Jędrzejewski-Szmek
* zj/upstream-error-message:
  i18n: mark @{upstream} error messages for translation
  Be more specific if upstream branch is not tracked
  Provide better message for barnhc_wiht_tpyo@{u}
  Provide branch name in error message when using @{u}
  t1507: add tests to document @{upstream} behaviour
Merge branch 'jm/maint-strncpy-diff-no-index' into jch

By Jim Meyering
* jm/maint-strncpy-diff-no-index:
  diff: avoid stack-buffer-read-overrun for very long name
Merge branch 'mb/fetch-call-a-non-branch-a-ref' into jch

By Marc Branchaud
* mb/fetch-call-a-non-branch-a-ref:
  fetch: describe new refs based on where it came from
  fetch: Give remote_ref to update_local_ref() as well

Conflicts:
	builtin/fetch.c
Merge branch 'ld/git-p4-tags-and-labels' into jch

A review from Pete Wyckoff needs to be addressed.
Message-ID: <20120418113422.GB19994@padd.com>

By Luke Diamand
* ld/git-p4-tags-and-labels:
  git p4: import/export of labels to/from p4
  git p4: Fixing script editor checks
Merge branch 'jk/repack-no-explode-objects-from-old-pack' into jch

By Jeff King
* jk/repack-no-explode-objects-from-old-pack:
  gc: use argv-array for sub-commands
  argv-array: add a new "pushl" method
  argv-array: refactor empty_argv initialization
  gc: do not explode objects which will be immediately pruned
Merge branch 'jc/index-v4' into jch

Trivially shrinks the on-disk size of the index file to save both I/O and
checksum overhead.  The "v4" format represented here may not be what we
eventually want to have, but the preparatory refactoring steps and the way
how backward compatibility is retained should give plenty to learn to GSoC
student-hopefuls.

The bottom one makes use of "varint" encoding from the stalled
jc/split-blob topic.

* jc/index-v4:
  update-index: upgrade/downgrade on-disk index version
  read-cache.c: write prefix-compressed names in the index
  read-cache.c: read prefix-compressed names in index on-disk version v4
  read-cache.c: move code to copy incore to ondisk cache to a helper function
  read-cache.c: move code to copy ondisk to incore cache to a helper function
  read-cache.c: report the header version we do not understand
  read-cache.c: make create_from_disk() report number of bytes it consumed
  read-cache.c: allow unaligned mapping of the index file
  cache.h: hide on-disk index details
  varint: make it available outside the context of pack
Merge branch 'cc/fix-missing-va-end-in-revert' into jch

By Christian Couder
* cc/fix-missing-va-end-in-revert:
  revert: add missing va_end
Merge branch 'cb/cherry-pick-rev-path-confusion' into jch

The command line parser choked "git cherry-pick $name" when $name can be
both revision name and a pathname, even though $name can never be a path
in the context of the command.

The issue the patch addresses is real, but the way it is implemented felt
unnecessarily invasive a bit.  It may be cleaner for this caller to add
the "--" to the end of the argv_array it passes to setup_revisions().

By Clemens Buchacher
* cb/cherry-pick-rev-path-confusion:
  cherry-pick: do not expect file arguments
Merge branch 'jc/merge-reduce-parents-early' into jch

By Junio C Hamano (4) and Michał Kiedrowicz (1)
* jc/merge-reduce-parents-early:
  fmt-merge-msg: discard needless merge parents
  builtin/merge.c: reduce parents early
  builtin/merge.c: collect other parents early
  builtin/merge.c: remove "remoteheads" global variable
  merge tests: octopus with redundant parents

Conflicts:
	t/t7602-merge-octopus-many.sh
Merge branch 'rl/maint-stash-i18n-save-error' into jch

Will merge to 'next'.

By Ross Lagerwall
* rl/maint-stash-i18n-save-error:
  stash: use eval_gettextln correctly
Merge branch 'cb/http-multi-curl-auth' into jch

Fixes http authentication breakage when we keep multiple HTTP requests in
flight using curl-multi.

Will merge to 'next'.

By Jeff King (3) and Clemens Buchacher (1)
* cb/http-multi-curl-auth:
  http: use newer curl options for setting credentials
  http: clean up leak in init_curl_http_auth
  fix http auth with multiple curl handles
  http auth fails with multiple curl handles
Merge branch 'cb/maint-report-mount-point-correctly-in-setup' into jch

The filesystem boundary was not correctly reported when .git directory
discovery stopped at a mount point.

Will merge to 'next'.

By Clemens Buchacher
* cb/maint-report-mount-point-correctly-in-setup:
  properly keep track of current working directory
Merge branch 'rt/cherry-revert-conflict-summary' into jch

In the older days, the header "Conflicts:" in "cherry-pick" and
"merge" was separated by a blank line from the list of paths that
follow for readability, but when "merge" was rewritten in C, we lost
it by mistake. Remove the newline from "cherry-pick" to make them
match again.

By Ralf Thielow
* rt/cherry-revert-conflict-summary:
  sequencer: remove additional blank line
Merge branch 'js/fast-import-test-9300' into jch

By Johannes Sixt
* js/fast-import-test-9300:
  t9300-fast-import: avoid 'exit' in test_expect_success snippets
Merge branch 'fc/completion-tests' into jch

By Felipe Contreras (4) and others
* fc/completion-tests:
  completion: fix completion after 'git --option <TAB>'
  completion: avoid trailing space for --exec-path
  completion: add missing general options
  completion: simplify by using $prev
  completion: simplify __gitcomp_1
  tests: add tests for the __gitcomp() completion helper function
  tests: add initial bash completion tests