Merge branch 'nd/wildmatch' into jch

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

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

* nd/wildmatch:
  wildmatch: replace variable 'special' with better named ones
  compat/fnmatch: respect NO_FNMATCH* even on glibc
  wildmatch: fix "**" special case
  t3070: Disable some failing fnmatch tests
  test-wildmatch: avoid Windows path mangling
  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 'jn/less-reconfigure' into jch

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

When autoconf is used, any build on a different commit always ran
"config.status --recheck" even when unnecessary.

Will merge to 'master'.

* jn/less-reconfigure:
  build: do not automatically reconfigure unless configure.ac changed
Merge branch 'aw/rebase-am-failure-detection' into jch

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

Save output from format-patch command in a temporary file, just in
case it aborts, to give a better failure-case behaviour.

* aw/rebase-am-failure-detection:
  rebase: Handle cases where format-patch fails
Merge branch 'mz/pick-unborn' into jch

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

Allows "git cherry-pick $commit" when you do not have any history
behind HEAD yet.

* mz/pick-unborn:
  learn to pick/revert into unborn branch
  tests: move test_cmp_rev to test-lib-functions
Merge branch 'ta/remove-stale-translated-tut' into jch

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

Remove a translation of a document that was left stale.

Will merge to 'master'.

* ta/remove-stale-translated-tut:
  Remove Documentation/pt_BR/gittutorial.txt
Merge branch 'er/stop-recommending-parsecvs' into jch

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

Stop recommending a defunct third-party software.

Will merge to 'master'.

* er/stop-recommending-parsecvs:
  Remove the suggestion to use parsecvs, which is currently broken.
Merge branch 'as/test-name-alias-uniquely' into jch

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

A few short-and-bland aliases used in the tests were interfering
with git-custom command in user's $PATH.

Will merge to 'master'.

* as/test-name-alias-uniquely:
  Use longer alias names in subdirectory tests
Merge branch 'jc/maint-fmt-merge-msg-no-edit-lose-credit' into jch

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

Stop spending cycles to compute information to be placed on
commented lines in "merge --no-edit".

Will merge to 'master'.

* jc/maint-fmt-merge-msg-no-edit-lose-credit:
  merge --no-edit: do not credit people involved in the side branch
Merge branch 'er/python-version-requirements' into jch

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

Some python scripts we ship cannot be run with old versions of the
interpreter.

Will merge to 'master'.

* er/python-version-requirements:
  Add checks to Python scripts for version dependencies.
Merge branch 'kb/maint-bundle-doc' into jch

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

Will merge to 'master'.

* kb/maint-bundle-doc:
  Documentation: full-ness of a bundle is significant for cloning
  Documentation: correct example restore from bundle
Merge branch 'tb/test-t9020-no-which' into jch

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

Will merge to 'master'.

* tb/test-t9020-no-which:
  t9020: which is not portable
Merge branch 'tb/test-t9810-no-sed-i' into jch

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

Will merge to 'master'.

* tb/test-t9810-no-sed-i:
  t9810: Do not use sed -i
Merge branch 'ap/status-ignored-in-ignored-directory' (early part) into jch

* 'ap/status-ignored-in-ignored-directory' (early part):
  git-status: Test --ignored behavior
  dir.c: Make git-status --ignored more consistent
Merge branch 'nd/retire-fnmatch' into jch

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

Replace our use of fnmatch(3) with a more feature-rich wildmatch.
A handful patches at the bottom have been moved to nd/wildmatch to
graduate as part of that branch, before this series solidifies.

* nd/retire-fnmatch:
  Makefile: add USE_WILDMATCH to use wildmatch as fnmatch
  wildmatch: advance faster in <asterisk> + <literal> patterns
  wildmatch: make a special case for "*/" with FNM_PATHNAME
  test-wildmatch: add "perf" command to compare wildmatch and fnmatch
  wildmatch: support "no FNM_PATHNAME" mode
  wildmatch: make dowild() take arbitrary flags
  wildmatch: rename constants and update prototype
Merge branch 'os/gitweb-highlight-uncaptured' into jch

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

The code to sanitize control characters before passing it to
"highlight" filter lost known-to-be-safe control characters by
mistake.

Will merge to 'master'.

* os/gitweb-highlight-uncaptured:
  gitweb: fix error in sanitize when highlight is enabled
Merge branch 'tb/test-shell-lint' into jch

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

Check for common mistakes in the test scripts, based on simple
pattern-matching.

* tb/test-shell-lint:
  test: Add check-non-portable-shell.pl
Merge branch 'fc/remote-bzr' into jch

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

New remote helper for bzr, with minimum fix squashed in.

Will merge to 'master'.

* fc/remote-bzr:
  remote-bzr: detect local repositories
  remote-bzr: add support for older versions of bzr
  remote-bzr: add support to push special modes
  remote-bzr: add support for fecthing special modes
  remote-bzr: add simple tests
  remote-bzr: update working tree upon pushing
  remote-bzr: add support for remote repositories
  remote-bzr: add support for pushing
  Add new remote-bzr transport helper
Merge branch 'jc/submittingpatches' into jch

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

Streamline the document and update with a few e-mail addresses the
patches should be sent to.

Will merge to 'master'.

* jc/submittingpatches:
  SubmittingPatches: give list and maintainer addresses
  SubmittingPatches: remove overlong checklist
  SubmittingPatches: mention subsystems with dedicated repositories
  SubmittingPatches: who am I and who cares?
Merge branch 'ap/merge-stop-at-prepare-commit-msg-failure' into jch

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

"git merge" started calling prepare-commit-msg hook like "git
commit" does some time ago, but forgot to pay attention to the exit
status of the hook.  t7505 may want a general clean-up but that is
a different topic.

Will merge to 'master'.

* ap/merge-stop-at-prepare-commit-msg-failure:
  merge: Honor prepare-commit-msg return code
Merge branch 'jk/enable-test-lint-by-default' into jch

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

We had two simple and quick tests to catch common mistakes when
writing test scripts, but they weren't run by default when running
tests.

Will merge to 'master'.

* jk/enable-test-lint-by-default:
  tests: turn on test-lint by default