Merge branch 'jc/maint-config-exit-status' into jch

(Originally merged to 'next' on 2012-07-30)

The exit status code from "git config" was way overspecified while
being incorrect.  Update the implementation to give the documented
status for a case that was documented, and introduce a new code for
"all other errors".

Will merge to 'master' as part of the third batch.

* jc/maint-config-exit-status:
  config: "git config baa" should exit with status 1

Conflicts:
	builtin/config.c
Merge branch 'jc/maint-sane-execvp-notdir' into jch

(Originally merged to 'next' on 2012-08-09)

"git foo" errored out with "Not a directory" when the user had a non
directory on $PATH, and worse yet it masked an alias "foo" to run.

Will merge to 'master' as part of the third batch.

* jc/maint-sane-execvp-notdir:
  sane_execvp(): ignore non-directory on $PATH
Merge branch 'cw/cherry-pick-allow-empty-message' into jch

(Originally merged to 'next' on 2012-08-09)

"git cherry-pick" by default stops when it sees a commit without any
log message.  The "--allow-empty-message" option can be used to
silently proceed.

Will merge to 'master' as part of the third batch.

* cw/cherry-pick-allow-empty-message:
  cherry-pick: add --allow-empty-message option
Merge branch 'jk/version-string' into jch

(Originally merged to 'next' on 2012-08-10)

Leftover bits from the "git version" code restructuring, that give
us an ability to expose the Git version over the wire in the
protocol exchange. But we do so carefully only to the other end that
understands it.

Will merge to 'master' as part of the third batch.

* jk/version-string:
  do not send client agent unless server does first
  send-pack: fix capability-sending logic
  include agent identifier in capability string
Merge branch 'mz/cherry-code-cleanup' into jch

Minor code clean-up on the cherry-pick codepath.

Will merge to 'master' as part of the second batch.

* mz/cherry-code-cleanup:
  cherry: remove redundant check for merge commit
  cherry: don't set ignored rev_info options
  remove unnecessary parameter from get_patch_ids()
Merge branch 'bc/prune-info' into jch

Teach "git prune" without "-v" to be silent about leftover temporary files.

Will merge to 'master' as part of the second batch.

* bc/prune-info:
  prune.c: only print informational message in show_only or verbose mode
Merge branch 'jc/maint-protect-sh-from-ifs' into jch

When the user exports a non-default IFS without HT, scripts that
rely on being able to parse "ls-files -s | while read a b c..."
start to fail.  Protect them from such a misconfiguration.

Will merge to 'master' as part of the second batch.

* jc/maint-protect-sh-from-ifs:
  sh-setup: protect from exported IFS
Merge branch 'mz/empty-rebase-test' into jch

Will merge to 'master' as part of the second batch.

* mz/empty-rebase-test:
  add tests for 'git rebase --keep-empty'
Merge branch 'mg/rebase-i-onto-reflog-in-full' into jch

The reflog entries left by "git rebase" and "git rebase -i" were
inconsistent.

Will merge to 'master' as part of the second batch.

* mg/rebase-i-onto-reflog-in-full:
  rebase -i: use full onto sha1 in reflog
Merge branch 'jc/capabilities' into jch

Some capabilities were asked by fetch-pack even when upload-pack did
not advertise that they are available.  Fix fetch-pack not to do so.

Will merge to 'master' as part of the second batch.

* jc/capabilities:
  fetch-pack: mention server version with verbose output
  parse_feature_request: make it easier to see feature values
  fetch-pack: do not ask for unadvertised capabilities
Merge branch 'jc/send-email-reconfirm' into jch

Validate interactive input to "git send-email" to avoid common
mistakes such as saying "y<RETURN>" to sender mail address whose
prompt is given with a correctly guessed default.

Will merge to 'master' as part of the third batch.

* jc/send-email-reconfirm:
  send-email: validate & reconfirm interactive responses
Merge branch 'hv/submodule-path-unmatch' into jch

As the title says.

Will merge to 'master' as part of the second batch.

* hv/submodule-path-unmatch:
  Let submodule command exit with error status if path does not exist
Merge branch 'jc/daemon-access-hook' into jch

Allow an external command to tell git-daemon to decline service
based on the client address, repository path, etc.

Will merge to 'master' as part of the third batch.

* jc/daemon-access-hook:
  daemon: --access-hook option
Merge branch 'ef/win32-cred-helper' into jch

Credential helper for Win32 to allow access to the keychain of
the logged-in user.

Will merge to 'master' as part of the second batch.

* ef/win32-cred-helper:
  contrib: add win32 credential-helper
Merge branch 'rr/precompose-utf8-cleanup' into jch

A style and code cleanup.

Will merge to 'master' as part of the second batch.

* rr/precompose-utf8-cleanup:
  precompose-utf8: do not call checks for non-ascii "utf8"
  cleanup precompose_utf8
Merge branch 'ph/stash-rerere' into jch

"git stash" internally used "git merge-recursive" backend, which did
not trigger "rerere" upon conflicts unlike other mergy operations.

Will merge to 'master' as part of the third batch.

* ph/stash-rerere:
  stash: invoke rerere in case of conflict
  test: git-stash conflict sets up rerere
Merge branch 'mh/maint-config-doc-proxy-command' into jch

A minor documentation update.

Will merge to 'master' as part of the second batch.

* mh/maint-config-doc-proxy-command:
  git-config doc: unconfuse an example
  git-config.txt: fix example
Merge branch 'sz/submodule-force-update' into jch

"git submodule update --force" used to leave the working tree of the
submodule intact when there were local changes.  It is more intiutive
to make "--force" a sign to run "checkout -f" to overwrite them.

Will merge to 'master' as part of the third batch.

* sz/submodule-force-update:
  Make 'git submodule update --force' always check out submodules.
Merge branch 'pw/p4-use-client-spec-branch-detection' into jch

Fixes "git p4" when "--use-client-spec" and "--detect-branches" are
used together (the command used to misdetect branches).

Will merge to 'master' as part of the fourth batch.

* pw/p4-use-client-spec-branch-detection:
  git p4: make branch detection work with --use-client-spec
  git p4: do wildcard decoding in stripRepoPath
  git p4: set self.branchPrefixes in initialization
  git p4 test: add broken --use-client-spec --detect-branches tests
  git p4 test: move client_view() function to library
Merge branch 'tr/maint-parseopt-avoid-empty' into jch

A workaround to avoid doing _(""), which translates to unwanted
magic string in the .po files.

Will merge to 'master' as part of the fourth batch.

* tr/maint-parseopt-avoid-empty:
  gettext: do not translate empty string