gitweb.git
l10n: de.po: translate "bare" as "bloß"Thomas Rast Wed, 2 May 2012 17:27:03 +0000 (19:27 +0200)

l10n: de.po: translate "bare" as "bloß"

Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Ralf Thielow <ralf.thielow@googlemail.com>

Merge branch 'rs/maint-dir-strbuf' into rs/dir-strbufJunio C Hamano Tue, 8 May 2012 16:43:40 +0000 (09:43 -0700)

Merge branch 'rs/maint-dir-strbuf' into rs/dir-strbuf

By René Scharfe
* rs/maint-dir-strbuf:
dir: convert to strbuf

dir: convert to strbufRené Scharfe Tue, 1 May 2012 11:25:24 +0000 (13:25 +0200)

dir: convert to strbuf

The functions read_directory_recursive() and treat_leading_path() both
use buffers sized to fit PATH_MAX characters. The latter can be made to
overrun its buffer, e.g. like this:

$ a=0123456789abcdef
$ a=$a$a$a$a$a$a$a$a
$ a=$a$a$a$a$a$a$a$a
$ a=$a$a$a$a$a$a$a$a
$ git add $a/a

Instead of trying to add a check and potentionally forgetting to address
similar cases, convert the involved functions and their helpers to use
struct strbuf. The patch is suprisingly large because the helpers
treat_path() and treat_one_path() modify the buffer as well and thus need
to be converted, too.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

status: refactor colopts handlingJeff King Mon, 7 May 2012 19:35:03 +0000 (15:35 -0400)

status: refactor colopts handling

The current code reads the config and command-line options
into a separate "colopts" variable, and then copies the
contents of that variable into the "struct wt_status". We
can eliminate the extra variable and copy just write
straight into the wt_status struct.

This simplifies the "status" code a little bit.
Unfortunately, it makes the "commit" code one line more
complex; a side effect of the separate variable was that
"commit" did not copy the colopts variable, so any
column.status configuration had no effect.

The result still ends up cleaner, though. In the previous
version, it was unclear whether commit simply forgot to copy
the colopt variable, or whether it was intentional. Now it
explicitly turns off column options. Furthermore, if commit
later learns to respect column.status, this will make the
end result simpler. I punted on just adding that feature
now, because it was sufficiently non-obvious that it should
not go into a refactoring patch.

Signed-off-by: Jeff King <peff@peff.net>

Merge branch 'jk/maint-status-porcelain-z-b' into HEADJeff King Tue, 8 May 2012 08:55:35 +0000 (04:55 -0400)

Merge branch 'jk/maint-status-porcelain-z-b' into HEAD

* jk/maint-status-porcelain-z-b:
status: respect "-b" for porcelain format
status: fix null termination with "-b"
status: refactor null_termination option
commit: refactor option parsing

Conflicts:
wt-status.h

status: respect "-b" for porcelain formatJeff King Mon, 7 May 2012 21:09:04 +0000 (17:09 -0400)

status: respect "-b" for porcelain format

There is no reason not to, as the user has to explicitly ask
for it, so we are not breaking compatibility by doing so. We
can do this simply by moving the "show_branch" flag into
the wt_status struct. As a bonus, this saves us from passing
it explicitly, simplifying the code.

Signed-off-by: Jeff King <peff@peff.net>

status: fix null termination with "-b"Jeff King Mon, 7 May 2012 21:02:18 +0000 (17:02 -0400)

status: fix null termination with "-b"

When the "-z" option is given to status, we are supposed to
NUL-terminate each record. However, the "-b" code to show
the tracking branch did not respect this, and always ended
with a newline.

Signed-off-by: Jeff King <peff@peff.net>

status: refactor null_termination optionJeff King Mon, 7 May 2012 19:44:44 +0000 (15:44 -0400)

status: refactor null_termination option

This option is passed separately to the wt_status printing
functions, whereas every other formatting option is
contained in the wt_status struct itself. Let's do the same
here, so we can avoid passing it around through the call
stack.

Signed-off-by: Jeff King <peff@peff.net>

commit: refactor option parsingJeff King Mon, 7 May 2012 19:18:26 +0000 (15:18 -0400)

commit: refactor option parsing

The options are declared as a static global, but really they
need only be accessible from cmd_commit. Additionally,
declare the "struct wt_status" in cmd_commit and cmd_status
as static at the top of each function; this will let the
options lists reference them directly, which will facilitate
further cleanups.

Signed-off-by: Jeff King <peff@peff.net>

l10n: Update git.pot (275 new, 15 removed messages)Jiang Xin Tue, 8 May 2012 08:10:22 +0000 (16:10 +0800)

l10n: Update git.pot (275 new, 15 removed messages)

Generate po/git.pot from v1.7.10.1-489-g9394:

* 275 new l10n messages at lines:

41, 46, 55, 67, 74, 79, 89, 93, 97, 101, 106, 110, 142, 148, 155,
162, 169, 176, 183, 190, 197, 204, 286, 290, 301, 308, 313, 318, 327,
411, 415, 420, 425, 947, 952, 957, 962, 967, 972, 977, 982, 987, 992,
1002, 1007, 1011, 1016, 1021, 1026, 1031, 1036, 1042, 1047, 1052, ...

* 15 removed l10n messages from lines:

803, 821, 838, 843, 912, 1356, 1377, 1454, 1458, 1464, 1471, 1517,
1819, 1824, 1898

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

Merge branch 'maint'Jiang Xin Tue, 8 May 2012 08:03:04 +0000 (16:03 +0800)

Merge branch 'maint'

No file is changed by this merge.

* maint:
l10n: Update git.pot (1 new messages)

l10n: Update git.pot (1 new messages)Jiang Xin Tue, 8 May 2012 07:49:57 +0000 (15:49 +0800)

l10n: Update git.pot (1 new messages)

Changes of po/git.pot from v1.7.10.1 to v1.7.10.1-36-g42325:

* 1 new l10n message at line: 1761

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

index-pack: disable threading if NO_PREAD is definedNguyễn Thái Ngọc Duy Sun, 6 May 2012 12:31:56 +0000 (19:31 +0700)

index-pack: disable threading if NO_PREAD is defined

NO_PREAD simulates pread() as a sequence of seek, read, seek in
compat/pread.c. The simulation is not thread-safe because another
thread could move the file offset away in the middle of pread
operation. Do not allow threading in that case.

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

index-pack: support multithreaded delta resolvingNguyễn Thái Ngọc Duy Sun, 6 May 2012 12:31:55 +0000 (19:31 +0700)

index-pack: support multithreaded delta resolving

This puts delta resolving on each base on a separate thread, one base
cache per thread. Per-thread data is grouped in struct thread_local.
When running with nr_threads == 1, no pthreads calls are made. The
system essentially runs in non-thread mode.

An experiment on a Xeon 24 core machine with git.git shows that
performance does not increase proportional to the number of cores. So
by default, we use maximum 3 cores. Some numbers with --threads from 1
to 16:

1..4
real 0m8.003s 0m5.307s 0m4.321s 0m3.830s
user 0m7.720s 0m8.009s 0m8.133s 0m8.305s
sys 0m0.224s 0m0.372s 0m0.360s 0m0.360s

5..8
real 0m3.727s 0m3.604s 0m3.332s 0m3.369s
user 0m9.361s 0m9.817s 0m9.525s 0m9.769s
sys 0m0.584s 0m0.624s 0m0.540s 0m0.560s

9..12
real 0m3.036s 0m3.139s 0m3.177s 0m2.961s
user 0m8.977s 0m10.205s 0m9.737s 0m10.073s
sys 0m0.596s 0m0.680s 0m0.684s 0m0.680s

13..16
real 0m2.985s 0m2.894s 0m2.975s 0m2.971s
user 0m9.825s 0m10.573s 0m10.833s 0m11.361s
sys 0m0.788s 0m0.732s 0m0.904s 0m1.016s

On an Intel dual core and linux-2.6.git

1..4
real 2m37.789s 2m7.963s 2m0.920s 1m58.213s
user 2m28.415s 2m52.325s 2m50.176s 2m41.187s
sys 0m7.808s 0m11.181s 0m11.224s 0m10.731s

Thanks Ramsay Jones for troubleshooting and support on MinGW platform.

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

index-pack: restructure pack processing into three... Nguyễn Thái Ngọc Duy Sun, 6 May 2012 12:31:54 +0000 (19:31 +0700)

index-pack: restructure pack processing into three main functions

The second pass in parse_pack_objects() are split into
resolve_deltas(). The final phase, fixing thin pack or just seal the
pack, is now in conclude_pack() function. Main pack processing is now
a sequence of these functions:

- parse_pack_objects() reads through the input pack
- resolve_deltas() makes sure all deltas can be resolved
- conclude_pack() seals the output pack
- write_idx_file() writes companion index file
- final() moves the pack/index to proper place

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

Documentation/git-config: describe and clarify "--local... Florian Achleitner Sat, 5 May 2012 10:03:52 +0000 (12:03 +0200)

Documentation/git-config: describe and clarify "--local <file>" option

Describe config file selection in git-config. While the usage message of
git-config shows --local, the documentation page did not contain anything
about that.

Signed-off-by: Florian Achleitner <florian.achleitner.2.6.31@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

reflog-walk: tell explicit --date=default from not... Junio C Hamano Mon, 7 May 2012 21:11:32 +0000 (14:11 -0700)

reflog-walk: tell explicit --date=default from not having --date at all

Introduction of opt->date_mode_explicit was a step in the right direction,
but lost that crucial bit at the very end of the callchain, and the callee
could not tell an explicitly specified "I want *date* but in default format"
from the built-in default value passed when there was no --date specified.

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

Merge branch 'ef/maint-1.7.6-clone-progress-fix' into... Junio C Hamano Mon, 7 May 2012 19:35:36 +0000 (12:35 -0700)

Merge branch 'ef/maint-1.7.6-clone-progress-fix' into ef/maint-clone-progress-fix

By Erik Faye-Lund
* ef/maint-1.7.6-clone-progress-fix:
clone: fix progress-regression

clone: fix progress-regressionErik Faye-Lund Mon, 7 May 2012 19:23:13 +0000 (21:23 +0200)

clone: fix progress-regression

In 5bd631b3 ("clone: support multiple levels of verbosity"), the
default behavior to show progress of the implicit checkout in
the clone-command regressed so that progress was only shown if
the verbose-option was specified.

Fix this by making option_verbosity == 0 output progress as well.

Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

grep.c: remove redundant line of codeAngus Hammond Sun, 6 May 2012 18:17:15 +0000 (19:17 +0100)

grep.c: remove redundant line of code

Signed-off-by: Angus Hammond <angusgh@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

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>

completion: simplify __git_complete_revlist_fileFelipe Contreras Tue, 1 May 2012 18:42:56 +0000 (20:42 +0200)

completion: simplify __git_complete_revlist_file

Use new __gitcomp_nl; this is the last place that uses COMPREPLY and
compgen directly outside __gitcomp* functions.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Acked-by: SZEDER Gábor <szeder@ira.uka.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

checkout (detached): truncate list of orphaned commits... Johannes Sixt Fri, 4 May 2012 18:14:48 +0000 (20:14 +0200)

checkout (detached): truncate list of orphaned commits at the new HEAD

When git checkout switches from a detached HEAD to any other commit, then
all orphaned commits were listed in a warning:

Warning: you are leaving 2 commits behind...:

a5e5396 another fixup
6aa1af6 fixup foo

But if the new commit is actually one from this list (6aa1af6 in this
example), then the list in the warning can be truncated at the new HEAD,
because history beginning at HEAD is not "left behind". This makes it so.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t2020-checkout-detach: check for the number of orphaned... Johannes Sixt Fri, 4 May 2012 18:13:14 +0000 (20:13 +0200)

t2020-checkout-detach: check for the number of orphaned commits

Change the test that orphans commits to leave 2 commits behind. Add a test
that leaves only one of these behind.

The next patch will truncate the list of orphaned commits earlier. With
this preliminary update, its effect will become more obvious.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Makefile: NO_INSTALL_HARDLINKSJunio C Hamano Wed, 2 May 2012 22:12:10 +0000 (15:12 -0700)

Makefile: NO_INSTALL_HARDLINKS

Your filesystem may support hardlinks, but you may choose not to use them
when installing git-foo builtins and favor symblic links or copies for
whatever reason.

The installation procedure of git-gui/ directory is not touched with this
patch and git-citool still ends up being a hardlink to git-gui, but it
needs to be addressed separately.

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

reflog-walk: always make HEAD@{0} show indexed selectorsJeff King Fri, 4 May 2012 05:27:25 +0000 (01:27 -0400)

reflog-walk: always make HEAD@{0} show indexed selectors

When we are showing reflog selectors during a walk, we infer
from context whether the user wanted to see the index in
each selector, or the reflog date. The current rules are:

1. if the user asked for an explicit date format in the
output, show the date

2. if the user asked for ref@{now}, show the date

3. if neither is true, show the index

However, if we see "ref@{0}", that should be a strong clue
that the user wants to see the counted version. In fact, it
should be much stronger than the date format in (1). The
user may have been setting the date format to use in another
part of the output (e.g., in --format="%gd (%ad)", they may
have wanted to influence the author date).

This patch flips the rules to:

1. if the user asked for ref@{0}, always show the index

2. if the user asked for ref@{now}, always show the date

3. otherwise, we have just "ref"; show them counted by
default, but respect the presence of "--date" as a clue
that the user wanted them date-based

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

reflog-walk: clean up "flag" field of commit_reflog... Jeff King Fri, 4 May 2012 05:26:26 +0000 (01:26 -0400)

reflog-walk: clean up "flag" field of commit_reflog struct

When we prepare to walk a reflog, we parse the specification
and pull some information from it, such as which reflog to
look in (e.g., HEAD), and where to start (e.g., HEAD@{10} or
HEAD@{yesterday}). The resulting struct has a "recno" field
to show where in the reflog we are starting. It also has a
"flag" field; if true, it means the recno field came from
parsing a date like HEAD@{yesterday}.

There are two problems with this:

1. "flag" is an absolutely terrible name, as it conveys
nothing about the meaning

2. you can tell "HEAD" from "HEAD@{yesterday}", but you
can't differentiate "HEAD" from "HEAD{0}"

This patch converts the flag into a tri-state (and gives it
a better name!).

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

log: respect date_mode_explicit with --format:%gdJeff King Fri, 4 May 2012 05:25:18 +0000 (01:25 -0400)

log: respect date_mode_explicit with --format:%gd

When we show a reflog selector (e.g., via "git log -g"), we
perform some DWIM magic: while we normally show the entry's
index (e.g., HEAD@{1}), if the user has given us a date
with "--date", then we show a date-based select (e.g.,
HEAD@{yesterday}).

However, we don't want to trigger this magic if the
alternate date format we got was from the "log.date"
configuration; that is not sufficiently strong context for
us to invoke this particular magic. To fix this, commit
f4ea32f (improve reflog date/number heuristic, 2009-09-24)
introduced a "date_mode_explicit" flag in rev_info. This
flag is set only when we see a "--date" option on the
command line, and we a vanilla date to the reflog code if
the date was not explicit.

Later, commit 8f8f547 (Introduce new pretty formats %g[sdD]
for reflog information, 2009-10-19) added another way to
show selectors, and it did not respect the date_mode_explicit
flag from f4ea32f.

This patch propagates the date_mode_explicit flag to the
pretty-print code, which can then use it to pass the
appropriate date field to the reflog code. This brings the
behavior of "%gd" in line with the other formats, and means
that its output is independent of any user configuration.

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

t1411: add more selector index/date testsJeff King Fri, 4 May 2012 05:23:14 +0000 (01:23 -0400)

t1411: add more selector index/date tests

We already check that @{now} and "--date" cause the
displayed selector to use the date for both the multiline
and oneline formats. However, we miss several cases:

1. The --format=%gd selector is not tested at all.

2. We do not check how the log.date config interacts with the
"--date" magic (according to f4ea32f, it should not
impact the output).

Doing so reveals that the combination of both (log.date
combined with the %gd format) does not behave as expected.

Signed-off-by: Jeff King <peff@peff.net>
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>

refs: fix find_containing_dir() regressionJunio C Hamano Thu, 3 May 2012 22:12:54 +0000 (15:12 -0700)

refs: fix find_containing_dir() regression

The function used to return NULL when asked to find the containing
directory for a ref that does not exist, allowing the caller to
omit iteration altogether. But a misconversion in an earlier change
"refs.c: extract function search_for_subdir()" started returning the
top-level directory entry, forcing callers to walk everything.

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

branch: remove lego in i18n tracking info stringsNguyễn Thái Ngọc Duy Thu, 3 May 2012 13:12:00 +0000 (20:12 +0700)

branch: remove lego in i18n tracking info strings

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

refs: read loose references lazilyMichael Haggerty Thu, 26 Apr 2012 22:27:07 +0000 (00:27 +0200)

refs: read loose references lazily

Instead of reading the whole directory of loose references the first
time any are needed, only read them on demand, one directory at a
time.

Use a new ref_entry flag bit REF_INCOMPLETE to indicate that the entry
represents a REF_DIR that hasn't been read yet. Whenever any entries
from such a directory are needed, read all of the loose references
from that directory.

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

read_loose_refs(): eliminate ref_cache argumentMichael Haggerty Thu, 26 Apr 2012 22:27:06 +0000 (00:27 +0200)

read_loose_refs(): eliminate ref_cache argument

The ref_cache can now be read from the ref_dir.

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

struct ref_dir: store a reference to the enclosing... Michael Haggerty Thu, 26 Apr 2012 22:27:05 +0000 (00:27 +0200)

struct ref_dir: store a reference to the enclosing ref_cache

This means that a directory ref_entry contains all of the information
needed by read_loose_refs().

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

search_for_subdir(): return (ref_dir *) instead of... Michael Haggerty Thu, 26 Apr 2012 22:27:04 +0000 (00:27 +0200)

search_for_subdir(): return (ref_dir *) instead of (ref_entry *)

That is what all the callers want, so give it to them.

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

get_ref_dir(): add function for getting a ref_dir from... Michael Haggerty Thu, 26 Apr 2012 22:27:03 +0000 (00:27 +0200)

get_ref_dir(): add function for getting a ref_dir from a ref_entry

Convert all accesses of a ref_dir within a ref_entry to use this
function. This function will later be responsible for reading loose
references from disk on demand.

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

read_loose_refs(): rename function from get_ref_dir()Michael Haggerty Thu, 26 Apr 2012 22:27:02 +0000 (00:27 +0200)

read_loose_refs(): rename function from get_ref_dir()

The new name better describes the function's purpose, and also makes
the old name available for a more suitable purpose.

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

refs: wrap top-level ref_dirs in ref_entriesMichael Haggerty Thu, 26 Apr 2012 22:27:01 +0000 (00:27 +0200)

refs: wrap top-level ref_dirs in ref_entries

Make it turtles all the way down. This affects the loose and packed
fields of ref_cache instances.

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

find_containing_dir(): use strbuf in implementation... Michael Haggerty Thu, 26 Apr 2012 22:27:00 +0000 (00:27 +0200)

find_containing_dir(): use strbuf in implementation of this function

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

bisect: copy filename string obtained from git_path()Michael Haggerty Thu, 26 Apr 2012 22:26:59 +0000 (00:26 +0200)

bisect: copy filename string obtained from git_path()

Prevent the string from being overwritten by other callers of
git_path() and friends before we are done using it.

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

do_for_each_reflog(): use a strbuf to hold logfile... Michael Haggerty Tue, 24 Apr 2012 22:45:14 +0000 (00:45 +0200)

do_for_each_reflog(): use a strbuf to hold logfile name

This simplifies the bookkeeping and allows an (artificial) restriction
on refname component length to be removed.

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

do_for_each_reflog(): return early on errorMichael Haggerty Tue, 24 Apr 2012 22:45:13 +0000 (00:45 +0200)

do_for_each_reflog(): return early on error

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

get_ref_dir(): take the containing directory as argumentMichael Haggerty Tue, 24 Apr 2012 22:45:12 +0000 (00:45 +0200)

get_ref_dir(): take the containing directory as argument

Previously, the "dir" argument to get_ref_dir() was a pointer to the
top-level ref_dir. Change the function to expect a pointer to the
ref_dir corresponding to dirname. This allows entries to be added
directly to dir, without having to recurse through the reference trie
each time (i.e., we can use add_entry_to_dir() instead of add_ref()).

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

refs.c: extract function search_for_subdir()Michael Haggerty Tue, 24 Apr 2012 22:45:11 +0000 (00:45 +0200)

refs.c: extract function search_for_subdir()

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

get_ref_dir(): require that the dirname argument ends... Michael Haggerty Tue, 24 Apr 2012 22:45:10 +0000 (00:45 +0200)

get_ref_dir(): require that the dirname argument ends in '/'

This removes some conditional code and makes it consistent with the
way that direntry names are stored. Please note that this function is
never used on the top-level .git directory; it is always called for
directories at level .git/refs or deeper.

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

get_ref_dir(): rename "base" parameter to "dirname"Michael Haggerty Tue, 24 Apr 2012 22:45:09 +0000 (00:45 +0200)

get_ref_dir(): rename "base" parameter to "dirname"

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

get_ref_dir(): use a strbuf to hold refnameMichael Haggerty Tue, 24 Apr 2012 22:45:08 +0000 (00:45 +0200)

get_ref_dir(): use a strbuf to hold refname

This simplifies the bookkeeping and allows an (artificial) restriction
on refname component length to be removed.

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

t5000: rationalize unzip testsRené Scharfe Thu, 3 May 2012 08:52:16 +0000 (10:52 +0200)

t5000: rationalize unzip tests

Factor out a function for checking the contents of ZIP archives. It
extracts their contents and compares them to the original files. This
removes some duplicate code. Tests that just create archives can lose
their UNZIP prerequisite.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

archive-zip: streaming for deflated filesRené Scharfe Thu, 3 May 2012 01:51:08 +0000 (08:51 +0700)

archive-zip: streaming for deflated files

After an entry has been streamed out, its CRC and sizes are written as
part of a data descriptor.

For simplicity, we make the buffer for the compressed chunks twice as
big as for the uncompressed ones, to be sure the result fit in even
if deflate makes them bigger.

t5000 verifies output. t1050 makes sure the command always respects
core.bigfilethreshold

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

archive-zip: streaming for stored filesRené Scharfe Thu, 3 May 2012 01:51:07 +0000 (08:51 +0700)

archive-zip: streaming for stored files

Write a data descriptor containing the CRC of the entry and its sizes
after streaming it out. For simplicity, do that only if we're storing
files (option -0) for now.

t5000 verifies output. t1050 makes sure the command always respects
core.bigfilethreshold

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

archive-zip: factor out helpers for writing sizes and CRCRené Scharfe Thu, 3 May 2012 01:51:06 +0000 (08:51 +0700)

archive-zip: factor out helpers for writing sizes and CRC

We're going to reuse them soon for streaming. Also, update the ZIP
directory only at the very end, which will also make streaming easier.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

archive-zip: remove uncompressed_sizeRené Scharfe Thu, 3 May 2012 01:51:05 +0000 (08:51 +0700)

archive-zip: remove uncompressed_size

We only need size and compressed_size.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

archive-tar: stream large blobs to tar fileNguyễn Thái Ngọc Duy Thu, 3 May 2012 01:51:04 +0000 (08:51 +0700)

archive-tar: stream large blobs to tar file

t5000 verifies output while t1050 makes sure the command always
respects core.bigfilethreshold

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

archive: delegate blob reading to backendNguyễn Thái Ngọc Duy Thu, 3 May 2012 01:51:03 +0000 (08:51 +0700)

archive: delegate blob reading to backend

archive-tar.c and archive-zip.c now perform conversion check, with
help of sha1_file_to_archive() from archive.c

This gives backends more freedom in dealing with (streaming) large
blobs.

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

archive-tar: unindent write_tar_entry by one levelNguyễn Thái Ngọc Duy Thu, 3 May 2012 01:51:02 +0000 (08:51 +0700)

archive-tar: unindent write_tar_entry by one level

It's used to be

if (!sha1) {
...
} else if (!path) {
...
} else {
...
}

Now that the first two blocks are no-op. We can remove the if/else
skeleton and put the else block back by one indent level.

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

archive-tar: turn write_tar_entry into blob-writing... Nguyễn Thái Ngọc Duy Thu, 3 May 2012 01:51:01 +0000 (08:51 +0700)

archive-tar: turn write_tar_entry into blob-writing only

Before this patch write_tar_entry() can:

- write global header
by write_global_extended_header() calling write_tar_entry with
with both sha1 and path == NULL

- write extended header for symlinks, by write_tar_entry() calling
itself with sha1 != NULL and path == NULL

- write a normal blob. In this case both sha1 and path are valid.

After this patch, the first two call sites are modified to write the
header without calling write_tar_entry(). The function is now for
writing blobs only. This simplifies handling when write_tar_entry()
learns about large blobs.

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

streaming: void pointer instead of char pointerRené Scharfe Thu, 3 May 2012 01:51:00 +0000 (08:51 +0700)

streaming: void pointer instead of char pointer

Allow any kind of buffer to be fed to read_istream() without an explicit
cast by making it's buf argument a void pointer. It's about arbitrary
data, not only characters.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

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>