git
11 years agoMerge branch 'jc/maint-diff-core-safecrlf' into maint
Junio C Hamano [Mon, 22 Jul 2013 05:48:13 +0000 (22:48 -0700)] 
Merge branch 'jc/maint-diff-core-safecrlf' into maint

Avoid failing "git diff" when core.safecrlf is set to true, because
the user cannot tell where the breakage is in preparation for fixing
and committing.

* jc/maint-diff-core-safecrlf:
  diff: demote core.safecrlf=true to core.safecrlf=warn

11 years agot9801: git-p4: check ignore files with client spec
Vitor Antunes [Thu, 18 Jul 2013 23:04:53 +0000 (00:04 +0100)] 
t9801: git-p4: check ignore files with client spec

This test confirms that a file can be ignored during git p4 sync if if is
excluded in P4 client specification.

Signed-off-by: Vitor Antunes <vitor.hda@gmail.com>
Acked-by: Pete Wyckoff <pw@padd.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoStart preparing for 1.8.3.4
Junio C Hamano [Fri, 19 Jul 2013 17:59:36 +0000 (10:59 -0700)] 
Start preparing for 1.8.3.4

Hopefully this will be the final maintenance release before we go to
feature freeze for 1.8.4.

11 years agoapply.c::find_name_traditional(): do not initialize len to the line's length
Stefan Beller [Thu, 18 Jul 2013 21:35:27 +0000 (23:35 +0200)] 
apply.c::find_name_traditional(): do not initialize len to the line's length

The variable len is set to

    len = strchrnul(line, '\n') - line;

unconditionally 9 lines later, hence we can remove the call to strlen.

Signed-off-by: Stefan Beller <stefanbeller@googlemail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agohttp-push.c::add_send_request(): do not initialize transfer_request
Stefan Beller [Thu, 18 Jul 2013 21:35:26 +0000 (23:35 +0200)] 
http-push.c::add_send_request(): do not initialize transfer_request

That pointer will be assigned to new memory via

    request = xmalloc(sizeof(*request));

20 lines later unconditionally anyway, so it's safe to not assign it
to an arbitrary variable.

Signed-off-by: Stefan Beller <stefanbeller@googlemail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'tr/test-lint-no-export-assignment-in-shell' into maint
Junio C Hamano [Fri, 19 Jul 2013 17:43:13 +0000 (10:43 -0700)] 
Merge branch 'tr/test-lint-no-export-assignment-in-shell' into maint

* tr/test-lint-no-export-assignment-in-shell:
  test-lint: detect 'export FOO=bar'
  t9902: fix 'test A == B' to use = operator

11 years agoMerge branch 'rr/name-rev-stdin-doc' into maint
Junio C Hamano [Fri, 19 Jul 2013 17:43:08 +0000 (10:43 -0700)] 
Merge branch 'rr/name-rev-stdin-doc' into maint

* rr/name-rev-stdin-doc:
  name-rev doc: rewrite --stdin paragraph

11 years agoMerge branch 'ft/diff-rename-default-score-is-half' into maint
Junio C Hamano [Fri, 19 Jul 2013 17:43:05 +0000 (10:43 -0700)] 
Merge branch 'ft/diff-rename-default-score-is-half' into maint

* ft/diff-rename-default-score-is-half:
  diff-options: document default similarity index

11 years agoMerge branch 'jc/t1512-fix' into maint
Junio C Hamano [Fri, 19 Jul 2013 17:43:01 +0000 (10:43 -0700)] 
Merge branch 'jc/t1512-fix' into maint

* jc/t1512-fix:
  get_short_sha1(): correctly disambiguate type-limited abbreviation
  t1512: correct leftover constants from earlier edition

11 years agoMerge branch 'vl/typofix' into maint
Junio C Hamano [Fri, 19 Jul 2013 17:42:57 +0000 (10:42 -0700)] 
Merge branch 'vl/typofix' into maint

* vl/typofix:
  random typofixes (committed missing a 't', successful missing an 's')

11 years agoMerge branch 'wk/doc-git-has-grown' into maint
Junio C Hamano [Fri, 19 Jul 2013 17:42:52 +0000 (10:42 -0700)] 
Merge branch 'wk/doc-git-has-grown' into maint

* wk/doc-git-has-grown:
  user-manual: Update download size for Git and the kernel

11 years agoMerge branch 'ys/cygstart' into maint
Junio C Hamano [Fri, 19 Jul 2013 17:42:49 +0000 (10:42 -0700)] 
Merge branch 'ys/cygstart' into maint

* ys/cygstart:
  web--browse: support /usr/bin/cygstart on Cygwin

11 years agoMerge branch 'mm/push-force-is-dangerous' into maint
Junio C Hamano [Fri, 19 Jul 2013 17:42:46 +0000 (10:42 -0700)] 
Merge branch 'mm/push-force-is-dangerous' into maint

* mm/push-force-is-dangerous:
  Documentation/git-push.txt: explain better cases where --force is dangerous

11 years agoMerge branch 'rs/logical-vs-binary-or' into maint
Junio C Hamano [Fri, 19 Jul 2013 17:42:18 +0000 (10:42 -0700)] 
Merge branch 'rs/logical-vs-binary-or' into maint

* rs/logical-vs-binary-or:
  use logical OR (||) instead of binary OR (|) in logical context

11 years agoMerge branch 'js/test-ln-s-add' into maint
Junio C Hamano [Fri, 19 Jul 2013 17:41:22 +0000 (10:41 -0700)] 
Merge branch 'js/test-ln-s-add' into maint

* js/test-ln-s-add:
  t4011: remove SYMLINKS prerequisite
  t6035: use test_ln_s_add to remove SYMLINKS prerequisite
  t3509, t4023, t4114: use test_ln_s_add to remove SYMLINKS prerequisite
  t3100: use test_ln_s_add to remove SYMLINKS prerequisite
  t3030: use test_ln_s_add to remove SYMLINKS prerequisite
  t0000: use test_ln_s_add to remove SYMLINKS prerequisite
  tests: use test_ln_s_add to remove SYMLINKS prerequisite (trivial cases)
  tests: introduce test_ln_s_add
  t3010: modernize style
  test-chmtime: Fix exit code on Windows

11 years agoMerge branch 'jk/apache-test-for-2.4' into maint
Junio C Hamano [Fri, 19 Jul 2013 17:41:01 +0000 (10:41 -0700)] 
Merge branch 'jk/apache-test-for-2.4' into maint

Allow our tests to run with newer Apache.

* jk/apache-test-for-2.4:
  lib-httpd/apache.conf: check version only after mod_version loads
  t/lib-httpd/apache.conf: configure an MPM module for apache 2.4
  t/lib-httpd/apache.conf: load compat access module in apache 2.4
  t/lib-httpd/apache.conf: load extra auth modules in apache 2.4
  t/lib-httpd/apache.conf: do not use LockFile in apache >= 2.4

11 years agoMerge branch 'tr/test-commit-only-on-orphan' into maint
Junio C Hamano [Fri, 19 Jul 2013 17:40:57 +0000 (10:40 -0700)] 
Merge branch 'tr/test-commit-only-on-orphan' into maint

* tr/test-commit-only-on-orphan:
  Test 'commit --only' after 'checkout --orphan'

11 years agoMerge branch 'sb/archive-zip-double-assignment-fix' into maint
Junio C Hamano [Fri, 19 Jul 2013 17:40:53 +0000 (10:40 -0700)] 
Merge branch 'sb/archive-zip-double-assignment-fix' into maint

* sb/archive-zip-double-assignment-fix:
  archive-zip:write_zip_entry: Remove second reset of size variable to zero.

11 years agoMerge branch 'th/bisect-skip-report-range-fix' into maint
Junio C Hamano [Fri, 19 Jul 2013 17:39:12 +0000 (10:39 -0700)] 
Merge branch 'th/bisect-skip-report-range-fix' into maint

The bisect log listed incorrect commits when bisection ends with
only skipped ones.

* th/bisect-skip-report-range-fix:
  bisect: Fix log output for multi-parent skip ranges

11 years agoMerge branch 'rs/tar-tests' into maint
Junio C Hamano [Fri, 19 Jul 2013 17:39:09 +0000 (10:39 -0700)] 
Merge branch 'rs/tar-tests' into maint

* rs/tar-tests:
  t5000: test long filenames
  t5000: simplify tar-tree tests
  t5000: use check_tar for prefix test
  t5000: factor out check_tar
  t5000, t5003: create directories for extracted files lazily
  t5000: integrate export-subst tests into regular tests

11 years agoMerge branch 'rr/column-doc' into maint
Junio C Hamano [Fri, 19 Jul 2013 17:39:06 +0000 (10:39 -0700)] 
Merge branch 'rr/column-doc' into maint

* rr/column-doc:
  column doc: rewrite documentation for column.ui

11 years agoMerge branch 'rs/discard-index-discard-array' into maint
Junio C Hamano [Fri, 19 Jul 2013 17:39:01 +0000 (10:39 -0700)] 
Merge branch 'rs/discard-index-discard-array' into maint

* rs/discard-index-discard-array:
  read-cache: free cache in discard_index
  read-cache: add simple performance test

11 years agoMerge branch 'tr/coverage' into maint
Junio C Hamano [Fri, 19 Jul 2013 17:38:18 +0000 (10:38 -0700)] 
Merge branch 'tr/coverage' into maint

The test coverage framework was left broken for some time.

* tr/coverage:
  coverage: build coverage-untested-functions by default
  coverage: set DEFAULT_TEST_TARGET to avoid using prove
  coverage: do not delete .gcno files before building
  coverage: split build target into compile and test

11 years agoDocumentation: "git reset <tree-ish> <pathspec>" takes a tree-ish, not tree-sh
Stefan Beller [Fri, 19 Jul 2013 16:26:24 +0000 (18:26 +0200)] 
Documentation: "git reset <tree-ish> <pathspec>" takes a tree-ish, not tree-sh

Reported-By: Ibrahim M. Ghazal <imgx64@gmail.com>
Signed-off-by: Stefan Beller <stefanbeller@googlemail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoGit 1.8.3.3 v1.8.3.3
Junio C Hamano [Mon, 15 Jul 2013 17:39:43 +0000 (10:39 -0700)] 
Git 1.8.3.3

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'tr/maint-apply-non-git-patch-parsefix' into maint
Junio C Hamano [Mon, 15 Jul 2013 17:36:14 +0000 (10:36 -0700)] 
Merge branch 'tr/maint-apply-non-git-patch-parsefix' into maint

"git apply" parsed patches that add new files, generated by programs
other than Git, incorrectly.  This is an old breakage in v1.7.11.

* tr/maint-apply-non-git-patch-parsefix:
  apply: carefully strdup a possibly-NULL name

11 years agoMerge branch 'bc/http-keep-memory-given-to-curl' into maint
Junio C Hamano [Mon, 15 Jul 2013 17:36:01 +0000 (10:36 -0700)] 
Merge branch 'bc/http-keep-memory-given-to-curl' into maint

Older cURL wanted piece of memory we call it with to be stable, but
we updated the auth material after handing it to a call.

* bc/http-keep-memory-given-to-curl:
  http.c: don't rewrite the user:passwd string multiple times

11 years agoMerge branch 'jk/pull-into-dirty-unborn' into maint
Junio C Hamano [Mon, 15 Jul 2013 17:35:43 +0000 (10:35 -0700)] 
Merge branch 'jk/pull-into-dirty-unborn' into maint

"git pull" into nothing trashed "local changes" that were in the
index.

* jk/pull-into-dirty-unborn:
  pull: merge into unborn by fast-forwarding from empty tree
  pull: update unborn branch tip after index

11 years agoMerge branch 'fg/submodule-non-ascii-path' into maint
Junio C Hamano [Mon, 15 Jul 2013 17:35:17 +0000 (10:35 -0700)] 
Merge branch 'fg/submodule-non-ascii-path' into maint

Many "git submodule" operations did not work on a submodule at a
path whose name is not in ASCII.

* fg/submodule-non-ascii-path:
  t7400: test of UTF-8 submodule names pass under Mac OS
  handle multibyte characters in name

11 years agoMerge branch 'fc/sequencer-plug-leak' into maint
Junio C Hamano [Mon, 15 Jul 2013 17:35:04 +0000 (10:35 -0700)] 
Merge branch 'fc/sequencer-plug-leak' into maint

"cherry-pick" had a small leak in its error codepath.

* fc/sequencer-plug-leak:
  sequencer: avoid leaking message buffer when refusing to create an empty commit
  sequencer: remove useless indentation

11 years agoMerge branch 'mt/send-email-cc-match-fix' into maint
Junio C Hamano [Mon, 15 Jul 2013 17:34:36 +0000 (10:34 -0700)] 
Merge branch 'mt/send-email-cc-match-fix' into maint

Logic used by git-send-email to suppress cc mishandled names like "A
U. Thor" <author@example.xz>, where the human readable part needs to
be quoted (the user input may not have the double quotes around the
name, and comparison was done between quoted and unquoted strings).
It also mishandled names that need RFC2047 quoting.

* mt/send-email-cc-match-fix:
  send-email: sanitize author when writing From line
  send-email: add test for duplicate utf8 name
  test-send-email: test for pre-sanitized self name
  t/send-email: test suppress-cc=self with non-ascii
  t/send-email: add test with quoted sender
  send-email: make --suppress-cc=self sanitize input
  t/send-email: test suppress-cc=self on cccmd
  send-email: fix suppress-cc=self on cccmd
  t/send-email.sh: add test for suppress-cc=self

11 years agotest-lint: detect 'export FOO=bar'
Thomas Rast [Mon, 8 Jul 2013 15:20:32 +0000 (17:20 +0200)] 
test-lint: detect 'export FOO=bar'

Some shells do not understand the one-line construct, and instead need

  FOO=bar &&
  export FOO

Detect this in the test-lint target.

Signed-off-by: Thomas Rast <trast@inf.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agot9902: fix 'test A == B' to use = operator
Thomas Rast [Mon, 8 Jul 2013 15:20:31 +0000 (17:20 +0200)] 
t9902: fix 'test A == B' to use = operator

The == operator as an alias to = is not POSIX.  This doesn't actually
matter for the execution of the script, because it only runs when the
shell is bash.  However, it trips up test-lint, so it's nicer to use
the standard form.

Signed-off-by: Thomas Rast <trast@inf.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoname-rev doc: rewrite --stdin paragraph
Ramkumar Ramachandra [Sun, 7 Jul 2013 12:43:16 +0000 (18:13 +0530)] 
name-rev doc: rewrite --stdin paragraph

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agodiff-options: document default similarity index
Fraser Tweedale [Fri, 5 Jul 2013 08:42:17 +0000 (18:42 +1000)] 
diff-options: document default similarity index

The default similarity index of 50% is documented in gitdiffcore(7)
but it is worth also mentioning it in the description of the
-M/--find-renames option.

Signed-off-by: Fraser Tweedale <frase@frase.id.au>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agofixup-builtins: retire an old transition helper script
Ramkumar Ramachandra [Fri, 28 Jun 2013 15:46:19 +0000 (21:16 +0530)] 
fixup-builtins: retire an old transition helper script

This script was added in 36e5e70 (Start deprecating "git-command" in
favor of "git command", 2007-06-30) with the intent of aiding the
transition away from dashed forms.

It has already been used to help the transision and served its
purpose, and is no longer very useful for follow-up work, because
the majority of remaining matches it finds are false positives.

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Reviewed-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoUpdate draft release notes to 1.8.3.3
Junio C Hamano [Wed, 3 Jul 2013 22:43:41 +0000 (15:43 -0700)] 
Update draft release notes to 1.8.3.3

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'rr/diffcore-pickaxe-doc' into maint
Junio C Hamano [Wed, 3 Jul 2013 22:41:17 +0000 (15:41 -0700)] 
Merge branch 'rr/diffcore-pickaxe-doc' into maint

* rr/diffcore-pickaxe-doc:
  diffcore-pickaxe doc: document -S and -G properly
  diffcore-pickaxe: make error messages more consistent

11 years agoMerge branch 'cr/git-work-tree-sans-git-dir' into maint
Junio C Hamano [Wed, 3 Jul 2013 22:41:05 +0000 (15:41 -0700)] 
Merge branch 'cr/git-work-tree-sans-git-dir' into maint

* cr/git-work-tree-sans-git-dir:
  git.txt: remove stale comment regarding GIT_WORK_TREE

11 years agoMerge branch 'fc/do-not-use-the-index-in-add-to-index' into maint
Junio C Hamano [Wed, 3 Jul 2013 22:40:38 +0000 (15:40 -0700)] 
Merge branch 'fc/do-not-use-the-index-in-add-to-index' into maint

* fc/do-not-use-the-index-in-add-to-index:
  read-cache: trivial style cleanups
  read-cache: fix wrong 'the_index' usage

11 years agoMerge branch 'dm/unbash-subtree' into maint
Junio C Hamano [Wed, 3 Jul 2013 22:39:37 +0000 (15:39 -0700)] 
Merge branch 'dm/unbash-subtree' into maint

* dm/unbash-subtree:
  contrib/git-subtree: Use /bin/sh interpreter instead of /bin/bash

11 years agoMerge branch 'jc/core-checkstat' into maint
Junio C Hamano [Wed, 3 Jul 2013 22:39:15 +0000 (15:39 -0700)] 
Merge branch 'jc/core-checkstat' into maint

* jc/core-checkstat:
  deprecate core.statinfo at Git 2.0 boundary

11 years agoMerge branch 'jc/t5551-posix-sed-bre' into maint
Junio C Hamano [Wed, 3 Jul 2013 22:37:58 +0000 (15:37 -0700)] 
Merge branch 'jc/t5551-posix-sed-bre' into maint

* jc/t5551-posix-sed-bre:
  t5551: do not use unportable sed '\+'

11 years agoMerge branch 'vv/help-unknown-ref' into maint
Junio C Hamano [Wed, 3 Jul 2013 22:37:50 +0000 (15:37 -0700)] 
Merge branch 'vv/help-unknown-ref' into maint

* vv/help-unknown-ref:
  merge: use help_unknown_ref()
  help: add help_unknown_ref()

11 years agoMerge branch 'rs/empty-archive' into maint
Junio C Hamano [Wed, 3 Jul 2013 22:36:54 +0000 (15:36 -0700)] 
Merge branch 'rs/empty-archive' into maint

* rs/empty-archive:
  t5004: resurrect original empty tar archive test
  t5004: avoid using tar for checking emptiness of archive

Conflicts:
t/t5004-archive-corner-cases.sh

11 years agoMerge branch 'rh/merge-options-doc-fix' into maint
Junio C Hamano [Wed, 3 Jul 2013 22:36:30 +0000 (15:36 -0700)] 
Merge branch 'rh/merge-options-doc-fix' into maint

* rh/merge-options-doc-fix:
  Documentation/merge-options.txt: restore `-e` option

11 years agoMerge branch 'an/diff-index-doc' into maint
Junio C Hamano [Wed, 3 Jul 2013 22:35:55 +0000 (15:35 -0700)] 
Merge branch 'an/diff-index-doc' into maint

* an/diff-index-doc:
  Documentation/diff-index: mention two modes of operation

11 years agoMerge branch 'cm/gitweb-project-list-persistent-cgi-fix' into maint
Junio C Hamano [Wed, 3 Jul 2013 22:31:36 +0000 (15:31 -0700)] 
Merge branch 'cm/gitweb-project-list-persistent-cgi-fix' into maint

"gitweb" forgot to clear a global variable $search_regexp upon each
request, mistakenly carrying over the previous search to a new one
when used as a persistent CGI.

* cm/gitweb-project-list-persistent-cgi-fix:
  gitweb: fix problem causing erroneous project list

11 years agoMerge branch 'ar/wildmatch-foldcase' into maint
Junio C Hamano [Wed, 3 Jul 2013 22:31:27 +0000 (15:31 -0700)] 
Merge branch 'ar/wildmatch-foldcase' into maint

The wildmatch engine did not honor WM_CASEFOLD option correctly.

* ar/wildmatch-foldcase:
  wildmatch: properly fold case everywhere

11 years agoMerge branch 'cb/log-follow-with-combined' into maint
Junio C Hamano [Wed, 3 Jul 2013 22:30:59 +0000 (15:30 -0700)] 
Merge branch 'cb/log-follow-with-combined' into maint

"git log -c --follow $path" segfaulted upon hitting the commit that
renamed the $path being followed.

* cb/log-follow-with-combined:
  fix segfault with git log -c --follow

11 years agoMerge branch 'rr/die-on-missing-upstream' into maint
Junio C Hamano [Wed, 3 Jul 2013 22:30:24 +0000 (15:30 -0700)] 
Merge branch 'rr/die-on-missing-upstream' into maint

When a reflog notation is used for implicit "current branch", we did
not say which branch, and worse said "branch ''".

* rr/die-on-missing-upstream:
  sha1_name: fix error message for @{<N>}, @{<date>}
  sha1_name: fix error message for @{u}

11 years agoMerge branch 'maint-1.8.2' into maint
Junio C Hamano [Wed, 3 Jul 2013 22:27:19 +0000 (15:27 -0700)] 
Merge branch 'maint-1.8.2' into maint

* maint-1.8.2:
  git-config: update doc for --get with multiple values

11 years agoMerge branch 'maint-1.8.1' into maint-1.8.2
Junio C Hamano [Wed, 3 Jul 2013 22:26:53 +0000 (15:26 -0700)] 
Merge branch 'maint-1.8.1' into maint-1.8.2

* maint-1.8.1:
  git-config: update doc for --get with multiple values

11 years agogit-config: update doc for --get with multiple values
John Keeping [Wed, 3 Jul 2013 18:27:39 +0000 (19:27 +0100)] 
git-config: update doc for --get with multiple values

Since commit 00b347d (git-config: do not complain about duplicate
entries, 2012-10-23), "git config --get" does not exit with an error if
there are multiple values for the specified key but instead returns the
last value.  Update the documentation to reflect this.

Signed-off-by: John Keeping <john@keeping.me.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoget_short_sha1(): correctly disambiguate type-limited abbreviation
Junio C Hamano [Tue, 2 Jul 2013 04:54:45 +0000 (21:54 -0700)] 
get_short_sha1(): correctly disambiguate type-limited abbreviation

One test in t1512 that expects a failure incorrectly passed.  The
test prepares a commit whose object name begins with ten "0"s, and
also prepares a tag that points at the commit.  The object name of
the tag also begins with ten "0"s.  There is no other commit-ish
object in the repository whose name begins with such a prefix.

Ideally, in such a repository:

    $ git rev-parse --verify 0000000000^{commit}

should yield that commit.  If 0000000000 is taken as the commit
0000000000e4f, peeling it to a commmit yields that commit itself,
and if 0000000000 is taken as the tag 0000000000f8f, peeling it to a
commit also yields the same commit, so in that twisted sense, the
extended SHA-1 expression 0000000000^{commit} is unambigous.  The
test that expects a failure is to check the above command.

The reason the test expects a failure is that we did not implement
such a "unification" of two candidate objects.  What we did (or at
least, meant to) implement was to recognise that a commit-ish is
required to expand 0000000000, and notice that there are two succh
commit-ish, and diagnose the request as ambiguous.

However, there was a bug in the logic to check the candidate
objects.  When the code saw 0000000000f8f (a tag) that shared the
shortened prefix (ten "0"s), it tried to make sure that the tag is a
commit-ish by looking at the tag object.  Because it incorrectly
used lookup_object() when the tag has not been parsed, however, we
incorrectly declared that the tag is _not_ a commit-ish, leaving the
sole commit in the repository, 0000000000e4f, that has the required
prefix as "unique match", causing the test to pass when it shouldn't.

This fixes the logic to inspect the type of the object a tag refers
to, to make the test that is expected to fail correctly fail.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agot1512: correct leftover constants from earlier edition
Junio C Hamano [Tue, 2 Jul 2013 04:49:09 +0000 (21:49 -0700)] 
t1512: correct leftover constants from earlier edition

The earliest iteration of this test script used a magic string
110282 as the common prefix for ambiguous object names, but the
final edition switched the common prefix to 0000000000 (10 "0"s).

Unfortunately, instances of the original prefix were left in the
comments and a few tests.  Replace them with the correct constants.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agot7500: fix flipped actual/expect
Andrew Pimlott [Mon, 1 Jul 2013 16:20:36 +0000 (09:20 -0700)] 
t7500: fix flipped actual/expect

Signed-off-by: Andrew Pimlott <andrew@pimlott.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agolib-rebase: document exec_ in FAKE_LINES
Andrew Pimlott [Mon, 1 Jul 2013 16:20:35 +0000 (09:20 -0700)] 
lib-rebase: document exec_ in FAKE_LINES

Signed-off-by: Andrew Pimlott <andrew@pimlott.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoStart preparing for 1.8.3.3
Junio C Hamano [Sun, 30 Jun 2013 22:36:03 +0000 (15:36 -0700)] 
Start preparing for 1.8.3.3

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'fc/macos-x-clipped-write' into maint
Junio C Hamano [Sun, 30 Jun 2013 22:33:40 +0000 (15:33 -0700)] 
Merge branch 'fc/macos-x-clipped-write' into maint

Mac OS X does not like to write(2) more than INT_MAX number of
bytes; work it around by chopping write(2) into smaller pieces.

* fc/macos-x-clipped-write:
  compate/clipped-write.c: large write(2) fails on Mac OS X/XNU

11 years agoMerge branch 'da/darwin' into maint
Junio C Hamano [Sun, 30 Jun 2013 22:33:13 +0000 (15:33 -0700)] 
Merge branch 'da/darwin' into maint

Newer MacOS X encourages the programs to compile and link with their
CommonCrypto, not with OpenSSL.

* da/darwin:
  imap-send: eliminate HMAC deprecation warnings on Mac OS X
  cache.h: eliminate SHA-1 deprecation warnings on Mac OS X
  Makefile: add support for Apple CommonCrypto facility
  Makefile: fix default regex settings on Darwin

11 years agocheck-ignore doc: fix broken link to ls-files page
Ramkumar Ramachandra [Sun, 30 Jun 2013 12:05:28 +0000 (17:35 +0530)] 
check-ignore doc: fix broken link to ls-files page

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agotest: spell 'ls-files --delete' option correctly in test descriptions
SZEDER Gábor [Sun, 30 Jun 2013 10:45:25 +0000 (12:45 +0200)] 
test: spell 'ls-files --delete' option correctly in test descriptions

The option is spelled '--deleted'.

Signed-off-by: SZEDER Gábor <szeder@ira.uka.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoGit 1.8.3.2 v1.8.3.2
Junio C Hamano [Fri, 28 Jun 2013 21:56:30 +0000 (14:56 -0700)] 
Git 1.8.3.2

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoconfigure: fix option help message for --disable-pthreads
Stefano Lattarini [Fri, 28 Jun 2013 17:19:42 +0000 (19:19 +0200)] 
configure: fix option help message for --disable-pthreads

The configure option to disable threading is '--disable-pthreads',
not '--without-pthreads'.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'nd/clone-connectivity-shortcut' (early part) into maint
Junio C Hamano [Fri, 28 Jun 2013 17:00:00 +0000 (10:00 -0700)] 
Merge branch 'nd/clone-connectivity-shortcut' (early part) into maint

Cloning with "git clone --depth N" while fetch.fsckobjects (or
transfer.fsckobjects) is set to true did not tell the cut-off points
of the shallow history to the process that validates the objects and
the history received, causing the validation to fail.

* 'nd/clone-connectivity-shortcut' (early part):
  fetch-pack: prepare updated shallow file before fetching the pack
  clone: let the user know when check_everything_connected is run

11 years agoStart preparing for 1.8.3.2
Junio C Hamano [Thu, 27 Jun 2013 21:48:14 +0000 (14:48 -0700)] 
Start preparing for 1.8.3.2

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'ks/difftool-dir-diff-copy-fix' into maint
Junio C Hamano [Thu, 27 Jun 2013 21:38:22 +0000 (14:38 -0700)] 
Merge branch 'ks/difftool-dir-diff-copy-fix' into maint

* ks/difftool-dir-diff-copy-fix:
  difftool --dir-diff: allow changing any clean working tree file

11 years agoMerge branch 'rr/push-head' into maint
Junio C Hamano [Thu, 27 Jun 2013 21:38:17 +0000 (14:38 -0700)] 
Merge branch 'rr/push-head' into maint

* rr/push-head:
  push: make push.default = current use resolved HEAD
  push: fail early with detached HEAD and current
  push: factor out the detached HEAD error message

11 years agoMerge branch 'fc/show-branch-in-rebase-am' into maint
Junio C Hamano [Thu, 27 Jun 2013 21:38:16 +0000 (14:38 -0700)] 
Merge branch 'fc/show-branch-in-rebase-am' into maint

* fc/show-branch-in-rebase-am:
  prompt: fix for simple rebase

11 years agoMerge branch 'tg/maint-zsh-svn-remote-prompt' into maint
Junio C Hamano [Thu, 27 Jun 2013 21:38:14 +0000 (14:38 -0700)] 
Merge branch 'tg/maint-zsh-svn-remote-prompt' into maint

* tg/maint-zsh-svn-remote-prompt:
  prompt: fix show upstream with svn and zsh

11 years agoMerge branch 'nd/urls-doc-no-file-hyperlink-fix' into maint
Junio C Hamano [Thu, 27 Jun 2013 21:38:12 +0000 (14:38 -0700)] 
Merge branch 'nd/urls-doc-no-file-hyperlink-fix' into maint

* nd/urls-doc-no-file-hyperlink-fix:
  urls.txt: avoid auto converting to hyperlink

11 years agoMerge branch 'tr/push-no-verify-doc' into maint
Junio C Hamano [Thu, 27 Jun 2013 21:38:09 +0000 (14:38 -0700)] 
Merge branch 'tr/push-no-verify-doc' into maint

* tr/push-no-verify-doc:
  Document push --no-verify

11 years agoMerge branch 'rs/commit-m-no-edit' into maint
Junio C Hamano [Thu, 27 Jun 2013 21:38:07 +0000 (14:38 -0700)] 
Merge branch 'rs/commit-m-no-edit' into maint

* rs/commit-m-no-edit:
  commit: don't start editor if empty message is given with -m

11 years agoMerge branch 'jc/strbuf-branchname-fix' into maint
Junio C Hamano [Thu, 27 Jun 2013 21:38:02 +0000 (14:38 -0700)] 
Merge branch 'jc/strbuf-branchname-fix' into maint

* jc/strbuf-branchname-fix:
  strbuf_branchname(): do not double-expand @{-1}~22

11 years agoMerge branch 'mk/combine-diff-context-horizon-fix' into maint
Junio C Hamano [Thu, 27 Jun 2013 21:37:55 +0000 (14:37 -0700)] 
Merge branch 'mk/combine-diff-context-horizon-fix' into maint

* mk/combine-diff-context-horizon-fix:
  combine-diff.c: Fix output when changes are exactly 3 lines apart

11 years agoMerge branch 'kb/ancestry-path-threedots' into maint
Junio C Hamano [Thu, 27 Jun 2013 21:37:52 +0000 (14:37 -0700)] 
Merge branch 'kb/ancestry-path-threedots' into maint

* kb/ancestry-path-threedots:
  revision.c: treat A...B merge bases as if manually specified
  t6019: demonstrate --ancestry-path A...B breakage

11 years agoMerge branch 'jk/subtree-do-not-push-if-split-fails' into maint
Junio C Hamano [Thu, 27 Jun 2013 21:37:44 +0000 (14:37 -0700)] 
Merge branch 'jk/subtree-do-not-push-if-split-fails' into maint

* jk/subtree-do-not-push-if-split-fails:
  contrib/subtree: don't delete remote branches if split fails

11 years agoMerge branch 'mh/fetch-into-shallow' into maint
Junio C Hamano [Thu, 27 Jun 2013 21:37:41 +0000 (14:37 -0700)] 
Merge branch 'mh/fetch-into-shallow' into maint

* mh/fetch-into-shallow:
  t5500: add test for fetching with an unknown 'shallow'
  upload-pack: ignore 'shallow' lines with unknown obj-ids

11 years agoMerge branch 'jh/checkout-auto-tracking' into maint
Junio C Hamano [Thu, 27 Jun 2013 21:37:21 +0000 (14:37 -0700)] 
Merge branch 'jh/checkout-auto-tracking' into maint

* jh/checkout-auto-tracking:
  glossary: Update and rephrase the definition of a remote-tracking branch
  branch.c: Validate tracking branches with refspecs instead of refs/remotes/*
  t9114.2: Don't use --track option against "svn-remote"-tracking branches
  t7201.24: Add refspec to keep --track working
  t3200.39: tracking setup should fail if there is no matching refspec.
  checkout: Use remote refspecs when DWIMming tracking branches
  t2024: Show failure to use refspec when DWIMming remote branch names
  t2024: Add tests verifying current DWIM behavior of 'git checkout <branch>'

11 years agocolumn doc: rewrite documentation for column.ui
Ramkumar Ramachandra [Tue, 25 Jun 2013 15:54:36 +0000 (21:24 +0530)] 
column doc: rewrite documentation for column.ui

The configuration option column.ui is very poorly documented, and it is
unclear what the defaults are, and what option can be combined with
what.  Rewrite it by splitting up the options into three sections
clearly showing how COL_ENABLED, COL_LAYOUT_MASK, and COL_DENSE work.

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agodiff: demote core.safecrlf=true to core.safecrlf=warn
Junio C Hamano [Mon, 24 Jun 2013 21:35:04 +0000 (14:35 -0700)] 
diff: demote core.safecrlf=true to core.safecrlf=warn

Otherwise the user will not be able to start to guess where in the
contents in the working tree the offending unsafe CR lies.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agouser-manual: Update download size for Git and the kernel
W. Trevor King [Wed, 19 Jun 2013 01:55:22 +0000 (21:55 -0400)] 
user-manual: Update download size for Git and the kernel

They've grown since d19fbc3 (Documentation: add git user's manual,
2007-01-07) when the stats were initially added.  I've rounded
download sizes up to the nearest multiple of ten MiB to decrease the
precision and give a bit of growing room.  Exact sizes:

  $ git clone git://git.kernel.org/pub/scm/git/git.git
  Initialized empty Git repository in /tmp/git/.git/
  remote: Counting objects: 156872, done.
  remote: Compressing objects: 100% (40826/40826), done.
  remote: Total 156872 (delta 115322), reused 155492 (delta 114094)
  Receiving objects: 100% (156872/156872), 37.29 MiB | 7.54 MiB/s, done.
  Resolving deltas: 100% (115322/115322), done.

  $ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
  Initialized empty Git repository in /tmp/linux/.git/
  remote: Counting objects: 3057404, done.
  remote: Compressing objects: 100% (474769/474769), done.
  Receiving objects: 100% (3057404/3057404), 634.33 MiB | 27.95 MiB/s, done.
  remote: Total 3057404 (delta 2570385), reused 3040910 (delta 2554408)
  Resolving deltas: 100% (2570385/2570385), done.
  Checking out files: 100% (43012/43012), done.

Signed-off-by: W. Trevor King <wking@tremily.us>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agolib-httpd/apache.conf: check version only after mod_version loads
Jeff King [Fri, 21 Jun 2013 18:12:51 +0000 (14:12 -0400)] 
lib-httpd/apache.conf: check version only after mod_version loads

Commit 0442743 introduced an <IfVersion> directive near the
top of the apache config file. However, at that point we
have not yet checked for and loaded the mod_version module.
This means that the directive will behave oddly if
mod_version is dynamically loaded, failing to match when it
should.

We can fix this by moving the whole block below the
LoadModule directive for mod_version.

Reported-by: Brian Gernhardt <brian@gernhardtsoftware.com>
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoweb--browse: support /usr/bin/cygstart on Cygwin
Yaakov Selkowitz [Fri, 21 Jun 2013 07:24:32 +0000 (02:24 -0500)] 
web--browse: support /usr/bin/cygstart on Cygwin

While both GUI and console Cygwin browsers do exist, anecdotal evidence
suggests most users rely on their native Windows browser.  cygstart,
which is a long-standing part of the base Cygwin installation, will
cause the page to be opened in the default Windows browser (the one
registered to open .html files).

Signed-off-by: Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agocompletion: complete diff --word-diff
Ramkumar Ramachandra [Tue, 18 Jun 2013 19:24:05 +0000 (00:54 +0530)] 
completion: complete diff --word-diff

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoapply: carefully strdup a possibly-NULL name
Thomas Rast [Fri, 21 Jun 2013 11:38:00 +0000 (13:38 +0200)] 
apply: carefully strdup a possibly-NULL name

2901bbe (apply: free patch->{def,old,new}_name fields, 2012-03-21)
cleaned up the memory management of filenames in the patches, but
forgot that find_name_traditional() can return NULL as a way of saying
"I couldn't find a name".

That NULL unfortunately gets passed into xstrdup() next, resulting in
a segfault.  Use null_strdup() so as to safely propagate the null,
which will let us emit the correct error message.

Reported-by: DevHC on #git
Signed-off-by: Thomas Rast <trast@inf.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agopull: merge into unborn by fast-forwarding from empty tree
Thomas Rast [Thu, 20 Jun 2013 22:38:28 +0000 (18:38 -0400)] 
pull: merge into unborn by fast-forwarding from empty tree

The logic for pulling into an unborn branch was originally
designed to be used on a newly-initialized repository
(d09e79c, git-pull: allow pulling into an empty repository,
2006-11-16).  It thus did not initially deal with
uncommitted changes in the unborn branch.  The case of an
_unstaged_ untracked file was fixed by 4b3ffe5 (pull: do not
clobber untracked files on initial pull, 2011-03-25).
However, it still clobbered existing staged files, both when
the file exists in the merged commit (it will be
overwritten), and when it does not (it will be deleted).

We fix this by doing a two-way merge, where the "current"
side of the merge is an empty tree, and the "target" side is
HEAD (already updated to FETCH_HEAD at this point).  This
amounts to claiming that all work in the index was done vs.
an empty tree, and thus all content of the index is
precious.

Note that this use of read-tree just gives us protection
against overwriting index and working tree changes. It will
not actually result in a 3-way merge conflict in the index.
This is fine, as this is a rare situation, and the conflict
would not be interesting anyway (it must, by definition, be
an add/add conflict with the whole content conflicting). And
it makes it simpler for the user to recover, as they have no
HEAD to "git reset" back to.

Reported-by: Stefan Schüßler <mail@stefanschuessler.de>
Signed-off-by: Thomas Rast <trast@inf.ethz.ch>
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agopull: update unborn branch tip after index
Jeff King [Thu, 20 Jun 2013 22:36:31 +0000 (18:36 -0400)] 
pull: update unborn branch tip after index

When commit d09e79c taught git to pull into an unborn
branch, it first updated the unborn branch to point at the
pulled commit, and then used read-tree to update the index
and working tree. That ordering made sense, since any
failure of the latter step would be due to filesystem
errors, and one could then recover with "git reset --hard".

Later, commit 4b3ffe5 added extra safety for existing files
in the working tree by asking read-tree to bail out when it
would overwrite such a file. This error mode is much less
"your pull failed due to random errors" and more like "we
reject this pull because it would lose data". In that case,
it makes sense not to update the HEAD ref, just as a regular
rejected merge would do.

This patch reverses the order of the update-ref and
read-tree calls, so that we do not touch the HEAD ref at all if a
merge is rejected. This also means that we would not update
HEAD in case of a transient filesystem error, but those are
presumably less rare (and one can still recover by repeating
the pull, or by accessing FETCH_HEAD directly).

While we're reorganizing the code, we can drop the "exit 1"
from the end of our command chain. We exit immediately
either way, and just calling exit without an argument will
use the exit code from the last command.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agot7400: test of UTF-8 submodule names pass under Mac OS
Torsten Bögershausen [Thu, 20 Jun 2013 14:58:48 +0000 (16:58 +0200)] 
t7400: test of UTF-8 submodule names pass under Mac OS

submodules with names using UTF-8 need core.precomposeunicode true
under Mac OS X, set it in the test case.

Improve the portability:

  - Not all shells on all OS may understand literal UTF-8 strings.
  - Use a help variable filled by printf, as we do it in e.g. t0050.

"strange names" can be called UTF-8, rephrase the heading.

While at it, unbreak &&-chain in the test, and use test_config.

Signed-off-by: Torsten Bögershausen <tboegi@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agosend-email: sanitize author when writing From line
Michael S. Tsirkin [Tue, 18 Jun 2013 12:49:26 +0000 (15:49 +0300)] 
send-email: sanitize author when writing From line

sender is now sanitized, but we didn't sanitize author when checking
whether From: line is needed in the message body.

As a result git started writing duplicate From: lines when author
matched sender and has utf8 characters.

Reported-by: SZEDER Gábor <szeder@ira.uka.de>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Tested-by: SZEDER Gábor <szeder@ira.uka.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agosend-email: add test for duplicate utf8 name
Michael S. Tsirkin [Tue, 18 Jun 2013 12:49:29 +0000 (15:49 +0300)] 
send-email: add test for duplicate utf8 name

Verify that author name is not duplicated if it matches sender, even
if it is in utf8 (the test expects a failure that will be fixed in
the next patch).

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agorandom typofixes (committed missing a 't', successful missing an 's')
Veres Lajos [Wed, 19 Jun 2013 05:37:24 +0000 (07:37 +0200)] 
random typofixes (committed missing a 't', successful missing an 's')

Signed-off-by: Veres Lajos <vlajos@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agohttp.c: don't rewrite the user:passwd string multiple times
Brandon Casey [Wed, 19 Jun 2013 02:43:49 +0000 (19:43 -0700)] 
http.c: don't rewrite the user:passwd string multiple times

Curl older than 7.17 (RHEL 4.X provides 7.12 and RHEL 5.X provides
7.15) requires that we manage any strings that we pass to it as
pointers.  So, we really shouldn't be modifying this strbuf after we
have passed it to curl.

Our interaction with curl is currently safe (before or after this
patch) since the pointer that is passed to curl is never invalidated;
it is repeatedly rewritten with the same sequence of characters but
the strbuf functions never need to allocate a larger string, so the
same memory buffer is reused.

This "guarantee" of safety is somewhat subtle and could be overlooked
by someone who may want to add a more complex handling of the username
and password.  So, let's stop modifying this strbuf after we have
passed it to curl, but also leave a note to describe the assumptions
that have been made about username/password lifetime and to draw
attention to the code.

Signed-off-by: Brandon Casey <drafnel@gmail.com>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoDocumentation/git-push.txt: explain better cases where --force is dangerous
Matthieu Moy [Mon, 17 Jun 2013 17:52:41 +0000 (19:52 +0200)] 
Documentation/git-push.txt: explain better cases where --force is dangerous

The behavior of "git push --force" is rather clear when it updates only
one remote ref, but running it when pushing several branches can really
be dangerous. Warn the users a bit more and give them the alternative to
push only one branch.

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agot/lib-httpd/apache.conf: configure an MPM module for apache 2.4
Jeff King [Sun, 9 Jun 2013 08:09:32 +0000 (04:09 -0400)] 
t/lib-httpd/apache.conf: configure an MPM module for apache 2.4

Versions of Apache before 2.4 always had a "MultiProcessing
Module" (MPM) statically built in, which manages the worker
threads/processes. We do not care which one, as it is
largely a performance issue, and we put only a light load on
the server during our testing.

As of Apache 2.4, the MPM module is loadable just like any
other module, but exactly one such module must be loaded. On
a system where the MPMs are compiled dynamically (e.g.,
Debian unstable), this means that our test Apache server
will not start unless we provide the appropriate
configuration.

Unfortunately, we do not actually know which MPM modules are
available or appropriate for the system on which the tests
are running. This patch picks the "prefork" module, as it
is likely to be available on all Unix-like systems.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agot/lib-httpd/apache.conf: load compat access module in apache 2.4
Jeff King [Sun, 9 Jun 2013 08:08:45 +0000 (04:08 -0400)] 
t/lib-httpd/apache.conf: load compat access module in apache 2.4

In apache 2.4, the "Order" directive has gone away in favor
of a new system in mod_authz_host. However, since we want
our config file to remain compatible across multiple Apache
versions, we can use mod_access_compat to keep using the
older style.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agot/lib-httpd/apache.conf: load extra auth modules in apache 2.4
Jeff King [Sun, 9 Jun 2013 08:08:22 +0000 (04:08 -0400)] 
t/lib-httpd/apache.conf: load extra auth modules in apache 2.4

In apache 2.4, the "Auth*" and "Require" directives have
moved into the authn_core and authz_core modules,
respectively.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agot/lib-httpd/apache.conf: do not use LockFile in apache >= 2.4
Jeff King [Sun, 9 Jun 2013 08:07:59 +0000 (04:07 -0400)] 
t/lib-httpd/apache.conf: do not use LockFile in apache >= 2.4

The LockFile directive from earlier versions of apache has
been replaced by the Mutex directive. The latter seems to
give sane defaults and does not need any specific
customization, so we can get away with just adding a version
check to the use of LockFile.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agohandle multibyte characters in name
Fredrik Gustafsson [Fri, 14 Jun 2013 00:26:02 +0000 (02:26 +0200)] 
handle multibyte characters in name

Many "git submodule" operations do not work on a submodule at a path whose
name is not in ASCII.

This is because "git ls-files" is used to find which paths are bound to
submodules to the current working tree, and the output is C-quoted by default
for non ASCII pathnames.

Tell "git ls-files" to not C-quote its output, which is easier than unwrapping
C-quote ourselves.

Signed-off-by: Fredrik Gustafsson <iveqy@iveqy.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>