gitweb.git
Merge branch 'jc/maint-mergetool-style-fix' into maint... Junio C Hamano Tue, 11 Sep 2012 18:10:23 +0000 (11:10 -0700)

Merge branch 'jc/maint-mergetool-style-fix' into maint-1.7.11

* jc/maint-mergetool-style-fix:
mergetool: style fixes

Merge branch 'sz/submodule-force-update' into maint... Junio C Hamano Tue, 11 Sep 2012 18:10:17 +0000 (11:10 -0700)

Merge branch 'sz/submodule-force-update' into maint-1.7.11

* sz/submodule-force-update:
Make 'git submodule update --force' always check out submodules.

Merge branch 'ph/stash-rerere' into maint-1.7.11Junio C Hamano Tue, 11 Sep 2012 18:10:12 +0000 (11:10 -0700)

Merge branch 'ph/stash-rerere' into maint-1.7.11

* ph/stash-rerere:
stash: invoke rerere in case of conflict
test: git-stash conflict sets up rerere

Merge branch 'jc/maint-sane-execvp-notdir' into maint... Junio C Hamano Tue, 11 Sep 2012 18:09:19 +0000 (11:09 -0700)

Merge branch 'jc/maint-sane-execvp-notdir' into maint-1.7.11

* jc/maint-sane-execvp-notdir:
sane_execvp(): ignore non-directory on $PATH

Merge branch 'jc/maint-config-exit-status' into maint... Junio C Hamano Tue, 11 Sep 2012 18:09:09 +0000 (11:09 -0700)

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

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

Merge branch 'mh/maint-config-doc-proxy-command' into... Junio C Hamano Tue, 11 Sep 2012 18:09:01 +0000 (11:09 -0700)

Merge branch 'mh/maint-config-doc-proxy-command' into maint-1.7.11

* mh/maint-config-doc-proxy-command:
git-config doc: unconfuse an example
git-config.txt: fix example

Merge branch 'hv/submodule-path-unmatch' into maint... Junio C Hamano Tue, 11 Sep 2012 18:08:55 +0000 (11:08 -0700)

Merge branch 'hv/submodule-path-unmatch' into maint-1.7.11

* hv/submodule-path-unmatch:
Let submodule command exit with error status if path does not exist

Merge branch 'mz/empty-rebase-test' into maint-1.7.11Junio C Hamano Tue, 11 Sep 2012 18:08:48 +0000 (11:08 -0700)

Merge branch 'mz/empty-rebase-test' into maint-1.7.11

* mz/empty-rebase-test:
add tests for 'git rebase --keep-empty'

Merge branch 'jk/docs-docbook-monospace-display' into... Junio C Hamano Tue, 11 Sep 2012 18:08:40 +0000 (11:08 -0700)

Merge branch 'jk/docs-docbook-monospace-display' into maint-1.7.11

* jk/docs-docbook-monospace-display:
docs: monospace listings in docbook output

Merge branch 'ab/diff-write-incomplete-line' into maint... Junio C Hamano Tue, 11 Sep 2012 18:08:30 +0000 (11:08 -0700)

Merge branch 'ab/diff-write-incomplete-line' into maint-1.7.11

* ab/diff-write-incomplete-line:
Fix '\ No newline...' annotation in rewrite diffs

Merge branch 'jc/maint-t7406-rev-parse-max-count-huh... Junio C Hamano Tue, 11 Sep 2012 18:08:18 +0000 (11:08 -0700)

Merge branch 'jc/maint-t7406-rev-parse-max-count-huh' into maint-1.7.11

* jc/maint-t7406-rev-parse-max-count-huh:
t7406: fix misleading "rev-parse --max-count=1 HEAD"

Merge branch 'rr/precompose-utf8-cleanup' into maintJunio C Hamano Tue, 11 Sep 2012 18:07:14 +0000 (11:07 -0700)

Merge branch 'rr/precompose-utf8-cleanup' into maint

* rr/precompose-utf8-cleanup:
precompose-utf8: do not call checks for non-ascii "utf8"
cleanup precompose_utf8

Merge branch 'jc/capabilities' into maintJunio C Hamano Tue, 11 Sep 2012 18:06:45 +0000 (11:06 -0700)

Merge branch 'jc/capabilities' into maint

* 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
do not send client agent unless server does first
send-pack: fix capability-sending logic
include agent identifier in capability string

Merge branch 'jc/doc-git-updates' into maintJunio C Hamano Tue, 11 Sep 2012 18:06:19 +0000 (11:06 -0700)

Merge branch 'jc/doc-git-updates' into maint

* jc/doc-git-updates:
Documentation: update the introductory section

Merge branch 'jk/check-docs-update' into maintJunio C Hamano Tue, 11 Sep 2012 18:06:14 +0000 (11:06 -0700)

Merge branch 'jk/check-docs-update' into maint

* jk/check-docs-update:
check-docs: get documented command list from Makefile
check-docs: drop git-help special-case
check-docs: list git-gui as a command
check-docs: factor out command-list
command-list: mention git-credential-* helpers
command-list: add git-sh-i18n
check-docs: update non-command documentation list
check-docs: mention gitweb specially

Merge branch 'tr/void-diff-setup-done' into maint-1... Junio C Hamano Tue, 11 Sep 2012 17:53:40 +0000 (10:53 -0700)

Merge branch 'tr/void-diff-setup-done' into maint-1.7.11

* tr/void-diff-setup-done:
diff_setup_done(): return void

Merge branch 'tr/merge-recursive-flush' into maint... Junio C Hamano Tue, 11 Sep 2012 17:53:31 +0000 (10:53 -0700)

Merge branch 'tr/merge-recursive-flush' into maint-1.7.11

* tr/merge-recursive-flush:
merge-recursive: eliminate flush_buffer() in favor of write_in_full()

Merge branch 'nd/index-errno' into maint-1.7.11Junio C Hamano Tue, 11 Sep 2012 17:53:21 +0000 (10:53 -0700)

Merge branch 'nd/index-errno' into maint-1.7.11

* nd/index-errno:
read_index_from: remove bogus errno assignments

Merge branch 'pg/maint-apply-remove-unused-variable... Junio C Hamano Tue, 11 Sep 2012 17:53:11 +0000 (10:53 -0700)

Merge branch 'pg/maint-apply-remove-unused-variable' into maint-1.7.11

* pg/maint-apply-remove-unused-variable:
apply: delete unused deflate_origlen from patch struct

Merge branch 'jc/test-prereq' into maintJunio C Hamano Tue, 11 Sep 2012 17:51:58 +0000 (10:51 -0700)

Merge branch 'jc/test-prereq' into maint

* jc/test-prereq:
t3910: use the UTF8_NFD_TO_NFC test prereq
test-lib: provide UTF8 behaviour as a prerequisite
t0050: use the SYMLINKS test prereq
t0050: use the CASE_INSENSITIVE_FS test prereq
test-lib: provide case insensitivity as a prerequisite
test: allow prerequisite to be evaluated lazily
test: rename $satisfied to $satisfied_prereq

run-command.c: fix broken list iteration in clear_child... David Gould Tue, 11 Sep 2012 14:32:47 +0000 (15:32 +0100)

run-command.c: fix broken list iteration in clear_child_for_cleanup

Iterate through children_to_clean using 'next' fields but with an
extra level of indirection. This allows us to update the chain when
we remove a child and saves us managing several variables around
the loop mechanism.

Signed-off-by: David Gould <david@optimisefitness.com>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

build: don't duplicate substitution of make variablesStefano Lattarini Tue, 11 Sep 2012 15:45:30 +0000 (17:45 +0200)

build: don't duplicate substitution of make variables

Thanks to our 'GIT_CONF_SUBST' layer in configure.ac, a make variable 'VAR'
can be defined to a value 'VAL' at ./configure runtime in our build system
simply by using "GIT_CONF_SUBST([VAR], [VAL])" in configure.ac, rather than
having both to call "AC_SUBST([VAR], [VAL])" in configure.ac and adding the
'VAR = @VAR@' definition in config.mak.in. Less duplication, less margin
for error, less possibility of confusion.

While at it, fix some formatting issues in configure.ac that unnecessarily
obscured the code flow.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

build: improve GIT_CONF_SUBST signatureStefano Lattarini Tue, 11 Sep 2012 15:45:29 +0000 (17:45 +0200)

build: improve GIT_CONF_SUBST signature

Now, in configure.ac, a call like:

GIT_CONF_SUBST([FOO])

will be considered equivalent to:

GIT_CONF_SUBST([FOO], [$FOO])

This is mostly a preparatory refactoring in view of future changes.
No semantic change to the generated configure or config.mak.auto is
intended.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

completion: complete branch name for "branch --set... Michael J Gruber Tue, 11 Sep 2012 11:58:30 +0000 (13:58 +0200)

completion: complete branch name for "branch --set-upstream-to="

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

completion: add --set-upstream-to and --unset-upstreamCarlos Martín Nieto Sat, 1 Sep 2012 15:13:10 +0000 (17:13 +0200)

completion: add --set-upstream-to and --unset-upstream

Remove --set-upstream as it's deprecated now.

Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

blame $path: avoid getting fooled by case insensitive... Junio C Hamano Mon, 10 Sep 2012 23:30:20 +0000 (16:30 -0700)

blame $path: avoid getting fooled by case insensitive filesystems

"git blame MAKEFILE" run in a history that has "Makefile" but not
MAKEFILE can get confused on a case insensitive filesystem, because
the check we run to see if there is a corresponding file in the
working tree with lstat("MAKEFILE") succeeds. In addition to that
check, we have to make sure that the given path also exists in the
commit we start digging history from (i.e. "HEAD").

Note that this reveals the breakage in a test added in cd8ae20
(git-blame shouldn't crash if run in an unmerged tree, 2007-10-18),
which expects the entire merge-in-progress path to be blamed to the
working tree when it did not exist in our tree. As it is clear in
the log message of that commit, the old breakage was that it was
causing an internal error and the fix was about avoiding it.

Just check that the command does not die an uncontrolled death. For
this particular case, the blame should fail, as the history for the
file in that contents has not been committed yet at the point in the
test.

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

First half of the fifth batch for 1.8.0Junio C Hamano Mon, 10 Sep 2012 22:52:21 +0000 (15:52 -0700)

First half of the fifth batch for 1.8.0

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

Merge branch 'cn/branch-set-upstream-to'Junio C Hamano Mon, 10 Sep 2012 22:43:07 +0000 (15:43 -0700)

Merge branch 'cn/branch-set-upstream-to'

"git branch --set-upstream origin/master" is a common mistake to
create a local branch 'origin/master' and set it to integrate with
the current branch. With a plan to deprecate this option, introduce
"git branch (-u|--set-upstream-to) origin/master" that sets the
current branch to integrate with 'origin/master' remote tracking
branch.

* cn/branch-set-upstream-to:
branch: deprecate --set-upstream and show help if we detect possible mistaken use
branch: add --unset-upstream option
branch: introduce --set-upstream-to

Merge branch 'mz/cherry-pick-cmdline-order'Junio C Hamano Mon, 10 Sep 2012 22:42:54 +0000 (15:42 -0700)

Merge branch 'mz/cherry-pick-cmdline-order'

"git cherry-pick A C B" used to replay changes in A and then B and
then C if these three commits had committer timestamps in that
order, which is not what the user who said "A C B" naturally expects.

* mz/cherry-pick-cmdline-order:
cherry-pick/revert: respect order of revisions to pick
demonstrate broken 'git cherry-pick three one two'
teach log --no-walk=unsorted, which avoids sorting

Merge branch 'jk/maint-quiet-is-synonym-to-s-in-log'Junio C Hamano Mon, 10 Sep 2012 22:42:48 +0000 (15:42 -0700)

Merge branch 'jk/maint-quiet-is-synonym-to-s-in-log'

We tried to bend backwards to allow "--quiet" to be a synonym as
"-s" when given as e.g. "git show --quiet", but did not quite
succeed.

* jk/maint-quiet-is-synonym-to-s-in-log:
log: fix --quiet synonym for -s

Merge branch 'ph/credential-gnome-keyring'Junio C Hamano Mon, 10 Sep 2012 22:42:30 +0000 (15:42 -0700)

Merge branch 'ph/credential-gnome-keyring'

* ph/credential-gnome-keyring:
contrib: add credential helper for GnomeKeyring

Cull items fixed in maintenance branchesJunio C Hamano Mon, 10 Sep 2012 22:41:14 +0000 (15:41 -0700)

Cull items fixed in maintenance branches

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

Sync with "almost" 1.7.12.1Junio C Hamano Mon, 10 Sep 2012 22:40:07 +0000 (15:40 -0700)

Sync with "almost" 1.7.12.1

Start preparing for 1.7.12.1Junio C Hamano Mon, 10 Sep 2012 22:39:15 +0000 (15:39 -0700)

Start preparing for 1.7.12.1

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

Merge branch 'bc/prune-info' into maintJunio C Hamano Mon, 10 Sep 2012 22:37:37 +0000 (15:37 -0700)

Merge branch 'bc/prune-info' into maint

"git prune" without "-v" used to warn about leftover temporary
files (which is an indication of an earlier aborted operation).

* bc/prune-info:
prune.c: only print informational message in show_only or verbose mode

Merge branch 'maint-1.7.11' into maintJunio C Hamano Mon, 10 Sep 2012 22:31:06 +0000 (15:31 -0700)

Merge branch 'maint-1.7.11' into maint

* maint-1.7.11:
Almost 1.7.11.6
gitweb: URL-decode $my_url/$my_uri when stripping PATH_INFO
rebase -i: use full onto sha1 in reflog
sh-setup: protect from exported IFS
receive-pack: do not leak output from auto-gc to standard output
t/t5400: demonstrate breakage caused by informational message from prune
setup: clarify error messages for file/revisions ambiguity
send-email: improve RFC2047 quote parsing
fsck: detect null sha1 in tree entries
do not write null sha1s to on-disk index
diff: do not use null sha1 as a sentinel value

Almost 1.7.11.6Junio C Hamano Mon, 10 Sep 2012 22:30:46 +0000 (15:30 -0700)

Almost 1.7.11.6

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

Merge branch 'mg/rebase-i-onto-reflog-in-full' into... Junio C Hamano Mon, 10 Sep 2012 22:26:03 +0000 (15:26 -0700)

Merge branch 'mg/rebase-i-onto-reflog-in-full' into maint-1.7.11

The reflog entries left by "git rebase" and "git rebase -i" were
inconsistent (the interactive one gave an abbreviated object name).

* mg/rebase-i-onto-reflog-in-full:
rebase -i: use full onto sha1 in reflog

Merge branch 'jc/maint-protect-sh-from-ifs' into maint... Junio C Hamano Mon, 10 Sep 2012 22:25:45 +0000 (15:25 -0700)

Merge branch 'jc/maint-protect-sh-from-ifs' into maint-1.7.11

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.

* jc/maint-protect-sh-from-ifs:
sh-setup: protect from exported IFS

Merge branch 'bc/receive-pack-stdout-protection' into... Junio C Hamano Mon, 10 Sep 2012 22:25:09 +0000 (15:25 -0700)

Merge branch 'bc/receive-pack-stdout-protection' into maint-1.7.11

When "git push" triggered the automatic gc on the receiving end, a
message from "git prune" that said it was removing cruft leaked to
the standard output, breaking the communication protocol.

* bc/receive-pack-stdout-protection:
receive-pack: do not leak output from auto-gc to standard output
t/t5400: demonstrate breakage caused by informational message from prune

Merge branch 'jk/maint-null-in-trees' into maint-1... Junio C Hamano Mon, 10 Sep 2012 22:24:53 +0000 (15:24 -0700)

Merge branch 'jk/maint-null-in-trees' into maint-1.7.11

"git diff" had a confusion between taking data from a path in the
working tree and taking data from an object that happens to have
name 0{40} recorded in a tree.

* jk/maint-null-in-trees:
fsck: detect null sha1 in tree entries
do not write null sha1s to on-disk index
diff: do not use null sha1 as a sentinel value

Merge branch 'tr/maint-send-email-2047' into maint... Junio C Hamano Mon, 10 Sep 2012 22:24:40 +0000 (15:24 -0700)

Merge branch 'tr/maint-send-email-2047' into maint-1.7.11

"git send-email" did not unquote encoded words that appear on the
header correctly, and lost "_" from strings.

* tr/maint-send-email-2047:
send-email: improve RFC2047 quote parsing

Merge branch 'mm/die-with-dashdash-help' into maint... Junio C Hamano Mon, 10 Sep 2012 22:24:21 +0000 (15:24 -0700)

Merge branch 'mm/die-with-dashdash-help' into maint-1.7.11

When the user gives an argument that can be taken as both a
revision name and a pathname without disambiguating with "--", we
used to give a help message "Use '--' to separate". The message
has been clarified to show where that '--' goes on the command
line.

* mm/die-with-dashdash-help:
setup: clarify error messages for file/revisions ambiguity

Merge branch 'js/gitweb-path-info-unquote' into maint... Junio C Hamano Mon, 10 Sep 2012 22:23:46 +0000 (15:23 -0700)

Merge branch 'js/gitweb-path-info-unquote' into maint-1.7.11

"gitweb" when used with PATH_INFO failed to notice directories with
SP (and other characters that need URL-style quoting) in them.

* js/gitweb-path-info-unquote:
gitweb: URL-decode $my_url/$my_uri when stripping PATH_INFO

gitcli: contrast wildcard given to shell and to gitJunio C Hamano Fri, 7 Sep 2012 20:49:15 +0000 (13:49 -0700)

gitcli: contrast wildcard given to shell and to git

People who are not used to working with shell may intellectually
understand how the command line argument is massaged by the shell
but still have a hard time visualizing the difference between
letting the shell expand fileglobs and having Git see the fileglob
to use as a pathspec.

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

gitcli: formatting fixJunio C Hamano Mon, 10 Sep 2012 19:47:38 +0000 (12:47 -0700)

gitcli: formatting fix

The paragraph to encourage use of "--" in scripts belongs to the
bullet point that describes the behaviour for a command line without
the explicit "--" disambiguation; it is not a supporting explanation
for the entire bulletted list, and it is wrong to make it a separate
paragraph outside the list.

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

t0060: split absolute path test in two to exercise... Johannes Sixt Sun, 9 Sep 2012 15:42:20 +0000 (17:42 +0200)

t0060: split absolute path test in two to exercise some of it on Windows

Only the first half of the test works only on POSIX, the second half
passes on Windows as well.

A later test "real path removes other extra slashes" looks very similar,
but it does not make sense to split it in the same way: When two slashes
are prepended in front of an absolute DOS-style path on Windows, the
meaning of the path is changed (//server/share style), so that the test
cannot pass on Windows.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Acked-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

mailinfo: strip "RE: " prefixJunio C Hamano Sun, 9 Sep 2012 09:59:58 +0000 (02:59 -0700)

mailinfo: strip "RE: " prefix

We already strip the more common Re: and re:, and we do not often
see RE: from saner MUA, but this prefix does exist and gets used
from time to time.

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

attr: "binary" attribute should choose built-in "binary... Junio C Hamano Sun, 9 Sep 2012 04:28:55 +0000 (21:28 -0700)

attr: "binary" attribute should choose built-in "binary" merge driver

The built-in "binary" attribute macro expands to "-diff -text", so
that textual diff is not produced, and the contents will not go
through any CR/LF conversion ever. During a merge, it should also
choose the "binary" low-level merge driver, but it didn't.

Make it expand to "-diff -merge -text".

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

merge: teach -Xours/-Xtheirs to binary ll-merge driverJunio C Hamano Sun, 9 Sep 2012 04:27:19 +0000 (21:27 -0700)

merge: teach -Xours/-Xtheirs to binary ll-merge driver

The (discouraged) -Xours/-Xtheirs modes of merge are supposed to
give a quick and dirty way to come up with a random mixture of
cleanly merged parts and punted conflict resolution to take contents
from one side in conflicting parts. These options however were only
passed down to the low level merge driver for text.

Teach the built-in binary merge driver to notice them as well.

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

Document MKDIR_WO_TRAILING_SLASH in MakefileJoachim Schmitz Sat, 8 Sep 2012 17:01:31 +0000 (19:01 +0200)

Document MKDIR_WO_TRAILING_SLASH in Makefile

Signed-off-by: Joachim Schmitz <jojo@schmitz-digital.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Add a no-op setitimer() wrapperJoachim Schmitz Sat, 8 Sep 2012 16:54:34 +0000 (18:54 +0200)

Add a no-op setitimer() wrapper

The current code uses setitimer() only for reducing perceived
latency. On platforms that lack setitimer() (e.g. HP NonStop),
allow builders to say "make NO_SETITIMER=YesPlease" to use a no-op
substitute, as doing so would not affect correctness.

HP NonStop does provide struct itimerval, but other platforms may
not, so this is taken care of in this commit too, by setting
NO_STRUCT_ITIMERVAL.

Signed-off-by: Joachim Schmitz <jojo@schmitz-digital.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

gitk: Rename 'tagcontents' to 'cached_tagcontent'David Aguilar Sat, 8 Sep 2012 19:53:16 +0000 (12:53 -0700)

gitk: Rename 'tagcontents' to 'cached_tagcontent'

Name the 'tagcontents' variable similarly to the rest of the
variables cleared in the changedrefs() function.

This makes the naming consistent and provides a hint that it
should be cleared when reloading gitk's cache.

Suggested-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

gitk: Teach "Reread references" to reload tagsDavid Aguilar Sat, 8 Sep 2012 19:03:13 +0000 (12:03 -0700)

gitk: Teach "Reread references" to reload tags

Tag contents, once read, are forever cached in memory.
This makes gitk unable to notice when tag contents change.

Allow users to cause a reload of the tag contents by using
the "File->Reread references" action.

Reported-by: Tim McCormack <cortex@brainonfire.net>
Suggested-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

l10n: vi.po: update to v1.7.12-146-g16d26Tran Ngoc Quan Wed, 5 Sep 2012 00:47:08 +0000 (07:47 +0700)

l10n: vi.po: update to v1.7.12-146-g16d26

* 2 new messages
* review messages again (8 of them by Duy) and fixed typo

Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>

The fourth batch for 1.8.0Junio C Hamano Fri, 7 Sep 2012 18:25:22 +0000 (11:25 -0700)

The fourth batch for 1.8.0

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

Merge branch 'nd/branch-v-alignment'Junio C Hamano Fri, 7 Sep 2012 18:10:02 +0000 (11:10 -0700)

Merge branch 'nd/branch-v-alignment'

Output from "git branch -v" contains "(no branch)" that could be
localized, but the code to align it along with the names of branches
were counting in bytes, not in display columns.

* nd/branch-v-alignment:
branch -v: align even when branch names are in UTF-8

Merge branch 'jk/maint-http-half-auth-push'Junio C Hamano Fri, 7 Sep 2012 18:09:49 +0000 (11:09 -0700)

Merge branch 'jk/maint-http-half-auth-push'

Pushing to smart HTTP server with recent Git fails without having
the username in the URL to force authentication, if the server is
configured to allow GET anonymously, while requiring authentication
for POST.

* jk/maint-http-half-auth-push:
http: prompt for credentials on failed POST
http: factor out http error code handling
t: test http access to "half-auth" repositories
t: test basic smart-http authentication
t/lib-httpd: recognize */smart/* repos as smart-http
t/lib-httpd: only route auth/dumb to dumb repos
t5550: factor out http auth setup
t5550: put auth-required repo in auth/dumb

Merge branch 'jc/maint-doc-checkout-b-always-takes... Junio C Hamano Fri, 7 Sep 2012 18:09:36 +0000 (11:09 -0700)

Merge branch 'jc/maint-doc-checkout-b-always-takes-branch-name'

The synopsis said "checkout [-B branch]" to make it clear the branch
name is a parameter to the option, but the heading for the option
description was "-B::", not "-B branch::", making the documentation
misleading. There may be room in documentation pages of other
commands for similar improvements.

* jc/maint-doc-checkout-b-always-takes-branch-name:
doc: "git checkout -b/-B/--orphan" always takes a branch name

Merge branch 'jc/apply-binary-p0'Junio C Hamano Fri, 7 Sep 2012 18:09:26 +0000 (11:09 -0700)

Merge branch 'jc/apply-binary-p0'

"git apply -p0" did not parse pathnames on "diff --git" line
correctly. This caused patches that had pathnames in no other
places to be mistakenly rejected (most notably, binary patch that
does not rename nor change mode). Textual patches, renames or
mode changes have preimage and postimage pathnames in different
places in a form that can be parsed unambiguously and did not suffer
from this problem.

* jc/apply-binary-p0:
apply: compute patch->def_name correctly under -p0

Merge branch 'jc/dotdot-is-parent-directory'Junio C Hamano Fri, 7 Sep 2012 18:09:18 +0000 (11:09 -0700)

Merge branch 'jc/dotdot-is-parent-directory'

"git log .." errored out saying it is both rev range and a path when
there is no disambiguating "--" is on the command line. Update the
command line parser to interpret ".." as a path in such a case.

* jc/dotdot-is-parent-directory:
specifying ranges: we did not mean to make ".." an empty set

Merge branch 'nd/i18n-parseopt-help'Junio C Hamano Fri, 7 Sep 2012 18:09:09 +0000 (11:09 -0700)

Merge branch 'nd/i18n-parseopt-help'

A lot of i18n mark-up for the help text from "git <cmd> -h".

* nd/i18n-parseopt-help: (66 commits)
Use imperative form in help usage to describe an action
Reduce translations by using same terminologies
i18n: write-tree: mark parseopt strings for translation
i18n: verify-tag: mark parseopt strings for translation
i18n: verify-pack: mark parseopt strings for translation
i18n: update-server-info: mark parseopt strings for translation
i18n: update-ref: mark parseopt strings for translation
i18n: update-index: mark parseopt strings for translation
i18n: tag: mark parseopt strings for translation
i18n: symbolic-ref: mark parseopt strings for translation
i18n: show-ref: mark parseopt strings for translation
i18n: show-branch: mark parseopt strings for translation
i18n: shortlog: mark parseopt strings for translation
i18n: rm: mark parseopt strings for translation
i18n: revert, cherry-pick: mark parseopt strings for translation
i18n: rev-parse: mark parseopt strings for translation
i18n: reset: mark parseopt strings for translation
i18n: rerere: mark parseopt strings for translation
i18n: status: mark parseopt strings for translation
i18n: replace: mark parseopt strings for translation
...

Merge branch 'nd/am-i18n-fix'Junio C Hamano Fri, 7 Sep 2012 18:09:04 +0000 (11:09 -0700)

Merge branch 'nd/am-i18n-fix'

"git am" wasn't marked up for i18n properly.

* nd/am-i18n-fix:
am: quote string for translation before passing to eval_gettextln

Merge branch 'jk/config-warn-on-inaccessible-paths'Junio C Hamano Fri, 7 Sep 2012 18:08:56 +0000 (11:08 -0700)

Merge branch 'jk/config-warn-on-inaccessible-paths'

When looking for $HOME/.gitconfig etc., it is OK if we cannot read
them because they do not exist, but we did not diagnose existing
files that we cannot read.

* jk/config-warn-on-inaccessible-paths:
warn_on_inaccessible(): a helper to warn on inaccessible paths
attr: warn on inaccessible attribute files
gitignore: report access errors of exclude files
config: warn on inaccessible files

Merge branch 'kk/maint-for-each-ref-multi-sort'Junio C Hamano Fri, 7 Sep 2012 18:08:50 +0000 (11:08 -0700)

Merge branch 'kk/maint-for-each-ref-multi-sort'

"git for-each-ref" did not currectly support more than one --sort
option.

* kk/maint-for-each-ref-multi-sort:
for-each-ref: Fix sort with multiple keys
t6300: test sort with multiple keys

Merge branch 'lt/commit-tree-guess-utf-8'Junio C Hamano Fri, 7 Sep 2012 18:08:38 +0000 (11:08 -0700)

Merge branch 'lt/commit-tree-guess-utf-8'

Teach "git commit" and "git commit-tree" the "we are told to use
utf-8 in log message, but this does not look like utf-8---attempt to
pass it through convert-from-latin1-to-utf8 and see if it makes
sense" heuristics "git mailinfo" already uses.

* lt/commit-tree-guess-utf-8:
commit/commit-tree: correct latin1 to utf-8

Merge branch 'pw/p4-use-client-spec-branch-detection'Junio C Hamano Fri, 7 Sep 2012 18:08:27 +0000 (11:08 -0700)

Merge branch 'pw/p4-use-client-spec-branch-detection'

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

* 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'Junio C Hamano Fri, 7 Sep 2012 18:08:10 +0000 (11:08 -0700)

Merge branch 'tr/maint-parseopt-avoid-empty'

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

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

Merge branch 'nd/i18n-poison-test-updates'Junio C Hamano Fri, 7 Sep 2012 18:07:59 +0000 (11:07 -0700)

Merge branch 'nd/i18n-poison-test-updates'

Update tests that can be broken with gettext-poison builds.

* nd/i18n-poison-test-updates:
Fix tests under GETTEXT_POISON on parseopt
Fix tests under GETTEXT_POISON on git-remote
Fix tests under GETTEXT_POISON on pack-object
Fix tests under GETTEXT_POISON on git-apply
Fix tests under GETTEXT_POISON on diffstat
Fix tests under GETTEXT_POISON on git-stash
Fix tests under GETTEXT_POISON on relative dates

ls-remote: document the '--get-url' optionStefan Naewe Fri, 7 Sep 2012 06:41:19 +0000 (08:41 +0200)

ls-remote: document the '--get-url' option

While looking for a way to expand the URL of a remote
that uses a 'url.<name>.insteadOf' config option I stumbled
over the undocumented '--get-url' option of 'git ls-remote'.
This adds some minimum documentation for that option.

And while at it, also add that option to the '-h' output.

Signed-off-by: Stefan Naewe <stefan.naewe@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

l10n: de.po: translate 2 new messagesRalf Thielow Wed, 5 Sep 2012 16:17:29 +0000 (18:17 +0200)

l10n: de.po: translate 2 new messages

Translate 2 new messages came from git.pot update in
ccfca8d (l10n: Update git.pot (2 new, 4 removed messages)).

Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>

fetch --all: pass --tags/--no-tags through to each... Dan Johnson Wed, 5 Sep 2012 21:22:19 +0000 (17:22 -0400)

fetch --all: pass --tags/--no-tags through to each remote

When fetch is invoked with --all, we need to pass the tag-following
preference to each individual fetch; without this, we will always
auto-follow tags, preventing us from fetching the remote tags into a
remote-specific namespace, for example.

Reported-by: Oswald Buddenhagen <ossi@kde.org>
Signed-off-by: Dan Johnson <ComputerDruid@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

l10n: zh_CN.po: translate 2 new messagesJiang Xin Tue, 4 Sep 2012 23:27:16 +0000 (07:27 +0800)

l10n: zh_CN.po: translate 2 new messages

Translate 2 new messages came from git.pot update in ccfca8d
(l10n: Update git.pot (2 new, 4 removed messages))

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>

t0060: verify that real_path() removes extra slashesMichael Haggerty Thu, 6 Sep 2012 22:41:04 +0000 (00:41 +0200)

t0060: verify that real_path() removes extra slashes

Adjusted for Windows by: Johannes Sixt <j6t@kdbg.org>

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

real_path(): properly handle nonexistent top-level... Michael Haggerty Thu, 6 Sep 2012 22:41:03 +0000 (00:41 +0200)

real_path(): properly handle nonexistent top-level paths

The change has two points:

1. Do not strip off a leading slash, because that erroneously turns an
absolute path into a relative path.

2. Do not remove slashes from groups of multiple slashes; instead let
chdir() handle them. It could be, for example, that it wants to
leave leading double-slashes alone.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t0060: verify that real_path() works correctly with... Michael Haggerty Thu, 6 Sep 2012 22:41:02 +0000 (00:41 +0200)

t0060: verify that real_path() works correctly with absolute paths

There is currently a bug: if passed an absolute top-level path that
doesn't exist (e.g., "/foo") it incorrectly interprets the path as a
relative path (e.g., returns "$(pwd)/foo"). So mark the test as
failing.

These tests are skipped on Windows because test-path-utils operates on
a DOS-style absolute path even if a POSIX style absolute path is
passed as argument.

Adjusted for Windows by: Johannes Sixt <j6t@kdbg.org>

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

real_path(): reject the empty stringMichael Haggerty Thu, 6 Sep 2012 22:41:01 +0000 (00:41 +0200)

real_path(): reject the empty string

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t0060: verify that real_path() fails if passed the... Michael Haggerty Thu, 6 Sep 2012 22:41:00 +0000 (00:41 +0200)

t0060: verify that real_path() fails if passed the empty string

It doesn't, so mark the test as failing.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

absolute_path(): reject the empty stringMichael Haggerty Thu, 6 Sep 2012 22:40:59 +0000 (00:40 +0200)

absolute_path(): reject the empty string

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t0060: verify that absolute_path() fails if passed... Michael Haggerty Thu, 6 Sep 2012 22:40:58 +0000 (00:40 +0200)

t0060: verify that absolute_path() fails if passed the empty string

It doesn't, so mark the test as failing.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t0060: move tests of real_path() from t0000 to hereMichael Haggerty Thu, 6 Sep 2012 22:40:57 +0000 (00:40 +0200)

t0060: move tests of real_path() from t0000 to here

Suggested by: Johannes Sixt <j6t@kdbg.org>

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

send-email: initial_to and initial_reply_to are both... Stephen Boyd Thu, 6 Sep 2012 18:31:11 +0000 (11:31 -0700)

send-email: initial_to and initial_reply_to are both optional

We may pick up additional recipients from the format-patch output
files we are sending, in which case it is perfectly valid to leave
the @initial_to empty when the prompt asks. We may want to start
a new discussion thread without replying to anything, and it is
valid to leave $initial_reply_to empty.

An earlier update to avoid y@example.com stuffed in address fields
did not take these two cases into account.

Signed-off-by: Stephen Boyd <bebarino@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

status: remove i18n legosNguyễn Thái Ngọc Duy Thu, 6 Sep 2012 15:16:50 +0000 (22:16 +0700)

status: remove i18n legos

"%s files" gives no sense what "%s" might be. Give translators full
phrases.

"blah blah blah%s\n" where %s is another sentence does not show the real
length of full line. As a result, l10n messages may exceed 80 columns
unintentionally. Make it two sentences.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

doc: move rev-list option -<n> from git-log.txt to... Nguyễn Thái Ngọc Duy Thu, 6 Sep 2012 14:28:03 +0000 (21:28 +0700)

doc: move rev-list option -<n> from git-log.txt to rev-list-options.txt

rev-list-options.txt is included in git-rev-list.txt. This makes sure
rev-list man page also shows that, and at one place, together with
equivalent options -n and --max-count.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

remote: prefer subcommand name 'remove' to 'rm'Nguyễn Thái Ngọc Duy Thu, 6 Sep 2012 12:25:23 +0000 (19:25 +0700)

remote: prefer subcommand name 'remove' to 'rm'

All remote subcommands are spelled out words except 'rm'. 'rm', being a
popular UNIX command name, may mislead users that there are also 'ls' or
'mv'. Use 'remove' to fit with the rest of subcommands.

'rm' is still supported and used in the test suite. It's just not
widely advertised.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

cvsimport: strip all inappropriate tag stringsKen Dreyer Thu, 6 Sep 2012 16:36:53 +0000 (10:36 -0600)

cvsimport: strip all inappropriate tag strings

Certain characters such as "?" can be present in a CVS tag name, but
git does not allow these characters in tags. If git-cvsimport
encounters a CVS tag that git cannot handle, cvsimport will error and
refuse to continue the import beyond that point.

When importing CVS tags, strip all the inappropriate strings from the
tag names as we translate them to git tag names.

Provide more debugging information to the user if we've altered the
tag and the "git tag" command still fails. Also, warn the user if we
end up skipping an (unusable) tag altogether.

Signed-off-by: Ken Dreyer <ktdreyer@ktdreyer.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

l10n: Update git.pot (2 new, 4 removed messages)Jiang Xin Tue, 4 Sep 2012 22:20:57 +0000 (06:20 +0800)

l10n: Update git.pot (2 new, 4 removed messages)

Generate po/git.pot from v1.7.12-146-g16d26, and there are 2 new,
4 removed l10n messages.

* 2 new messages are added at lines:

4151, 4172

* 4 old messages are deleted from the previous version at lines:

350, 354, 2069, 4166

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>

Call mkpathdup() rather than xstrdup(mkpath(...))Ramsay Jones Tue, 4 Sep 2012 17:31:14 +0000 (18:31 +0100)

Call mkpathdup() rather than xstrdup(mkpath(...))

In addition to updating the xstrdup(mkpath(...)) call sites with
mkpathdup(), we also fix a memory leak (in merge_3way()) caused by
neglecting to free the memory allocated to the 'base_name' variable.

Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Call git_pathdup() rather than xstrdup(git_path(".... Ramsay Jones Tue, 4 Sep 2012 17:30:21 +0000 (18:30 +0100)

Call git_pathdup() rather than xstrdup(git_path("..."))

In addition to updating the two xstrdup(git_path("...")) call sites
with git_pathdup(), we also fix a memory leak by freeing the memory
allocated to the ADD_EDIT.patch 'file' in the edit_patch() function.

Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

path.c: Use vsnpath() in the implementation of git_path()Ramsay Jones Tue, 4 Sep 2012 17:29:22 +0000 (18:29 +0100)

path.c: Use vsnpath() in the implementation of git_path()

The current implementation of git_path() is essentially the same as
that of vsnpath(), with two minor differences. First, git_path()
currently insists that the git directory path is no longer than
PATH_MAX-100 characters in length. However, vsnpath() does not
attempt this arbitrary 100 character reservation for the remaining
path components. Second, vsnpath() uses the "is_dir_sep()" macro,
rather than comparing directly to '/', to determine if the git_dir
path component ends with a path separator.

In order to benefit from the above improvements, along with increased
compatability with git_snpath() and git_pathdup(), we reimplement the
git_path() function using vsnpath().

Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

path.c: Don't discard the return value of vsnpath()Ramsay Jones Tue, 4 Sep 2012 17:27:54 +0000 (18:27 +0100)

path.c: Don't discard the return value of vsnpath()

The git_snpath() and git_pathdup() functions both use the (static)
function vsnpath() in their implementation. Also, they both discard
the return value of vsnpath(), which has the effect of ignoring the
side effect of calling cleanup_path() in the non-error return path.

In order to ensure that the required cleanup happens, we use the
pointer returned by vsnpath(), rather than the buffer passed into
vsnpath(), to derive the return value from git_snpath() and
git_pathdup().

Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

path.c: Remove the 'git_' prefix from a file scope... Ramsay Jones Tue, 4 Sep 2012 17:26:30 +0000 (18:26 +0100)

path.c: Remove the 'git_' prefix from a file scope function

In particular, the git_vsnpath() function, despite the 'git_' prefix
suggesting otherwise, is (correctly) declared with file scope.

Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Document file-glob for "git checkout -- '*.c'"Junio C Hamano Tue, 4 Sep 2012 15:28:27 +0000 (08:28 -0700)

Document file-glob for "git checkout -- '*.c'"

Just like we give a similar example in "git add" documentation.

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

l10n: vi.po & TEAMS: review Vietnamese translationTran Ngoc Quan Tue, 4 Sep 2012 01:22:21 +0000 (08:22 +0700)

l10n: vi.po & TEAMS: review Vietnamese translation

* Add Duy into Vietnamese team
* review translation

Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>

Update mailmap for a handful of folksJunio C Hamano Mon, 3 Sep 2012 23:24:23 +0000 (16:24 -0700)

Update mailmap for a handful of folks

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

The third batch for 1.8.0Junio C Hamano Mon, 3 Sep 2012 23:23:44 +0000 (16:23 -0700)

The third batch for 1.8.0

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

Merge branch 'js/use-sc-open-max'Junio C Hamano Mon, 3 Sep 2012 22:54:41 +0000 (15:54 -0700)

Merge branch 'js/use-sc-open-max'

Introduce get_max_fd_limit() to absorb platforms that do not have
getrlimit(RLIMIT_NOFILE) and/or sysconf(_SC_OPEN_MAX).

* js/use-sc-open-max:
sha1_file.c: introduce get_max_fd_limit() helper

Merge branch 'js/compat-mkdir'Junio C Hamano Mon, 3 Sep 2012 22:54:37 +0000 (15:54 -0700)

Merge branch 'js/compat-mkdir'

Some mkdir(2) implementations do not want to see trailing slash in
its parameter.

* js/compat-mkdir:
compat: some mkdir() do not like a slash at the end

Merge branch 'js/no-curl-easy-strerror-on-old-curl'Junio C Hamano Mon, 3 Sep 2012 22:54:30 +0000 (15:54 -0700)

Merge branch 'js/no-curl-easy-strerror-on-old-curl'

Done to support compilation on __TANDEM, but is independently useful
for people with older version of libcURL.

* js/no-curl-easy-strerror-on-old-curl:
http.c: don't use curl_easy_strerror prior to curl-7.12.0

Merge branch 'jc/maint-mergetool-style-fix'Junio C Hamano Mon, 3 Sep 2012 22:54:25 +0000 (15:54 -0700)

Merge branch 'jc/maint-mergetool-style-fix'

* jc/maint-mergetool-style-fix:
mergetool: style fixes