gitweb.git
apply: register conflicted stages to the indexJunio C Hamano Wed, 9 May 2012 23:50:58 +0000 (16:50 -0700)

apply: register conflicted stages to the index

Now we have all the necessary logic to fall back on three-way merge when
the patch does not cleanly apply, insert the conflicted entries to the
index as appropriate. This obviously triggers only when the "--index"
option is used.

When we fall back to three-way merge and some of the merges fail, just
like the case where the "--reject" option was specified and we had to
write some "*.rej" files out for unapplicable patches, exit the command
with non-zero status without showing the diffstat and summary. Otherwise
they would make the list of problematic paths scroll off the display.

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

apply: --3way with add/add conflictJunio C Hamano Thu, 7 Jun 2012 22:04:11 +0000 (15:04 -0700)

apply: --3way with add/add conflict

When a patch wants to create a path, but we already have it in our
current state, pretend as if the patch and we independently added
the same path and cause add/add conflict, so that the user can
resolve it just like "git merge" in the same situation.

For that purpose, implement load_current() in terms of the
load_patch_target() helper introduced earlier to read the current
contents from the path given by patch->new_name (patch->old_name is
NULL for a creation patch).

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

apply: move verify_index_match() higherJunio C Hamano Wed, 13 Jun 2012 04:16:02 +0000 (21:16 -0700)

apply: move verify_index_match() higher

We will be adding another caller of this function in a later patch.

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

apply: plug the three-way merge logic inJunio C Hamano Wed, 9 May 2012 23:10:51 +0000 (16:10 -0700)

apply: plug the three-way merge logic in

When a patch does not apply to what we have, but we know the preimage the
patch was made against, we apply the patch to the preimage to compute what
the patch author wanted the result to look like, and attempt a three-way
merge between the result and our version, using the intended preimage as
the base version.

When we are applying the patch using the index, we would additionally need
to add the object names of these three blobs involved in the merge, which
is not yet done in this step, but we add a field to "struct patch" so that
later write-out step can use it.

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

apply: fall back on three-way mergeJunio C Hamano Fri, 8 Jun 2012 16:54:10 +0000 (09:54 -0700)

apply: fall back on three-way merge

Grab the preimage blob the patch claims to be based on out of the object
store, apply the patch, and then call three-way-merge function. This step
still does not plug the actual three-way merge logic yet, but we are
getting there.

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

apply: accept -3/--3way command line optionJunio C Hamano Tue, 8 May 2012 20:21:53 +0000 (13:21 -0700)

apply: accept -3/--3way command line option

Begin teaching the three-way merge fallback logic "git am -3" uses
to the underlying "git apply". It only implements the command line
parsing part, and does not do anything interesting yet, other than
making sure that "--reject" and "--3way" are not given together, and
making "--3way" imply "--index".

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

apply: move "already exists" logic to check_to_create()Junio C Hamano Thu, 7 Jun 2012 21:10:19 +0000 (14:10 -0700)

apply: move "already exists" logic to check_to_create()

The check_to_create_blob() function used to check only the case
where we are applying to the working tree. Rename the function to
check_to_create() and make it also responsible for checking the case
where we apply to the index. Also make its caller responsible for
issuing an error message.

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

apply: move check_to_create_blob() closer to its sole... Junio C Hamano Thu, 7 Jun 2012 21:06:47 +0000 (14:06 -0700)

apply: move check_to_create_blob() closer to its sole caller

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

apply: further split load_preimage()Junio C Hamano Tue, 12 Jun 2012 22:23:54 +0000 (15:23 -0700)

apply: further split load_preimage()

load_preimage() is very specific to grab the current contents for
the path given by patch->old_name. Split the logic that grabs the
contents for a path out of it into a separate load_patch_target()
function.

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

apply: refactor "previous patch" logicJunio C Hamano Wed, 16 May 2012 21:03:52 +0000 (14:03 -0700)

apply: refactor "previous patch" logic

The code to grab the result of application of a previous patch in the
input was mixed with error message generation for a case where a later
patch tries to modify contents of a path that has been removed.

The same code is duplicated elsewhere in the code. Introduce a helper
to clarify what is going on.

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

apply: split load_preimage() helper function outJunio C Hamano Tue, 8 May 2012 20:35:21 +0000 (13:35 -0700)

apply: split load_preimage() helper function out

Given a patch for a single path, the function apply_data() reads the
preimage in core, and applies the change represented in the patch.

Separate out the first part that reads the preimage into a separate
helper function load_preimage().

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

apply: factor out checkout_target() helper functionJunio C Hamano Wed, 13 Jun 2012 05:47:12 +0000 (22:47 -0700)

apply: factor out checkout_target() helper function

When a patch wants to touch a path, if the path exists in the index
but is missing in the working tree, "git apply --index" checks out
the file to the working tree from the index automatically and then
applies the patch.

Split this logic out to a separate helper function.

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

apply: refactor read_file_or_gitlink()Junio C Hamano Tue, 8 May 2012 22:11:02 +0000 (15:11 -0700)

apply: refactor read_file_or_gitlink()

Reading a blob out of the object store does not have to require that the
caller has a cache entry for it.

Create a read_blob_object() helper function that takes the object name and
mode, and use it to reimplement the original function as a thin wrapper to
it.

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

apply: clear_image() clears things a bit moreJunio C Hamano Tue, 8 May 2012 21:38:06 +0000 (14:38 -0700)

apply: clear_image() clears things a bit more

The clear_image() function did not clear the line table in the image
structure; this does not matter for the current callers, as the function
is only called from the codepaths that deal with binary patches where the
line table is never populated, and the codepaths that do populate the line
table free it themselves.

But it will start to matter when we introduce a codepath to retry a failed
patch, so make sure it clears and frees everything.

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

apply: a bit more comments on PATH_TO_BE_DELETEDJunio C Hamano Wed, 16 May 2012 20:21:39 +0000 (13:21 -0700)

apply: a bit more comments on PATH_TO_BE_DELETED

The code is littered with to_be_deleted() whose purpose is not so clear.
Describe where it matters. Also remove an extra space before "#define"
that snuck in by mistake at 7fac0ee (builtin-apply: keep information about
files to be deleted, 2009-04-11).

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

apply: fix an incomplete comment in check_patch()Junio C Hamano Wed, 16 May 2012 22:31:18 +0000 (15:31 -0700)

apply: fix an incomplete comment in check_patch()

This check is not only about type-change (for which it would be
sufficient to check only was_deleted()) but is also about a swap
rename. Otherwise to_be_deleted() check is not justified.

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

The ninth batch of topics graduated to 'master'Junio C Hamano Mon, 7 May 2012 20:39:38 +0000 (13:39 -0700)

The ninth batch of topics graduated to 'master'

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

Merge branch 'nh/empty-rebase'Junio C Hamano Mon, 7 May 2012 20:29:16 +0000 (13:29 -0700)

Merge branch 'nh/empty-rebase'

By Neil Horman
* nh/empty-rebase:
git cherry-pick: do not dereference a potential NULL pointer

Merge branch 'zj/diff-empty-chmod'Junio C Hamano Mon, 7 May 2012 20:29:08 +0000 (13:29 -0700)

Merge branch 'zj/diff-empty-chmod'

"git diff --stat" used to fully count a binary file with modified
execution bits whose contents is unmodified, which was not right.

By Zbigniew Jędrzejewski-Szmek (4) and Johannes Sixt (1)
* zj/diff-empty-chmod:
t4006: Windows do not have /dev/zero
diff --stat: do not run diff on indentical files
diff --stat: report mode-only changes for binary files like text files
tests: check --[short]stat output after chmod
test: modernize style of t4006

Conflicts:
diff.c

Merge branch 'jk/maint-tformat-with-z'Junio C Hamano Mon, 7 May 2012 20:29:01 +0000 (13:29 -0700)

Merge branch 'jk/maint-tformat-with-z'

"log -z --pretty=tformat:..." does not terminate each record with NUL
and this is a beginning of an attempt to fix it. It still is not right
but the patch does not make externally observable behaviour worse.

By Jan Krüger (1) and Junio C Hamano (1)
* jk/maint-tformat-with-z:
log-tree: the previous one is still not quite right
log-tree: use custom line terminator in line termination mode

Merge branch 'th/difftool-diffall'Junio C Hamano Mon, 7 May 2012 20:28:44 +0000 (13:28 -0700)

Merge branch 'th/difftool-diffall'

Rolls the two-directory-diff logic from diffall script (in contrib/) into
"git difftool" framework.

By Tim Henigan
* th/difftool-diffall:
difftool: print list of valid tools with '--tool-help'
difftool: teach difftool to handle directory diffs
difftool: eliminate setup_environment function
difftool: stop appending '.exe' to git
difftool: remove explicit change of PATH
difftool: exit(0) when usage is printed
difftool: add '--no-gui' option
difftool: parse options using Getopt::Long

Sync with maintJunio C Hamano Mon, 7 May 2012 20:28:34 +0000 (13:28 -0700)

Sync with maint

Start preparing for 1.7.10.2Junio C Hamano Mon, 7 May 2012 20:24:13 +0000 (13:24 -0700)

Start preparing for 1.7.10.2

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

Merge branch 'jk/maint-gitweb-test-use-sane-perl' into... Junio C Hamano Mon, 7 May 2012 20:17:31 +0000 (13:17 -0700)

Merge branch 'jk/maint-gitweb-test-use-sane-perl' into maint

When using a Perl script on a system where "perl" found on user's $PATH
could be ancient or otherwise broken, we allow builders to specify the
path to a good copy of Perl with $PERL_PATH. The gitweb test forgot to
use that Perl when running its test.

By Jeff King (1) and Zbigniew Jędrzejewski-Szmek (1)
* jk/maint-gitweb-test-use-sane-perl:
Consistently use perl from /usr/bin/ for scripts
t/gitweb-lib: use $PERL_PATH to run gitweb

Merge branch 'js/daemon-test-race-fix' into maintJunio C Hamano Mon, 7 May 2012 20:17:17 +0000 (13:17 -0700)

Merge branch 'js/daemon-test-race-fix' into maint

The test scaffolding for git-daemon was flaky.

By Johannes Sixt
* js/daemon-test-race-fix:
t5570: fix forwarding of git-daemon messages via cat

Merge branch 'jk/maint-config-bogus-section' into maintJunio C Hamano Mon, 7 May 2012 20:14:08 +0000 (13:14 -0700)

Merge branch 'jk/maint-config-bogus-section' into maint

"git config --rename-section" to rename an existing section into a bogus
one did not check the new name.

By Jeff King
* jk/maint-config-bogus-section:
config: reject bogus section names for --rename-section

Merge branch 'pw/t5800-import-race-fix' into maintJunio C Hamano Mon, 7 May 2012 20:13:55 +0000 (13:13 -0700)

Merge branch 'pw/t5800-import-race-fix' into maint

The test scaffolding for fast-import was flaky.

By Pete Wyckoff
* pw/t5800-import-race-fix:
git-remote-testgit: fix race when spawning fast-import

Merge branch 'rt/cherry-revert-conflict-summary' into... Junio C Hamano Mon, 7 May 2012 20:13:43 +0000 (13:13 -0700)

Merge branch 'rt/cherry-revert-conflict-summary' into maint

In the older days, the header "Conflicts:" in "cherry-pick" and "merge"
was separated by a blank line from the list of paths that follow for
readability, but when "merge" was rewritten in C, we lost it by
mistake. Remove the newline from "cherry-pick" to make them match again.

By Ralf Thielow
* rt/cherry-revert-conflict-summary:
sequencer: remove additional blank line

Merge branch 'cb/maint-report-mount-point-correctly... Junio C Hamano Mon, 7 May 2012 20:13:03 +0000 (13:13 -0700)

Merge branch 'cb/maint-report-mount-point-correctly-in-setup' into maint

The filesystem boundary was not correctly reported when .git directory
discovery stopped at a mount point.

By Clemens Buchacher
* cb/maint-report-mount-point-correctly-in-setup:
properly keep track of current working directory

git p4 doc: fix formattingPete Wyckoff Sun, 6 May 2012 15:58:38 +0000 (11:58 -0400)

git p4 doc: fix formatting

Attach example sections to previous level of indenting.

Fix a trailing ::

Signed-off-by: Pete Wyckoff <pw@padd.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Makefile: keep many variable list sortedNguyễn Thái Ngọc Duy Fri, 4 May 2012 13:52:36 +0000 (20:52 +0700)

Makefile: keep many variable list sorted

We tend to keep long lists sorted (extensions are not taken into
account), which helps spot a name easily by eye. Rearrange a few
items so these lists remain sorted.

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

git cherry-pick: do not dereference a potential NULL... Neil Horman Thu, 3 May 2012 12:10:22 +0000 (08:10 -0400)

git cherry-pick: do not dereference a potential NULL pointer

In the case the pointer could be NULL, the function that gave the caller
the NULL pointer would already have issued an error message, so simply
returning early with an error status without issuing a new message is
sufficient. The same for parse_commit() that will show necessary error
message when the argument is not NULL, and will return error silently
when the argument is NULL.

Noticed-by: Michael Mueller
Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint'Junio C Hamano Thu, 3 May 2012 22:37:28 +0000 (15:37 -0700)

Merge branch 'maint'

* maint:

Merge branch 'jc/merge-reduce-parents-early' into maintJunio C Hamano Thu, 3 May 2012 22:36:15 +0000 (15:36 -0700)

Merge branch 'jc/merge-reduce-parents-early' into maint

Octopus merge strategy did not reduce heads that are recorded in the final
commit correctly.

By Junio C Hamano (4) and Michał Kiedrowicz (1)
* jc/merge-reduce-parents-early:
fmt-merge-msg: discard needless merge parents
builtin/merge.c: reduce parents early
builtin/merge.c: collect other parents early
builtin/merge.c: remove "remoteheads" global variable
merge tests: octopus with redundant parents

Merge branch 'cb/cherry-pick-rev-path-confusion' into... Junio C Hamano Thu, 3 May 2012 22:35:19 +0000 (15:35 -0700)

Merge branch 'cb/cherry-pick-rev-path-confusion' into maint

The command line parser choked "git cherry-pick $name" when $name can be
both revision name and a pathname, even though $name can never be a path
in the context of the command.

By Clemens Buchacher
* cb/cherry-pick-rev-path-confusion:
cherry-pick: do not expect file arguments

Merge branch 'cb/http-multi-curl-auth' into maintJunio C Hamano Thu, 3 May 2012 22:34:51 +0000 (15:34 -0700)

Merge branch 'cb/http-multi-curl-auth' into maint

HTTP transport that requires authentication did not work correctly when
multiple connections are used simultaneously.

By Jeff King (3) and Clemens Buchacher (1)
* cb/http-multi-curl-auth:
http: use newer curl options for setting credentials
http: clean up leak in init_curl_http_auth
fix http auth with multiple curl handles
http auth fails with multiple curl handles

Merge branch 'mb/fetch-call-a-non-branch-a-ref' into... Junio C Hamano Thu, 3 May 2012 22:29:25 +0000 (15:29 -0700)

Merge branch 'mb/fetch-call-a-non-branch-a-ref' into maint

The report from "git fetch" said "new branch" even for a non branch ref.

By Marc Branchaud
* mb/fetch-call-a-non-branch-a-ref:
fetch: describe new refs based on where it came from
fetch: Give remote_ref to update_local_ref() as well

Merge branch 'rl/maint-stash-i18n-save-error' into... Junio C Hamano Thu, 3 May 2012 22:24:22 +0000 (15:24 -0700)

Merge branch 'rl/maint-stash-i18n-save-error' into maint

i18n marking for an error message for "git stash --notavalidoption"
was incorrect.

By Ross Lagerwall
* rl/maint-stash-i18n-save-error:
stash: use eval_gettextln correctly

Merge branch 'jm/maint-strncpy-diff-no-index' into... Junio C Hamano Thu, 3 May 2012 22:23:17 +0000 (15:23 -0700)

Merge branch 'jm/maint-strncpy-diff-no-index' into maint

"diff --no-index" codepath had a few places that used fixed-size
buffer and truncated paths that are too long.

By Jim Meyering (1) and Junio C Hamano (1)
* jm/maint-strncpy-diff-no-index:
diff --no-index: use strbuf for temporary pathnames
diff: avoid stack-buffer-read-overrun for very long name

Merge branch 'jk/maint-push-progress'Junio C Hamano Thu, 3 May 2012 22:13:55 +0000 (15:13 -0700)

Merge branch 'jk/maint-push-progress'

"git push" over smart-http lost progress output and this resurrects it.

By Jeff King
* jk/maint-push-progress:
t5541: test more combinations of --progress
teach send-pack about --[no-]progress
send-pack: show progress when isatty(2)

Merge branch 'nd/columns'Junio C Hamano Thu, 3 May 2012 22:13:31 +0000 (15:13 -0700)

Merge branch 'nd/columns'

A couple of commands learn --column option to produce columnar output.

By Nguyễn Thái Ngọc Duy (9) and Zbigniew Jędrzejewski-Szmek (1)
* nd/columns:
tag: add --column
column: support piping stdout to external git-column process
status: add --column
branch: add --column
help: reuse print_columns() for help -a
column: add dense layout support
t9002: work around shells that are unable to set COLUMNS to 1
column: add columnar layout
Stop starting pager recursively
Add column layout skeleton and git-column

doc/config: fix inline literalsJeff King Wed, 2 May 2012 23:43:52 +0000 (19:43 -0400)

doc/config: fix inline literals

Since commit 6cf378f, asciidoc backticks are now inline
literals; therefore quoting {tilde} inside them is wrong
(this instance was missed in 6cf378f because it happened on
a parallel line of development).

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

The eighth batch of topics graduated to 'master'Junio C Hamano Wed, 2 May 2012 21:11:36 +0000 (14:11 -0700)

The eighth batch of topics graduated to 'master'

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

Merge branch 'master' of git://git.bogomips.org/git-svnJunio C Hamano Wed, 2 May 2012 21:38:29 +0000 (14:38 -0700)

Merge branch 'master' of git://git.bogomips.org/git-svn

via Eric Wong
* 'master' of git://git.bogomips.org/git-svn:
git-svn: introduce SVN version comparison function

Merge branch 'tr/xdiff-fast-hash'Junio C Hamano Wed, 2 May 2012 20:54:58 +0000 (13:54 -0700)

Merge branch 'tr/xdiff-fast-hash'

Use word-at-a-time comparison to find end of line or NUL (end of buffer),
borrowed from the linux-kernel discussion.

By Thomas Rast
* tr/xdiff-fast-hash:
xdiff: choose XDL_FAST_HASH code on sizeof(long) instead of __WORDSIZE
xdiff: load full words in the inner loop of xdl_hash_record

Merge branch 'jk/maint-gitweb-test-use-sane-perl'Junio C Hamano Wed, 2 May 2012 20:53:40 +0000 (13:53 -0700)

Merge branch 'jk/maint-gitweb-test-use-sane-perl'

When using a Perl script on a system where "perl" found on user's $PATH
could be ancient or otherwise broken, we allow builders to specify the
path to a good copy of Perl with $PERL_PATH. The gitweb test forgot to
use that Perl when running its test.

By Jeff King (1) and Zbigniew Jędrzejewski-Szmek (1)
* jk/maint-gitweb-test-use-sane-perl:
Consistently use perl from /usr/bin/ for scripts
t/gitweb-lib: use $PERL_PATH to run gitweb

Merge branch 'pw/message-cleanup'Junio C Hamano Wed, 2 May 2012 20:53:35 +0000 (13:53 -0700)

Merge branch 'pw/message-cleanup'

Many error/warning messages had extra trailing newlines that are
unnecessary.

By Pete Wyckoff
* pw/message-cleanup:
remove blank filename in error message
remove superfluous newlines in error messages

Merge branch 'zj/diff-stat-smaller-num-columns'Junio C Hamano Wed, 2 May 2012 20:53:28 +0000 (13:53 -0700)

Merge branch 'zj/diff-stat-smaller-num-columns'

Spend only minimum number of columns necessary to show the number of lines
in the output from "diff --stat", instead of always allocating 4 columns
even when showing changes that are much smaller than 1000 lines.

By Zbigniew Jędrzejewski-Szmek
* zj/diff-stat-smaller-num-columns:
diff --stat: use less columns for change counts

Merge branch 'pw/p4-various'Junio C Hamano Wed, 2 May 2012 20:53:23 +0000 (13:53 -0700)

Merge branch 'pw/p4-various'

Miscellaneous updates to "git p4".

By Pete Wyckoff
* pw/p4-various:
git p4: submit files with wildcards
git p4: fix writable file after rename or copy
git p4: test submit
git p4: bring back files in deleted client directory

Merge branch 'jc/rerere-train'Junio C Hamano Wed, 2 May 2012 20:53:15 +0000 (13:53 -0700)

Merge branch 'jc/rerere-train'

A script written long time ago proved to be useful this week for me ;-)
with a minor tweak.

* jc/rerere-train:
contrib/rerere-train: use installed git-sh-setup

Merge branch 'ab/i18n'Junio C Hamano Wed, 2 May 2012 20:53:02 +0000 (13:53 -0700)

Merge branch 'ab/i18n'

Fix some constructs that build messages meant for i18n by concatenating
pieces of strings.

By Ævar Arnfjörð Bjarmason
* ab/i18n:
git-commit: remove lego in i18n messages
git-commit: remove lego in i18n messages
git-branch: remove lego in i18n messages

Merge branch 'lp/diffstat-with-graph'Junio C Hamano Wed, 2 May 2012 20:51:59 +0000 (13:51 -0700)

Merge branch 'lp/diffstat-with-graph'

"log --graph" was not very friendly with "--stat" option and its output
had line breaks at wrong places.

By Lucian Poston (5) and Zbigniew Jędrzejewski-Szmek (2)
* lp/diffstat-with-graph:
t4052: work around shells unable to set COLUMNS to 1
Prevent graph_width of stat width from falling below min
t4052: Test diff-stat output with minimum columns
t4052: Adjust --graph --stat output for prefixes
Adjust stat width calculations to take --graph output into account
Add output_prefix_length to diff_options
t4052: test --stat output with --graph

Merge branch 'zj/mksh-columns-breakage'Junio C Hamano Wed, 2 May 2012 20:51:53 +0000 (13:51 -0700)

Merge branch 'zj/mksh-columns-breakage'

A broken shell may not let us set an environment value to an arbitrary
value, interfering with some of the tests. Introduce a test prerequisite
so that we can skip some tests on such a platform.

By Zbigniew Jędrzejewski-Szmek
* zj/mksh-columns-breakage:
test-lib: skip test with COLUMNS=1 under mksh

Merge branch 'jk/doc-asciidoc-inline-literal'Junio C Hamano Wed, 2 May 2012 20:51:45 +0000 (13:51 -0700)

Merge branch 'jk/doc-asciidoc-inline-literal'

Our documentation was written for an ancient version of AsciiDoc,
making the source not very readable.

By Jeff King
* jk/doc-asciidoc-inline-literal:
docs: stop using asciidoc no-inline-literal

Merge branch 'nd/i18n'Junio C Hamano Wed, 2 May 2012 20:51:35 +0000 (13:51 -0700)

Merge branch 'nd/i18n'

More message strings marked for i18n.

By Nguyễn Thái Ngọc Duy (10) and Jonathan Nieder (1)
* nd/i18n:
help: replace underlining "help -a" headers using hyphens with a blank line
i18n: bundle: mark strings for translation
i18n: index-pack: mark strings for translation
i18n: apply: update say_patch_name to give translators complete sentence
i18n: apply: mark strings for translation
i18n: remote: mark strings for translation
i18n: make warn_dangling_symref() automatically append \n
i18n: help: mark strings for translation
i18n: mark relative dates for translation
strbuf: convenience format functions with \n automatically appended
Makefile: feed all header files to xgettext

Merge branch 'mm/simple-push'Junio C Hamano Wed, 2 May 2012 20:51:24 +0000 (13:51 -0700)

Merge branch 'mm/simple-push'

New users tend to work on one branch at a time and push the result
out. The current and upstream modes of push is a more suitable default
mode than matching mode for these people, but neither is surprise-free
depending on how the project is set up. Introduce a "simple" mode that
is a subset of "upstream" but only works when the branch is named the same
between the remote and local repositories.

The plan is to make it the new default when push.default is not
configured.

By Matthieu Moy (5) and others
* mm/simple-push:
push.default doc: explain simple after upstream
push: document the future default change for push.default (matching -> simple)
t5570: use explicit push refspec
push: introduce new push.default mode "simple"
t5528-push-default.sh: add helper functions
Undocument deprecated alias 'push.default=tracking'
Documentation: explain push.default option a bit more

Merge branch 'jc/index-v4'Junio C Hamano Wed, 2 May 2012 20:51:13 +0000 (13:51 -0700)

Merge branch 'jc/index-v4'

Trivially shrinks the on-disk size of the index file to save both I/O and
checksum overhead.

The topic should give a solid base to build on further updates, with the
code refactoring in its earlier parts, and the backward compatibility
mechanism in its later parts.

* jc/index-v4:
index-v4: document the entry format
unpack-trees: preserve the index file version of original
update-index: upgrade/downgrade on-disk index version
read-cache.c: write prefix-compressed names in the index
read-cache.c: read prefix-compressed names in index on-disk version v4
read-cache.c: move code to copy incore to ondisk cache to a helper function
read-cache.c: move code to copy ondisk to incore cache to a helper function
read-cache.c: report the header version we do not understand
read-cache.c: make create_from_disk() report number of bytes it consumed
read-cache.c: allow unaligned mapping of the index file
cache.h: hide on-disk index details
varint: make it available outside the context of pack

git-svn: introduce SVN version comparison functionJunio C Hamano Wed, 2 May 2012 19:53:50 +0000 (19:53 +0000)

git-svn: introduce SVN version comparison function

With double-digit version components in SVN::Core::VERSION,
a naive string comparison is no longer sufficient and
a numeric comparison is required for correct results.

This fixes a regression introduced in
commit 082afee621aeb2d3746c8ae290af98823f981f34
("git-svn: use platform specific auth providers")
where SVN version "1.6.6" was incorrectly assumed to
be newer than the required "1.6.12" version.

[mk: fix namespace references]
[ew: commit message]

Tested-by: Matthijs Kooijman <matthijs@stdin.nl>
Acked-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t4006: Windows do not have /dev/zeroJohannes Sixt Wed, 2 May 2012 07:36:44 +0000 (09:36 +0200)

t4006: Windows do not have /dev/zero

We only need to have a file with _some_ binary contents; be nice to
our Windows friends and avoid using /dev/zero

Signed-off-by: Johannes Sixt <j.sixt@viscovery.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

diff --stat: do not run diff on indentical filesZbigniew Jędrzejewski-Szmek Tue, 1 May 2012 17:10:15 +0000 (19:10 +0200)

diff --stat: do not run diff on indentical files

If two objects are known to be equal, there is no point running the diff.

Signed-off-by: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

diff --stat: report mode-only changes for binary files... Zbigniew Jędrzejewski-Szmek Tue, 1 May 2012 17:10:14 +0000 (19:10 +0200)

diff --stat: report mode-only changes for binary files like text files

Mode-only changes to binary files without content change were reported as
if they were rewritten, but text files in the same situation were reported
as "unchanged". Let's treat binary files like text files here, and simply
say that they are unchanged.

Output of --shortstat is modified in the same way.

Reported-by: Martin Mareš <mj@ucw.cz>
Signed-off-by: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'master' of https://github.com/git-l10n... Junio C Hamano Wed, 2 May 2012 04:22:35 +0000 (21:22 -0700)

Merge branch 'master' of https://github.com/git-l10n/git-po

By Jiang Xin (2) and Ralf Thielow (1)
via Jiang Xin
* 'master' of https://github.com/git-l10n/git-po:
l10n: Update German translation
l10n: Update Simplified Chinese translation
l10n: Update git.pot (33 new, 24 deleted messages)

Sync with v1.7.10.1Junio C Hamano Wed, 2 May 2012 04:20:46 +0000 (21:20 -0700)

Sync with v1.7.10.1

Git 1.7.10.1 v1.7.10.1Junio C Hamano Wed, 2 May 2012 04:18:44 +0000 (21:18 -0700)

Git 1.7.10.1

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

Merge branch 'pw/fast-import-dataref-parsing' into... Junio C Hamano Wed, 2 May 2012 04:12:46 +0000 (21:12 -0700)

Merge branch 'pw/fast-import-dataref-parsing' into maint

The parser in "fast-import" did not diagnose ":9" style references that is
not followed by required SP/LF as an error.

By Pete Wyckoff
* pw/fast-import-dataref-parsing:
fast-import: tighten parsing of datarefs

Merge branch 'it/fetch-pack-many-refs' into maintJunio C Hamano Wed, 2 May 2012 04:12:36 +0000 (21:12 -0700)

Merge branch 'it/fetch-pack-many-refs' into maint

When "git fetch" encounters repositories with too many references, the
command line of "fetch-pack" that is run by a helper e.g. remote-curl, may
fail to hold all of them. Now such an internal invocation can feed the
references through the standard input of "fetch-pack".

By Ivan Todoroski
* it/fetch-pack-many-refs:
remote-curl: main test case for the OS command line overflow
fetch-pack: test cases for the new --stdin option
remote-curl: send the refs to fetch-pack on stdin
fetch-pack: new --stdin option to read refs from stdin

Conflicts:
t/t5500-fetch-pack.sh

Merge branch 'jl/maint-submodule-recurse-fetch' into... Junio C Hamano Wed, 2 May 2012 04:12:25 +0000 (21:12 -0700)

Merge branch 'jl/maint-submodule-recurse-fetch' into maint

"git fetch" that recurses into submodules on demand did not check if it
needs to go into submodules when non branches (most notably, tags) are
fetched.

By Jens Lehmann
* jl/maint-submodule-recurse-fetch:
submodules: recursive fetch also checks new tags for submodule commits

Merge branch 'jc/maint-blame-minimal' into maintJunio C Hamano Wed, 2 May 2012 04:11:49 +0000 (21:11 -0700)

Merge branch 'jc/maint-blame-minimal' into maint

"git blame" started missing quite a few changes from the origin since we
stopped using the diff minimalization by default in v1.7.2 era.

Teach "--minimal" option to "git blame" to work around this regression.

* jc/maint-blame-minimal:
blame: accept --need-minimal

Merge branch 'lp/maint-diff-three-dash-with-graph'... Junio C Hamano Wed, 2 May 2012 04:11:40 +0000 (21:11 -0700)

Merge branch 'lp/maint-diff-three-dash-with-graph' into maint

"log -p --graph" used with "--stat" had a few formatting error.

By Lucian Poston
* lp/maint-diff-three-dash-with-graph:
t4202: add test for "log --graph --stat -p" separator lines
log --graph: fix break in graph lines
log --graph --stat: three-dash separator should come after graph lines

Merge branch 'jk/rebase-i-submodule-conflict-only'... Junio C Hamano Wed, 2 May 2012 04:11:26 +0000 (21:11 -0700)

Merge branch 'jk/rebase-i-submodule-conflict-only' into maint

Giving "--continue" to a conflicted "rebase -i" session skipped a
commit that only results in changes to submodules.

By John Keeping
* jk/rebase-i-submodule-conflict-only:
rebase -i continue: don't skip commits that only change submodules

Merge branch 'maint' of https://github.com/git-l10n... Junio C Hamano Wed, 2 May 2012 04:09:46 +0000 (21:09 -0700)

Merge branch 'maint' of https://github.com/git-l10n/git-po

By Byrial Jensen (2) and others
via Jiang Xin (1) and Ralf Thielow (1)
* 'maint' of https://github.com/git-l10n/git-po:
l10n: Initial German translation
l10n: Update Simplified Chinese translation
l10n: Update git.pot (2 new messages)
l10n: Add the German translation team and initialize de.po
l10n: Add Danish team (da) to list of teams
l10n: New da.po file with 0 translations
l10n: Updated pt_PT language

l10n: Update German translationRalf Thielow Sat, 28 Apr 2012 08:28:03 +0000 (10:28 +0200)

l10n: Update German translation

Translate new messages for git master branch.

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

Merge l10n updates from branch 'maint' into masterJiang Xin Tue, 1 May 2012 23:30:14 +0000 (07:30 +0800)

Merge l10n updates from branch 'maint' into master

By Ralf Thielow
* maint:
l10n: Initial German translation

Consistently use perl from /usr/bin/ for scriptsZbigniew Jędrzejewski-Szmek Tue, 1 May 2012 20:18:18 +0000 (22:18 +0200)

Consistently use perl from /usr/bin/ for scripts

While the majority of scripts use '#!/usr/bin/perl', some use
'#!/usr/bin/env perl'. In the end there is no difference, because the
Makefile rewrites "#!.*perl" with "#!$PERL_PATH" in scripted
Porcelains before installing. Nevertheless, the second form can be
misleading, because it suggests that perl found first in $PATH will be
used.

Suggested-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

xdiff: choose XDL_FAST_HASH code on sizeof(long) instea... Thomas Rast Tue, 1 May 2012 10:23:20 +0000 (12:23 +0200)

xdiff: choose XDL_FAST_HASH code on sizeof(long) instead of __WORDSIZE

Darwin does not define __WORDSIZE, and compiles the 32-bit code path
on 64-bit systems, resulting in a totally broken git.

I could not find an alternative -- other than the platform symbols
(__x86_64__ etc.) -- that does the test in the preprocessor. However,
we can also just test for the size of a 'long', which is what really
matters here. Any compiler worth its salt will leave only the branch
relevant for its platform, and indeed on Linux/GCC the numbers don't
change:

Test tr/darwin-xdl-fast-hash origin/next origin/master
------------------------------------------------------------------------------------------------------------------
4000.1: log -3000 (baseline) 0.09(0.07+0.01) 0.09(0.07+0.01) -5.5%* 0.09(0.07+0.01) -4.1%
4000.2: log --raw -3000 (tree-only) 0.47(0.41+0.05) 0.47(0.40+0.05) -0.5% 0.45(0.38+0.06) -3.5%.
4000.3: log -p -3000 (Myers) 1.81(1.67+0.12) 1.81(1.67+0.13) +0.3% 1.99(1.84+0.12) +10.2%***
4000.4: log -p -3000 --histogram 1.79(1.66+0.11) 1.80(1.67+0.11) +0.4% 1.96(1.82+0.10) +9.2%***
4000.5: log -p -3000 --patience 2.17(2.02+0.13) 2.20(2.04+0.13) +1.3%. 2.33(2.18+0.13) +7.4%***
------------------------------------------------------------------------------------------------------------------
Significance hints: '.' 0.1 '*' 0.05 '**' 0.01 '***' 0.001

Noticed-by: Brian Gernhardt <brian@gernhardtsoftware.com>
Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t/gitweb-lib: use $PERL_PATH to run gitwebJeff King Tue, 1 May 2012 17:55:00 +0000 (13:55 -0400)

t/gitweb-lib: use $PERL_PATH to run gitweb

The current code runs "perl gitweb.cgi" to test gitweb. This
will use whatever version of perl happens to be first in the
PATH. We are better off using the specific perl that the
user specified via PERL_PATH, which matches what gets put on
the #!-line of the built gitweb.cgi.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

tests: check --[short]stat output after chmodZbigniew Jędrzejewski-Szmek Tue, 1 May 2012 17:10:13 +0000 (19:10 +0200)

tests: check --[short]stat output after chmod

Add a test to check 'diff --stat' output with a text file after chmod,
and the same for a binary file. This demonstrates that text and binary
files are treated differently, which can be misleading.

While at it, add tests to check --shortstat output, too.

Reported-by: Martin Mareš <mj@ucw.cz>
Signed-off-by: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

test: modernize style of t4006Zbigniew Jędrzejewski-Szmek Tue, 1 May 2012 17:10:12 +0000 (19:10 +0200)

test: modernize style of t4006

Signed-off-by: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

log-tree: the previous one is still not quite rightJunio C Hamano Tue, 1 May 2012 17:29:43 +0000 (10:29 -0700)

log-tree: the previous one is still not quite right

The correct output would have NUL after each commit, so "-z --format=%s"
would have a single-liner subject with the line-terminating LF replaced
with NUL, and "-p/--stat -z --format=%s" would have a single-liner subject
with its line-terminating LF, followed by the diff/diffstat in which the
terminating LF of the last line is replaced with NUL, but to be consistent
with what "-p/--stat -z --pretty=format:%s" does, I think it is OK to
append NUL to the diff/diffstat part instead of replacing its last LF with
NUL.

The added test shows the update is still not right for "-p -z --format".

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

log-tree: use custom line terminator in line terminatio... Jan Krüger Mon, 30 Apr 2012 20:28:25 +0000 (22:28 +0200)

log-tree: use custom line terminator in line termination mode

When using a custom format in line termination mode (as opposed to line
separation mode), the configured line terminator is not used, so things
like "git log --pretty=tformat:%H -z" do not work properly.

Make it use the line terminator the user ordered.

Signed-off-by: Jan Krüger <jk@jk.gs>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t5541: test more combinations of --progressJeff King Tue, 1 May 2012 08:43:08 +0000 (04:43 -0400)

t5541: test more combinations of --progress

Previously, we tested only that "push --quiet --no-progress"
was silent. However, there are many other combinations that
were not tested:

1. no options at all (but stderr as a tty)
2. --no-progress by itself
3. --quiet by itself
4. --progress (when stderr not a tty)

These are tested elsewhere for general "push", but it is
important to test them separately for http. It follows a
very different code path than git://, and options must be
relayed across a remote helper to a separate send-pack
process (and in fact cases (1), (2), and (4) have all been
broken just for http at some point in the past).

We can drop the "--quiet --no-progress" test, as it is not
really interesting (it is already handled by testing them
separately in (2) and (3) above).

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

teach send-pack about --[no-]progressJeff King Tue, 1 May 2012 08:42:24 +0000 (04:42 -0400)

teach send-pack about --[no-]progress

The send_pack function gets a "progress" flag saying "yes,
definitely show progress" or "no, definitely do not show
progress". This gets set properly by transport_push when
send_pack is called directly.

However, when the send-pack command is executed separately
(as it is for the remote-curl helper), there is no way to
tell it "definitely do this". As a result, we do not
properly respect "git push --no-progress" for smart-http
remotes; you will still get progress if stderr is a tty.

This patch teaches send-pack --progress and --no-progress,
and teaches remote-curl to pass the appropriate option to
override send-pack's isatty check. This fixes the
--no-progress case above, and as a bonus, also makes "git
push --progress" work when stderr is not a tty.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

send-pack: show progress when isatty(2)Jeff King Tue, 1 May 2012 08:41:42 +0000 (04:41 -0400)

send-pack: show progress when isatty(2)

The send_pack_args struct has two verbosity flags: "quiet"
and "progress". Originally, if "quiet" was set, we would
tell pack-objects explicitly to be quiet, and if "progress"
was set, we would tell it to show progress. Otherwise, we
told it neither, and it relied on isatty(2) to make the
decision itself.

However, commit 01fdc21 changed the meaning of these
variables. Now both "quiet" and "!progress" instruct us to
tell pack-objects to be quiet (and a non-zero "progress"
means the same as before). This works well for transports
which call send_pack directly, as the transport code copies
transport->progress into send_pack_args->progress, and they
both have the same meaning.

However, the code path of calling "git send-pack" was left
behind. It always sets "progress" to 0, and thus always
tells pack-objects to be quiet. We can work around this by
checking isatty(2) ourselves in the cmd_send_pack code path,
restoring the original behavior of the send-pack command.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

l10n: Initial German translationRalf Thielow Mon, 30 Apr 2012 15:55:16 +0000 (17:55 +0200)

l10n: Initial German translation

Helped-by: Thomas Kuchs
Signed-off-by: Ralf Thielow <ralf.thielow@googlemail.com>

git p4: submit files with wildcardsPete Wyckoff Mon, 30 Apr 2012 00:57:17 +0000 (20:57 -0400)

git p4: submit files with wildcards

There are four wildcard characters in p4. Files with these
characters can be added to p4 repos using the "-f" option. They
are stored in %xx notation, and when checked out, p4 converts
them back to normal.

When adding files with wildcards in git, the submit path must
be careful to use the encoded names in some places, and it
must use "-f" to add them. All other p4 commands that operate
on the client directory expect encoded filenames as arguments.

Support for wildcards in the clone/sync path was added in
084f630 (git-p4: decode p4 wildcard characters, 2011-02-19),
but that change did not handle the submit path.

There was a problem with wildcards in the sync path too. Commit
084f630 (git-p4: decode p4 wildcard characters, 2011-02-19)
handled files with p4 wildcards that were added or modified in
p4. Do this for deleted files, and also in branch detection
checks, too.

Reported-by: Luke Diamand <luke@diamand.org>
Signed-off-by: Pete Wyckoff <pw@padd.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git p4: fix writable file after rename or copyPete Wyckoff Mon, 30 Apr 2012 00:57:16 +0000 (20:57 -0400)

git p4: fix writable file after rename or copy

The way rename works is with a "p4 integrate", optionally
followed by a "p4 edit" if the change is not a 100% rename.
Contents are generated by applying a patch, not doing a file
system rename. Copy is similar.

In this case, p4 does not fix the permissions back to read-only.
Make sure this happens by calling "p4 sync -f".

Signed-off-by: Pete Wyckoff <pw@padd.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git p4: test submitPete Wyckoff Mon, 30 Apr 2012 00:57:15 +0000 (20:57 -0400)

git p4: test submit

Try each of the five diff patterns that might happen during submit.

Signed-off-by: Pete Wyckoff <pw@padd.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git p4: bring back files in deleted client directoryPete Wyckoff Mon, 30 Apr 2012 00:57:14 +0000 (20:57 -0400)

git p4: bring back files in deleted client directory

The code to auto-create the client directory, added in 0591cfa
(git-p4: ensure submit clientPath exists before chdir,
2011-12-09), works when the client directory never existed.

But if the directory is summarily removed without telling p4,
the sync operation will not bring back all the files. Always
do "sync -f" if the client directory is newly created.

Reported-by: Gary Gibbons <ggibbons@perforce.com>
Signed-off-by: Pete Wyckoff <pw@padd.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

remove blank filename in error messagePete Wyckoff Mon, 30 Apr 2012 00:28:46 +0000 (20:28 -0400)

remove blank filename in error message

When write_loose_object() finds that it is unable to
create a temporary file, it complains, for instance:

unable to create temporary sha1 filename : Too many open files

That extra space was supposed to be the name of the file,
and will be an empty string if the git_mkstemps_mode() fails.

The name of the temporary file is unimportant; delete it.

Signed-off-by: Pete Wyckoff <pw@padd.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

remove superfluous newlines in error messagesPete Wyckoff Mon, 30 Apr 2012 00:28:45 +0000 (20:28 -0400)

remove superfluous newlines in error messages

The error handling routines add a newline. Remove
the duplicate ones in error messages.

Signed-off-by: Pete Wyckoff <pw@padd.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'ld/git-p4-tags-and-labels'Junio C Hamano Mon, 30 Apr 2012 21:58:16 +0000 (14:58 -0700)

Merge branch 'ld/git-p4-tags-and-labels'

By Luke Diamand
* ld/git-p4-tags-and-labels:
git p4: fix unit tests
git p4: move verbose to base class
git p4: Ignore P4EDITOR if it is empty
git p4: Squash P4EDITOR in test harness
git p4: fix-up "import/export of labels to/from p4"
git p4: import/export of labels to/from p4
git p4: Fixing script editor checks

Merge branch 'nh/empty-rebase'Junio C Hamano Mon, 30 Apr 2012 21:58:00 +0000 (14:58 -0700)

Merge branch 'nh/empty-rebase'

"git rebase" learned to optionally keep commits that do not introduce
any change in the original history.

By Neil Horman
* nh/empty-rebase:
git-rebase: add keep_empty flag
git-cherry-pick: Add test to validate new options
git-cherry-pick: Add keep-redundant-commits option
git-cherry-pick: add allow-empty option

Merge branch 'jk/maint-config-bogus-section'Junio C Hamano Mon, 30 Apr 2012 21:46:46 +0000 (14:46 -0700)

Merge branch 'jk/maint-config-bogus-section'

"git config --rename-section" to rename an existing section into a
bogus one did not check the new name.

By Jeff King
* jk/maint-config-bogus-section:
config: reject bogus section names for --rename-section

diff --stat: use less columns for change countsZbigniew Jędrzejewski-Szmek Mon, 30 Apr 2012 20:38:58 +0000 (22:38 +0200)

diff --stat: use less columns for change counts

Number of columns required for change counts is now computed based on
the maximum number of changed lines instead of being fixed. This means
that usually a few more columns will be available for the filenames
and the graph.

The graph width logic is also modified to include enough space for
"Bin XXX -> YYY bytes".

If changes to binary files are mixed with changes to text files,
change counts are padded to take at least three columns. And the other
way around, if change counts require more than three columns, then
"Bin"s are padded to align with the change count. This way, the +-
part starts in the same column as "XXX -> YYY" part for binary files.
This makes the graph easier to parse visually thanks to the empty
column. This mimics the layout of diff --stat before this change.

Tests and the tutorial are updated to reflect the new --stat output.
This means either the removal of extra padding and/or the addition of
up to three extra characters to truncated filenames. One test is added
to check the graph alignment when a binary file change and text file
change of more than 999 lines are committed together.

Signed-off-by: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

contrib/rerere-train: use installed git-sh-setupJunio C Hamano Mon, 30 Apr 2012 19:46:30 +0000 (12:46 -0700)

contrib/rerere-train: use installed git-sh-setup

Instead of sourcing git-sh-setup from random place that is on the $PATH,
explicitly source $(git --exec-path)/git-sh-setup. As I do not personally
have any libexec/git-core directory on my $PATH like many other people, the
script will fail without this update.

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

git-commit: remove lego in i18n messagesÆvar Arnfjörð Bjarmason Mon, 30 Apr 2012 15:33:14 +0000 (15:33 +0000)

git-commit: remove lego in i18n messages

Change the "Please enter the commit message for your changes." and the
subsequent blurb of text not to be split up. This makes translating it
much easier.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-commit: remove lego in i18n messagesÆvar Arnfjörð Bjarmason Mon, 30 Apr 2012 15:33:13 +0000 (15:33 +0000)

git-commit: remove lego in i18n messages

Remove the whence_s() function and messages that depend on it, in favor of
messages that use either "merge" or "cherry-pick" directly.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-branch: remove lego in i18n messagesÆvar Arnfjörð Bjarmason Mon, 30 Apr 2012 15:33:12 +0000 (15:33 +0000)

git-branch: remove lego in i18n messages

Instead of making translators translate "remote " and then using
"%sbranch" where "%s" is either "remote " or "" just split the two up
into separate messages. This makes the translation of this section of
git-branch much less confusing.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

The seventh batch of topics graduated to 'master'Junio C Hamano Mon, 30 Apr 2012 01:00:47 +0000 (18:00 -0700)

The seventh batch of topics graduated to 'master'

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

Merge branch 'js/daemon-test-race-fix'Junio C Hamano Mon, 30 Apr 2012 00:52:02 +0000 (17:52 -0700)

Merge branch 'js/daemon-test-race-fix'

The shell construct to launch git-daemon and wait for it to start
serving during the test was faulty, and this fixes it.

By Johannes Sixt
* js/daemon-test-race-fix:
t5570: fix forwarding of git-daemon messages via cat