git-shortlog(1): document behaviour of zero-width wrap

Commit 00d3947 (Teach --wrap to only indent without wrapping) added
special behaviour for a width of zero in the '-w' argument to
'git-shortlog' but this was not documented.  Fix this.

Signed-off-by: John Keeping <john@keeping.me.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-fast-import(1): combine documentation of --[no-]relative-marks

The descriptions of '--relative-marks' and '--no-relative-marks' make
more sense when read together instead of as two independent options.
Combine them into a single description block.

Signed-off-by: John Keeping <john@keeping.me.uk>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-fast-import(1): reorganise options

The options in git-fast-import(1) are not currently arranged in a
logical order, which has caused the '--done' options to be documented
twice (commit 3266de10).

Rearrange them into logical groups under subheadings.

Suggested-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: John Keeping <john@keeping.me.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
commit: make default of "cleanup" option configurable

The default of the "cleanup" option in "git commit"
is not configurable. Users who don't want to use the
default have to pass this option on every commit since
there's no way to configure it. This commit introduces
a new config option "commit.cleanup" which can be used
to change the default of the "cleanup" option in
"git commit".

Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t0008: avoid brace expansion

Brace expansion is not required by POSIX and not supported by dash nor
NetBSD's sh.  Explicitly list all combinations instead.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Merge branch 'nd/upload-pack-shallow-must-be-commit' into pu

A minor consistency check patch that does not have much relevance
to the real world.

Will merge to 'next'.

* nd/upload-pack-shallow-must-be-commit:
  upload-pack: only accept commits from "shallow" line
### May be rerolled
Merge branch 'as/check-ignore' into pu

The test it adds seems to break under dash.
Expecting a reroll or fixup.

* as/check-ignore:
  t0008: avoid brace expansion
  add git-check-ignore sub-command
  setup.c: document get_pathspec()
  add.c: extract new die_if_path_beyond_symlink() for reuse
  add.c: extract check_path_for_gitlink() from treat_gitlinks() for reuse
  pathspec.c: rename newly public functions for clarity
  add.c: move pathspec matchers into new pathspec.c for reuse
  add.c: remove unused argument from validate_pathspec()
  dir.c: improve docs for match_pathspec() and match_pathspec_depth()
  dir.c: provide clear_directory() for reclaiming dir_struct memory
  dir.c: keep track of where patterns came from
  dir.c: use a single struct exclude_list per source of excludes

Conflicts:
	builtin/ls-files.c
	dir.c
Merge branch 'zk/clean-report-failure' into pu

"git clean" states what it is going to remove and then goes on to
remove it, but sometimes it only discovers things that cannot be
removed after recursing into a directory, which makes the output
confusing and even wrong.

Expecting a response to $gmane/212860.

* zk/clean-report-failure:
  git-clean: Display more accurate delete messages
Merge branch 'rt/commit-cleanup-config' into pu

* rt/commit-cleanup-config:
  commit: make default of "cleanup" option configurable
### Iffy
Merge branch 'ap/status-ignored-in-ignored-directory' into pu

Originally merged to 'next' on 2013-01-04

Output from "git status --ignored" showed an unexpected interaction
with "--untracked".

Will merge to 'next'.

* ap/status-ignored-in-ignored-directory:
  status: always report ignored tracked directories
### Expecting a reroll
Merge branch 'mb/remote-default-nn-origin' into pu

When the user does not specify what remote to interact with, we
often attempt to use 'origin'.  This can now be customized via a
configuration variable.

Expecting a reroll.
$gmane/210151

"The first remote becomes the default" bit is better done as a
separate step.

* mb/remote-default-nn-origin:
  Teach get_default_remote to respect remote.default.
  Test that plain "git fetch" uses remote.default when on a detached HEAD.
  Teach clone to set remote.default.
  Teach "git remote" about remote.default.
  Teach remote.c about the remote.default configuration setting.
  Rename remote.c's default_remote_name static variables.

Conflicts:
	builtin/remote.c
	t/t5505-remote.sh
Merge branch 'mb/gitweb-highlight-link-target' into pu

Expecting a reroll.
$gmane/211935

* mb/gitweb-highlight-link-target:
  Highlight the link target line in Gitweb using CSS
Merge branch 'bc/append-signed-off-by' into pu

Expecting a reroll.
$gmane/212507

* bc/append-signed-off-by:
  t4014: do not use echo -n
  Unify appending signoff in format-patch, commit and sequencer
  format-patch: update append_signoff prototype
  format-patch: stricter S-o-b detection
  t4014: more tests about appending s-o-b lines
  sequencer.c: teach append_signoff to avoid adding a duplicate newline
  sequencer.c: teach append_signoff how to detect duplicate s-o-b
  sequencer.c: always separate "(cherry picked from" from commit body
  sequencer.c: recognize "(cherry picked from ..." as part of s-o-b footer
  t/t3511: add some tests of 'cherry-pick -s' functionality
  t/test-lib-functions.sh: allow to specify the tag name to test_commit
  sequencer.c: remove broken support for rfc2822 continuation in footer

Conflicts:
	builtin/log.c
	t/t4014-format-patch.sh
Merge branch 'nd/clone-no-separate-git-dir-with-bare' into pu

Expecting a reroll.
$gmane/212863

* nd/clone-no-separate-git-dir-with-bare:
  clone: forbid --bare --separate-git-dir <dir>
Merge branch 'nd/parse-pathspec' into pu

Uses the parsed pathspec structure in more places where we used to
use the raw "array of strings" pathspec.

Unfortunately, this conflicts a couple of topics in flight. I tried
to be careful while resolving conflicts, though.

Expecting a reroll after the dust settles.

* nd/parse-pathspec: (21 commits)
  Convert more init_pathspec() to parse_pathspec()
  Convert add_files_to_cache to take struct pathspec
  Convert {read,fill}_directory to take struct pathspec
  Convert refresh_index to take struct pathspec
  Convert report_path_error to take struct pathspec
  checkout: convert read_tree_some to take struct pathspec
  Convert unmerge_cache to take struct pathspec
  Convert read_cache_preload() to take struct pathspec
  add: convert to use parse_pathspec
  archive: convert to use parse_pathspec
  ls-files: convert to use parse_pathspec
  rm: convert to use parse_pathspec
  checkout: convert to use parse_pathspec
  rerere: convert to use parse_pathspec
  status: convert to use parse_pathspec
  commit: convert to use parse_pathspec
  clean: convert to use parse_pathspec
  Export parse_pathspec() and convert some get_pathspec() calls
  pathspec: make sure the prefix part is wildcard-clean
  Add parse_pathspec() that converts cmdline args to struct pathspec
  ...

Conflicts:
	builtin/add.c
	builtin/ls-files.c
	cache.h
	dir.c
	setup.c
	tree-walk.c
	wt-status.c
Merge branch 'mp/complete-paths' into pu

The completion script used to let the default completer to suggest
pathnames, which gave too many irrelevant choices (e.g. "git add"
would not want to add an unmodified path).  Teach it to use a more
git-aware logic to enumerate only relevant ones.

It has been reported (no surprise) that this does not work inside
subdirectory, and fixing it seems to be non-trivial. $gmane/212642

Waiting for area-experts' help.

* mp/complete-paths:
  git-completion.bash: add support for path completion

Conflicts:
	contrib/completion/git-completion.bash
### Stalled