Merge branch 'jk/clean-d-pathspec' into jch

"git clean -d pathspec" did not use the given pathspec correctly
and ended up cleaning too much.

* jk/clean-d-pathspec:
  clean: simplify dir/not-dir logic
  clean: respect pathspecs with "-d"
Merge branch 'jk/diff-filespec-cleanup' into jch

Portability fix to a topic already in v1.9

* jk/diff-filespec-cleanup:
  diffcore.h: be explicit about the signedness of is_binary
Merge branch 'nd/sha1-file-delta-stack-leakage-fix' into jch

Fix a small leak in the delta stack used when resolving a long
delta chain at runtime.

* nd/sha1-file-delta-stack-leakage-fix:
  sha1_file: fix delta_stack memory leak in unpack_entry
Merge branch 'tc/commit-dry-run-exit-status-tests' into jch

* tc/commit-dry-run-exit-status-tests:
  demonstrate git-commit --dry-run exit code behaviour
Merge branch 'fc/transport-helper-fixes' into jch

Updates transport-helper, fast-import and fast-export to allow the
ref mapping and ref deletion in a way similar to the natively
supported transports.

* fc/transport-helper-fixes:
  remote-bzr: support the new 'force' option
  test-hg.sh: tests are now expected to pass
  transport-helper.c: do not overwrite forced bit
  transport-helper: check for 'forced update' message
  transport-helper: add 'force' to 'export' helpers
  transport-helper: don't update refs in dry-run
  transport-helper: mismerge fix

# Conflicts:
# 	Documentation/gitremote-helpers.txt
Merge branch 'dd/find-graft-with-sha1-pos' into jch

Replace a hand-rolled binary search with a call to our generic
binary search helper function.

* dd/find-graft-with-sha1-pos:
  commit.c: use the generic "sha1_pos" function for lookup
Merge branch 'jk/shallow-update-fix' into jch

Serving objects from a shallow repository needs to write a
temporary file to be used, but the serving upload-pack may not have
write access to the repository which is meant to be read-only.

* jk/shallow-update-fix:
  shallow: automatically clean up shallow tempfiles
  shallow: use stat_validity to check for up-to-date file
Merge branch 'dd/use-alloc-grow' into jch

Replace open-coded reallocation with ALLOC_GROW() macro.

* dd/use-alloc-grow:
  sha1_file.c: use ALLOC_GROW() in pretend_sha1_file()
  read-cache.c: use ALLOC_GROW() in add_index_entry()
  builtin/mktree.c: use ALLOC_GROW() in append_to_tree()
  attr.c: use ALLOC_GROW() in handle_attr_line()
  dir.c: use ALLOC_GROW() in create_simplify()
  reflog-walk.c: use ALLOC_GROW()
  replace_object.c: use ALLOC_GROW() in register_replace_object()
  patch-ids.c: use ALLOC_GROW() in add_commit()
  diffcore-rename.c: use ALLOC_GROW()
  diff.c: use ALLOC_GROW()
  commit.c: use ALLOC_GROW() in register_commit_graft()
  cache-tree.c: use ALLOC_GROW() in find_subtree()
  bundle.c: use ALLOC_GROW() in add_to_ref_list()
  builtin/pack-objects.c: use ALLOC_GROW() in check_pbase_path()
Merge branch 'sh/finish-tmp-packfile' into jch

* sh/finish-tmp-packfile:
  finish_tmp_packfile():use strbuf for pathname construction
Merge branch 'jk/repack-pack-keep-objects' into jch

* jk/repack-pack-keep-objects:
  repack: add `repack.packKeptObjects` config var
Merge branch 'jk/detect-push-typo-early' into jch

Catch "git push $there no-such-branch" early.

* jk/detect-push-typo-early:
  push: detect local refspec errors early
  match_explicit_lhs: allow a "verify only" mode
  match_explicit: hoist refspec lhs checks into their own function
Merge branch 'jk/doc-deprecate-grafts' into jch

* jk/doc-deprecate-grafts:
  docs: mark info/grafts as outdated
Merge branch 'jn/branch-lift-unnecessary-name-length-limit' into jch

* jn/branch-lift-unnecessary-name-length-limit:
  branch.c: delete size check of newly tracked branch names
Merge branch 'mh/simplify-cache-tree-find' into jch

* mh/simplify-cache-tree-find:
  cache_tree_find(): use path variable when passing over slashes
  cache_tree_find(): remove early return
  cache_tree_find(): remove redundant check
  cache_tree_find(): fix comment formatting
  cache_tree_find(): find the end of path component using strchrnul()
  cache_tree_find(): remove redundant checks
Merge branch 'sh/use-hashcpy' into jch

* sh/use-hashcpy:
  Use hashcpy() when copying object names

# Conflicts:
# 	bundle.c
Merge branch 'jc/no-need-for-env-in-sh-scripts' into jch

* jc/no-need-for-env-in-sh-scripts:
  *.sh: drop useless use of "env"
Merge branch 'bg/install-branch-config-skip-prefix' into jch

* bg/install-branch-config-skip-prefix:
  branch: use skip_prefix() in install_branch_config()
  t3200-branch: test setting branch as own upstream
Merge branch 'jc/tag-contains-with' into jch

* jc/tag-contains-with:
  tag: grok "--with" as synonym to "--contains"
Merge branch 'rm/strchrnul-not-strlen' into jch

* rm/strchrnul-not-strlen:
  use strchrnul() in place of strchr() and strlen()

# Conflicts:
# 	cache-tree.c
Merge branch 'cp/am-patch-format-doc' into jch

* cp/am-patch-format-doc:
  Documentation/git-am: Document supported --patch-format options

# Conflicts:
# 	Documentation/git-am.txt