completion: remove 'help' duplicate from porcelain commands

The list of all git commands is computed from the output of 'git help
-a', which already includes 'help', so there is no need to explicitly
add it once more when computing the list of porcelain commands.

Note that 'help' wasn't actually offered twice because of this,
because Bash filters duplicates from possible completion words.

Signed-off-by: SZEDER GÃ¡bor <szeder@ira.uka.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
docs: move submodule section

293ab15e ("submodule: teach rm to remove submodules unless they
contain a git directory", 2012-09-26) inserted the "Submodules"
section between a sentence describing a command and the command.  Move
the "Submodules" section further down.

Noticed-by: Horst H. von Brand
Signed-off-by: Matt Kraai <kraai@ftbfs.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Merge branch 'so/prompt-command' into jch

Updates __git_ps1 so that it can be used as $PROMPT_COMMAND,
instead of being used for command substitution in $PS1, to embed
color escape sequences in its output.

Will cook in 'next'.

* so/prompt-command:
  coloured git-prompt: paint detached HEAD marker in red
  Fix up colored git-prompt
  show color hints based on state of the git tree
  Allow __git_ps1 to be used in PROMPT_COMMAND
Merge branch 'nd/wildmatch' into jch

Allows pathname patterns in .gitignore and .gitattributes files
with double-asterisks "foo/**/bar" to match any number of directory
hierarchies.

I suspect that this needs to be plugged to pathspec matching code;
otherwise "git log -- 'Docum*/**/*.txt'" would not show the log for
commits that touch Documentation/git.txt, which would be confusing
to the users.

Will cook in 'next'.

* nd/wildmatch:
  Support "**" wildcard in .gitignore and .gitattributes
  wildmatch: make /**/ match zero or more directories
  wildmatch: adjust "**" behavior
  wildmatch: fix case-insensitive matching
  wildmatch: remove static variable force_lower_case
  wildmatch: make wildmatch's return value compatible with fnmatch
  t3070: disable unreliable fnmatch tests
  Integrate wildmatch to git
  wildmatch: follow Git's coding convention
  wildmatch: remove unnecessary functions
  Import wildmatch from rsync
  ctype: support iscntrl, ispunct, isxdigit and isprint
  ctype: make sane_ctype[] const array

Conflicts:
	Makefile
Merge branch 'wtk/submodule-doc-fixup' into jch

* wtk/submodule-doc-fixup:
  git-submodule: wrap branch option with "<>" in usage strings.

Conflicts:
	Documentation/git-submodule.txt
	git-submodule.sh
Merge branch 'jk/config-ignore-duplicates' into jch

Drop duplicate detection from git-config; this lets it
better match the internal config callbacks, which clears up
some corner cases with includes.

Will merge to 'master' in the sixth batch.

* jk/config-ignore-duplicates:
  builtin/config.c: Fix a sparse warning
  git-config: use git_config_with_options
  git-config: do not complain about duplicate entries
  git-config: collect values instead of immediately printing
  git-config: fix regexp memory leaks on error conditions
  git-config: remove memory leak of key regexp
  t1300: test "git config --get-all" more thoroughly
  t1300: remove redundant test
  t1300: style updates
Merge branch 'rc/maint-complete-git-p4' into jch

Comment from Pete will need to be addressed in a follow-up patch.

* rc/maint-complete-git-p4:
  Teach git-completion about git p4
Merge branch 'cr/cvsimport-local-zone' into jch

Allows "cvsimport" to read per-author timezone from the author info
file.

Will merge to 'master' in the fifth batch.

* cr/cvsimport-local-zone:
  cvsimport: work around perl tzset issue
  git-cvsimport: allow author-specific timezones
Merge branch 'jc/maint-fetch-tighten-refname-check' into jch

This was split out from discarded jc/maint-push-refs-all topic.

Will merge to 'master' in the fifth batch.

* jc/maint-fetch-tighten-refname-check:
  get_fetch_map(): tighten checks on dest refs
Merge branch 'jh/symbolic-ref-d' into jch

Add "symbolic-ref -d SYM" to delete a symbolic ref SYM.

It is already possible to remove a symbolic ref with "update-ref -d
--no-deref", but it may be a good addition for completeness.

Will merge to 'master' in the fifth batch.

* jh/symbolic-ref-d:
  git symbolic-ref --delete $symref
Merge branch 'jc/prettier-pretty-note' into jch

Now that Philip has submitted some documentation updates, this is
looking more ready.

Will merge to 'master' in the fifth batch.

* jc/prettier-pretty-note:
  format-patch: add a blank line between notes and diffstat
  Doc User-Manual: Patch cover letter, three dashes, and --notes
  Doc format-patch: clarify --notes use case
  Doc notes: Include the format-patch --notes option
  Doc SubmittingPatches: Mention --notes option after "cover letter"
  Documentation: decribe format-patch --notes
  format-patch --notes: show notes after three-dashes
  format-patch: append --signature after notes
  pretty_print_commit(): do not append notes message
  pretty: prepare notes message at a centralized place
  format_note(): simplify API
  pretty: remove reencode_commit_message()
Merge branch 'jk/maint-diff-grep-textconv' into jch

Fixes inconsistent use of textconv with "git log -G".

Will merge to 'master' in the fifth batch.

* jk/maint-diff-grep-textconv:
  diff_grep: use textconv buffers for add/deleted files
Merge branch 'ph/submodule-sync-recursive' into jch

Adds "--recursive" option to submodule sync.

Will merge to 'master' in the fifth batch.

* ph/submodule-sync-recursive:
  Add tests for submodule sync --recursive
  Teach --recursive to submodule sync
Merge branch 'jc/same-encoding' into jch

Various codepaths checked if two encoding names are the same using
ad-hoc code and some of them ended up asking iconv() to convert
between "utf8" and "UTF-8".  The former is not a valid way to spell
the encoding name, but often people use it by mistake, and we
equated them in some but not all codepaths. Introduce a new helper
function to make these codepaths consistent.

Will merge to 'master' in the fifth batch.

* jc/same-encoding:
  reencode_string(): introduce and use same_encoding()

Conflicts:
	builtin/mailinfo.c
Merge branch 'as/maint-doc-fix-no-post-rewrite' into jch

Will merge to 'master' in the fifth batch.

* as/maint-doc-fix-no-post-rewrite:
  commit: fixup misplacement of --no-post-rewrite description
Merge branch 'mm/maint-doc-commit-edit' into jch

Will merge to 'master' in the fifth batch.

* mm/maint-doc-commit-edit:
  Document 'git commit --no-edit' explicitly
Merge branch 'js/hp-nonstop' into jch

Will merge to 'master' in the fifth batch.

* js/hp-nonstop:
  fix 'make test' for HP NonStop
Merge branch 'jk/maint-http-half-auth-fetch' into jch

Fixes fetch from servers that ask for auth only during the actual
packing phase. This is not really a recommended configuration, but it
cleans up the code at the same time.

Will merge to 'master' in the sixth batch.

* jk/maint-http-half-auth-fetch:
  remote-curl: retry failed requests for auth even with gzip
  remote-curl: hoist gzip buffer size to top of post_rpc

Conflicts:
	t/t5551-http-fetch.sh
Merge branch 'kb/preload-index-more' into jch

Use preloadindex in more places, which has a nice speedup on systems
with slow stat calls (and even on Linux).

Will merge to 'master' in the sixth batch.

* kb/preload-index-more:
  update-index/diff-index: use core.preloadindex to improve performance
Merge branch 'mh/strbuf-split' into jch

Cleanups and documentation for strbuf_split.

Will merge to 'master' in the fifth batch.

* mh/strbuf-split:
  strbuf_split*(): document functions
  strbuf_split*(): rename "delim" parameter to "terminator"
  strbuf_split_buf(): simplify iteration
  strbuf_split_buf(): use ALLOC_GROW()