gitweb.git
Merge branch 'jk/ident-split-fix' into maintJunio C Hamano Fri, 1 Jun 2012 20:01:36 +0000 (13:01 -0700)

Merge branch 'jk/ident-split-fix' into maint

An author/committer name that is a single character was mishandled as an
invalid name by mistake.

By Jeff King
* jk/ident-split-fix:
fix off-by-one error in split_ident_line

Merge branch 'jk/pretty-commit-header-incomplete-line... Junio C Hamano Fri, 1 Jun 2012 20:01:33 +0000 (13:01 -0700)

Merge branch 'jk/pretty-commit-header-incomplete-line' into maint

By Jeff King
* jk/pretty-commit-header-incomplete-line:
avoid segfault when reading header of malformed commits

Merge branch 'jk/format-person-part-buffer-limit' into... Junio C Hamano Fri, 1 Jun 2012 19:59:58 +0000 (12:59 -0700)

Merge branch 'jk/format-person-part-buffer-limit' into maint

By Jeff King
* jk/format-person-part-buffer-limit:
pretty: avoid buffer overflow in format_person_part

Merge branch 'ap/checkout-no-progress-for-non-tty'... Junio C Hamano Fri, 1 Jun 2012 19:59:50 +0000 (12:59 -0700)

Merge branch 'ap/checkout-no-progress-for-non-tty' into maint

"git checkout" gave progress display even when the standard error
stream was not connected to the tty, which made little sense.

By Avery Pennarun
* ap/checkout-no-progress-for-non-tty:
checkout: no progress messages if !isatty(2).

Merge branch 'maint' of git://github.com/git-l10n/git... Junio C Hamano Fri, 1 Jun 2012 19:50:41 +0000 (12:50 -0700)

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

By Peter Krefting
via Peter Krefting
* 'maint' of git://github.com/git-l10n/git-po:
Update Swedish translation (728t0f0u)

Update Swedish translation (728t0f0u)Peter Krefting Tue, 29 May 2012 08:28:34 +0000 (09:28 +0100)

Update Swedish translation (728t0f0u)

Signed-off-by: Peter Krefting <peter@softwolves.pp.se>

Git 1.7.10.3 v1.7.10.3Junio C Hamano Fri, 25 May 2012 18:28:43 +0000 (11:28 -0700)

Git 1.7.10.3

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

Merge branch 'hv/submodule-alt-odb' into maintJunio C Hamano Fri, 25 May 2012 18:26:38 +0000 (11:26 -0700)

Merge branch 'hv/submodule-alt-odb' into maint

When a submodule repository uses alternate object store mechanism, some
commands that were started from the superproject did not notice it and
failed with "No such object" errors. The subcommands of "git submodule"
command that recursed into the submodule in a separate process were OK;
only the ones that cheated and peeked directly into the submodule's
repository from the primary process were affected.

By Heiko Voigt
* hv/submodule-alt-odb:
teach add_submodule_odb() to look for alternates

Merge branch 'bp/diff-no-index-strbuf-fix' into maintJunio C Hamano Fri, 25 May 2012 18:25:36 +0000 (11:25 -0700)

Merge branch 'bp/diff-no-index-strbuf-fix' into maint

The directory path used in "git diff --no-index", when it recurses
down, was broken with a recent update after v1.7.10.1 release.

By Bobby Powers
* bp/diff-no-index-strbuf-fix:
diff --no-index: don't leak buffers in queue_diff
diff --no-index: reset temporary buffer lengths on directory iteration

fmt-merge-message: add empty line between tag and signa... Linus Torvalds Fri, 25 May 2012 16:02:03 +0000 (09:02 -0700)

fmt-merge-message: add empty line between tag and signature verification

When adding the information from a tag, put an empty line between the
message of the tag and the commented-out signature verification
information.

At least for the kernel workflow, I often end up re-formatting the message
that people send me in the tag data. In that situation, putting the tag
message and the tag signature verification back-to-back then means that
normal editor "reflow parapgraph" command will get confused and think that
the signature is a continuation of the last message paragraph.

So I always end up having to first add an empty line, and then go back and
reflow the last paragraph. Let's just do it in git directly.

The extra vertical space also makes the verification visually stand out
more from the user-supplied message, so it looks a bit more readable to me
too, but that may be just an odd personal preference.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

config doc: remove confusion about relative GIT_DIR... Jonathan Nieder Fri, 25 May 2012 18:12:04 +0000 (13:12 -0500)

config doc: remove confusion about relative GIT_DIR from FILES section

From the FILES section of the git-config(1) manual:

$GIT_DIR/config::
Repository specific configuration file. (The filename is
of course relative to the repository root, not the working
directory.)

That's confusing because $GIT_DIR really is relative to the working
directory.

$ GIT_DIR=.git GIT_EDITOR='pwd; echo editing'
$ export GIT_DIR GIT_EDITOR
$ git config --edit --local
/home/jrn/src/git/Documentation
editing .git/config

It turns out that the comment is a remnant from older days when the
heading said ".git/config" (which is indeed relative to the top of the
worktree).

It was only when the heading was changed to refer more precisely to
<git dir>/config (see v1.5.3.2~18, AsciiDoc tweak to avoid leading
dot, 2007-09-14) that the parenthesis stopped making sense. Remove
it.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Update draft release notes to 1.7.10.3Junio C Hamano Fri, 25 May 2012 00:37:29 +0000 (17:37 -0700)

Update draft release notes to 1.7.10.3

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

Merge branch 'jk/maint-status-porcelain-z-b' into maintJunio C Hamano Fri, 25 May 2012 00:32:30 +0000 (17:32 -0700)

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

"git status --porcelain" ignored "--branch" option by mistake. The output
for "git status --branch -z" was also incorrect and did not terminate the
record for the current branch name with NUL as asked.

By Jeff King
* 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

checkout: no progress messages if !isatty(2).Avery Pennarun Thu, 24 May 2012 06:12:24 +0000 (02:12 -0400)

checkout: no progress messages if !isatty(2).

If stderr isn't a tty, we shouldn't be printing incremental progress
messages. In particular, this affects 'git checkout -f . >&logfile'
unless you provided -q. And git-new-workdir has no way to provide -q.

It would probably be better to have progress.c check isatty(2) all the time,
but that wouldn't allow things like 'git push --progress' to force progress
reporting to on, so I won't try to solve the general case right now.

Actual fix suggested by Jeff King.

Signed-off-by: Avery Pennarun <apenwarr@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

osxkeychain: pull make config from top-level directoryJeff King Wed, 23 May 2012 17:36:53 +0000 (13:36 -0400)

osxkeychain: pull make config from top-level directory

The default compiler and cflags were mostly "works for me"
when I built the original version. We need to be much less
careful here than usual, because we know we are building
only on OS X. But it's only polite to at least respect the
CFLAGS and CC definitions that the user may have provided
earlier.

While we're at it, let's update our definitions and rules to
be more like the top-level Makefile; default our CFLAGS to
include -O2, and make sure we use CFLAGS and LDFLAGS when
linking.

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

avoid segfault when reading header of malformed commitsJeff King Tue, 22 May 2012 04:52:17 +0000 (00:52 -0400)

avoid segfault when reading header of malformed commits

If a commit object has a header line at the end of the
buffer that is missing its newline (or if it appears so
because the content on the header line contains a stray
NUL), then git will segfault.

Interestingly, this case is explicitly handled and we do
correctly scan the final line for the header we are looking
for. But if we don't find it, we will dereference NULL while
trying to look at the next line.

Git will never generate such a commit, but it's good to be
defensive. We could die() in such a case, but since it's
easy enough to handle it gracefully, let's just issue a
warning and continue (so you could still view such a commit
with "git show", though you might be missing headers after
the NUL).

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

pretty: avoid buffer overflow in format_person_partJeff King Tue, 22 May 2012 05:45:08 +0000 (01:45 -0400)

pretty: avoid buffer overflow in format_person_part

When we parse the name and email from a commit to
pretty-print them, we usually can just put the result
directly into our strbuf result. However, if we are going to
use the mailmap, then we must first copy them into a
NUL-terminated buffer to feed to the mailmap machinery.

We did so by using strlcpy into a static buffer, but we used
it wrong. We fed it the length of the substring we wanted to
copy, but never checked that that length was less than the
size of the destination buffer.

The simplest fix is to just use snprintf to copy the
substring properly while still respecting the destination
buffer's size. It might seem like replacing the static
buffer with a strbuf would help, but we need to feed a
static buffer to the mailmap machinery anyway, so there's
not much benefit to handling arbitrary sizes.

A more ideal solution would be for mailmap to grow an
interface that:

1. Takes a pointer and length combination, instead of
assuming a NUL-terminated string.

2. Returns a pointer to the mailmap's allocated string,
rather than copying it into the buffer.

Then we could avoid the need for an extra buffer entirely.
However, doing this would involve a lot of refactoring of
mailmap and of string_list (which mailmap uses to store the
map itself). For now, let's do the simplest thing to fix the
bug.

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

fix off-by-one error in split_ident_lineJeff King Tue, 22 May 2012 06:12:20 +0000 (02:12 -0400)

fix off-by-one error in split_ident_line

Commit 4b340cf split the logic to parse an ident line out of
pretty.c's format_person_part. But in doing so, it
accidentally introduced an off-by-one error that caused it
to think that single-character names were invalid.

This manifested itself as the "%an" format failing to show
anything at all for a single-character name.

Reported-by: Brian Turner <bturner@atlassian.com>
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Consistently use "superproject" instead of "supermodule"Jens Lehmann Sun, 20 May 2012 13:28:26 +0000 (15:28 +0200)

Consistently use "superproject" instead of "supermodule"

We fairly consistently say "superproject" and never "supermodule" these
days. But there are seven occurrences of "supermodule" left in the current
work tree. Three appear in Release Notes for 1.5.3 and 1.7.7, three in
test names and one in a C-code comment.

Replace all occurrences of "supermodule" outside of the Release Notes
(which shouldn't be changed after the fact) with "superproject" for
consistency.

Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t3404: begin "exchange commits with -p" test with corre... Johannes Sixt Sat, 19 May 2012 13:14:16 +0000 (15:14 +0200)

t3404: begin "exchange commits with -p" test with correct preconditions

The test case shows a bug in 'rebase -p', but even if the bug were fixed
the test would fail because it did not ensure that the preconditions match
the postconditions that were checked. Insert the suitable 'git checkout'.

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

diff --no-index: don't leak buffers in queue_diffBobby Powers Wed, 16 May 2012 14:50:31 +0000 (10:50 -0400)

diff --no-index: don't leak buffers in queue_diff

queue_diff uses two strbufs, and at the end of the function
strbuf_reset was called. This only reset the length of the buffer -
any allocated memory was leaked. Using strbuf_release fixes this.

Signed-off-by: Bobby Powers <bobbypowers@gmail.com>
Reviewed-by: René Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

diff --no-index: reset temporary buffer lengths on... Bobby Powers Wed, 16 May 2012 14:28:31 +0000 (10:28 -0400)

diff --no-index: reset temporary buffer lengths on directory iteration

Commit 875b91b (diff --no-index: use strbuf for temporary pathnames,
2012-04-25) introduced a regression when using diff --no-index with
directories. When iterating through a directory, the switch to strbuf
from heap-allocated char arrays caused paths to form like 'dir/file1',
'dir/file1file2', rather than 'dir/file1', 'dir/file2' as expected.

Avoid this by resetting the paths variables to their original length
before each iteration.

Signed-off-by: Bobby Powers <bobbypowers@gmail.com>
Reviewed-by: René Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

l10n: de.po: translate 3 new messagesRalf Thielow Tue, 15 May 2012 17:00:40 +0000 (19:00 +0200)

l10n: de.po: translate 3 new messages

Translate 3 new messages for upcoming git 1.7.10.3.

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

l10n: zh_CN.po: translate 3 new messagesJiang Xin Tue, 15 May 2012 03:53:26 +0000 (11:53 +0800)

l10n: zh_CN.po: translate 3 new messages

Translate 3 new messages for upcoming git 1.7.10.3.

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

l10n: Update git.pot (3 new, 2 removed messages)Jiang Xin Mon, 14 May 2012 22:36:36 +0000 (06:36 +0800)

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

Generate po/git.pot from v1.7.10.2-35-g0b9f4:

* 3 new l10n messages at lines: 2743, 2751, 2759.

* 2 removed l10n messages from lines: 1879, 2757.

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

teach add_submodule_odb() to look for alternatesHeiko Voigt Mon, 14 May 2012 16:24:45 +0000 (18:24 +0200)

teach add_submodule_odb() to look for alternates

Since we allow to link other object databases when loading a submodules
database we should also load possible alternates.

Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint' of git://github.com/git-l10n/git... Junio C Hamano Mon, 14 May 2012 18:47:49 +0000 (11:47 -0700)

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

By Ralf Thielow (6) and others
via Jiang Xin
* 'maint' of git://github.com/git-l10n/git-po:
l10n: zh_CN.po: translate 1 new message
l10n: de.po: translate one new message
l10n: de.po: unify translation of "ahead" and "behind"
l10n: de.po: collection of improvements
l10n: de.po: translate "remote" as "extern"
l10n: de.po: translate "track" as "beobachten"
l10n: add new members to German translation team
l10n: de.po: collection of suggestions
l10n: de.po: translate "bad" as "ungültig" ("invalid")
l10n: de.po: hopefully uncontroversial fixes
l10n: de.po: translate "bare" as "bloß"
l10n: Update git.pot (1 new messages)

Start preparing for 1.7.10.3Junio C Hamano Mon, 14 May 2012 18:47:20 +0000 (11:47 -0700)

Start preparing for 1.7.10.3

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

Merge branch 'jk/maint-reflog-walk-count-vs-time' into... Junio C Hamano Mon, 14 May 2012 18:46:16 +0000 (11:46 -0700)

Merge branch 'jk/maint-reflog-walk-count-vs-time' into maint

Gives a better DWIM behaviour for --pretty=format:%gd, "stash list", and
"log -g", depending on how the starting point ("master" vs "master@{0}" vs
"master@{now}") and date formatting options (e.g. "--date=iso") are given
on the command line.

By Jeff King (4) and Junio C Hamano (1)
* jk/maint-reflog-walk-count-vs-time:
reflog-walk: tell explicit --date=default from not having --date at all
reflog-walk: always make HEAD@{0} show indexed selectors
reflog-walk: clean up "flag" field of commit_reflog struct
log: respect date_mode_explicit with --format:%gd
t1411: add more selector index/date tests

Merge branch 'jk/doc-asciidoc-inline-literal' into... Junio C Hamano Mon, 14 May 2012 18:43:04 +0000 (11:43 -0700)

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

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

Merge branch 'ef/checkout-empty' into maintJunio C Hamano Mon, 14 May 2012 18:42:49 +0000 (11:42 -0700)

Merge branch 'ef/checkout-empty' into maint

Running "git checkout" on an unborn branch used to corrupt HEAD
(regression in 1.7.10); this makes it error out.

By Erik Faye-Lund
* ef/checkout-empty:
checkout: do not corrupt HEAD on empty repo

Merge branch 'jk/maint-tformat-with-z' into maintJunio C Hamano Mon, 14 May 2012 18:42:34 +0000 (11:42 -0700)

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

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 'js/checkout-detach-count' into maintJunio C Hamano Mon, 14 May 2012 18:42:22 +0000 (11:42 -0700)

Merge branch 'js/checkout-detach-count' into maint

When checking out another commit from an already detached state, we used
to report all commits that are not reachable from any of the refs as
lossage, but some of them might be reachable from the new HEAD, and there
is no need to warn about them.

By Johannes Sixt
* js/checkout-detach-count:
checkout (detached): truncate list of orphaned commits at the new HEAD
t2020-checkout-detach: check for the number of orphaned commits

Merge branch 'ef/maint-clone-progress-fix' into maintJunio C Hamano Mon, 14 May 2012 18:41:40 +0000 (11:41 -0700)

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

Some time ago, "git clone" lost the progress output for its "checkout"
phase; when run without any "--quiet" option, it should give progress to
the lengthy operation.

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

link to gitmodules page at the beginning of git-submodu... Heiko Voigt Mon, 14 May 2012 17:32:08 +0000 (19:32 +0200)

link to gitmodules page at the beginning of git-submodule documentation

This way the user does not have to scroll down to the bottom to find
it.

Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

pack-protocol: fix first-want separator in the examplesCarlos Martín Nieto Fri, 11 May 2012 23:44:53 +0000 (01:44 +0200)

pack-protocol: fix first-want separator in the examples

When sending the "want" list, the capabilities list is separated from
the obj-id by a SP instead of NUL as in the ref advertisement. The
text is correct, but the examples wrongly show the separator as
NUL. Fix the example so it uses SP.

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

l10n: zh_CN.po: translate 1 new messageJiang Xin Tue, 8 May 2012 08:14:32 +0000 (16:14 +0800)

l10n: zh_CN.po: translate 1 new message

Translate new message '[new ref]' since git 1.7.10.1.

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

Git 1.7.10.2 v1.7.10.2Junio C Hamano Fri, 11 May 2012 18:25:28 +0000 (11:25 -0700)

Git 1.7.10.2

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

Merge branch 'jc/diff-algo-cleanup' into maintJunio C Hamano Fri, 11 May 2012 18:19:27 +0000 (11:19 -0700)

Merge branch 'jc/diff-algo-cleanup' into maint

* jc/diff-algo-cleanup:
xdiff: PATIENCE/HISTOGRAM are not independent option bits
xdiff: remove XDL_PATCH_* macros

Merge branch 'ct/advise-push-default' into maintJunio C Hamano Fri, 11 May 2012 18:18:43 +0000 (11:18 -0700)

Merge branch 'ct/advise-push-default' into maint

The cases "git push" fails due to non-ff can be broken into three
categories; each case is given a separate advise message.

By Christopher Tiwald (2) and Jeff King (1)
* ct/advise-push-default:
Fix httpd tests that broke when non-ff push advice changed
clean up struct ref's nonfastforward field
push: Provide situational hints for non-fast-forward errors

Merge branch 'js/fast-import-test-9300' into maintJunio C Hamano Fri, 11 May 2012 18:17:49 +0000 (11:17 -0700)

Merge branch 'js/fast-import-test-9300' into maint

By Johannes Sixt
* js/fast-import-test-9300:
t9300-fast-import: avoid 'exit' in test_expect_success snippets

Merge branch 'jk/repack-no-explode-objects-from-old... Junio C Hamano Fri, 11 May 2012 18:16:45 +0000 (11:16 -0700)

Merge branch 'jk/repack-no-explode-objects-from-old-pack' into maint

"git repack" used to write out unreachable objects as loose objects
when repacking, even if such loose objects will immediately pruned
due to its age.

By Jeff King
* jk/repack-no-explode-objects-from-old-pack:
gc: use argv-array for sub-commands
argv-array: add a new "pushl" method
argv-array: refactor empty_argv initialization
gc: do not explode objects which will be immediately pruned

Merge branch 'ah/maint-grep-double-init' into maintJunio C Hamano Fri, 11 May 2012 18:16:09 +0000 (11:16 -0700)

Merge branch 'ah/maint-grep-double-init' into maint

By Angus Hammond
* ah/maint-grep-double-init:
grep.c: remove redundant line of code

Merge branch 'fa/maint-config-doc' into maintJunio C Hamano Fri, 11 May 2012 18:15:53 +0000 (11:15 -0700)

Merge branch 'fa/maint-config-doc' into maint

By Florian Achleitner
* fa/maint-config-doc:
Documentation/git-config: describe and clarify "--local <file>" option

Merge branch 'rs/unpack-trees-leakfix' into maintJunio C Hamano Fri, 11 May 2012 18:15:10 +0000 (11:15 -0700)

Merge branch 'rs/unpack-trees-leakfix' into maint

By René Scharfe
* rs/unpack-trees-leakfix:
unpack-trees: plug minor memory leak
unpack-trees: don't perform any index operation if we're not merging

Merge branch 'sl/test-wc-l-line-count' into maintJunio C Hamano Fri, 11 May 2012 18:14:57 +0000 (11:14 -0700)

Merge branch 'sl/test-wc-l-line-count' into maint

By Stefano Lattarini
* sl/test-wc-l-line-count:
tests: modernise style: more uses of test_line_count

Merge branch 'rl/show-empty-prefix' into maintJunio C Hamano Fri, 11 May 2012 18:13:26 +0000 (11:13 -0700)

Merge branch 'rl/show-empty-prefix' into maint

Unlike "git rev-parse --show-cdup", "--show-prefix" did not give an
empty line when run at the top of the working tree.

By Ross Lagerwall
* rl/show-empty-prefix:
rev-parse --show-prefix: add in trailing newline

document submdule.$name.update=none option for gitmodulesHeiko Voigt Thu, 10 May 2012 18:59:04 +0000 (20:59 +0200)

document submdule.$name.update=none option for gitmodules

This option was not yet described in the gitmodules documentation. We
only described it in the 'git submodule' command documentation but
gitmodules is the more natural place to look.

A short reference in the 'git submodule' documentation should be
sufficient since the details can now be found in the documentation to
gitmodules.

Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Update draft release notes to 1.7.10.2Junio C Hamano Thu, 10 May 2012 17:45:42 +0000 (10:45 -0700)

Update draft release notes to 1.7.10.2

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

Merge branch 'mm/include-userpath' into maintJunio C Hamano Thu, 10 May 2012 17:33:05 +0000 (10:33 -0700)

Merge branch 'mm/include-userpath' into maint

By Jeff King
* mm/include-userpath:
config: expand tildes in include.path variable

Merge branch 'cc/fix-missing-va-end-in-revert' into... Junio C Hamano Thu, 10 May 2012 17:32:43 +0000 (10:32 -0700)

Merge branch 'cc/fix-missing-va-end-in-revert' into maint

By Christian Couder
* cc/fix-missing-va-end-in-revert:
revert: add missing va_end

Merge branch 'bw/test-fix-grep-gnuism' into maintJunio C Hamano Thu, 10 May 2012 17:32:15 +0000 (10:32 -0700)

Merge branch 'bw/test-fix-grep-gnuism' into maint

* bw/test-fix-grep-gnuism:
t9400: fix gnuism in grep

Merge branch 'jk/http-backend-keep-committer-ident... Junio C Hamano Thu, 10 May 2012 17:29:50 +0000 (10:29 -0700)

Merge branch 'jk/http-backend-keep-committer-ident-env' into maint

By Jeff King
* jk/http-backend-keep-committer-ident-env:
http-backend: respect existing GIT_COMMITTER_* variables

Conflicts:
t/t5541-http-push.sh

Merge branch 'nl/rebase-i-cheat-sheet' into maintJunio C Hamano Thu, 10 May 2012 17:29:14 +0000 (10:29 -0700)

Merge branch 'nl/rebase-i-cheat-sheet' into maint

* nl/rebase-i-cheat-sheet:
rebase -i: remind that the lines are top-to-bottom

Merge branch 'bw/submodule-sed-solaris' into maintJunio C Hamano Thu, 10 May 2012 17:27:58 +0000 (10:27 -0700)

Merge branch 'bw/submodule-sed-solaris' into maint

By Ben Walton
* bw/submodule-sed-solaris:
Avoid bug in Solaris xpg4/sed as used in submodule

Merge branch 'jk/maint-push-progress' into maintJunio C Hamano Thu, 10 May 2012 17:08:54 +0000 (10:08 -0700)

Merge branch 'jk/maint-push-progress' into maint

"git push" over smart-http lost progress output a few releases ago.

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 'jc/rerere-train' into maintJunio C Hamano Thu, 10 May 2012 17:08:24 +0000 (10:08 -0700)

Merge branch 'jc/rerere-train' into maint

A contrib script "rerere-train" did not work out of the box unless user
futzed with her $PATH.

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

Merge branch 'lp/diffstat-with-graph' into maintJunio C Hamano Thu, 10 May 2012 17:06:52 +0000 (10:06 -0700)

Merge branch 'lp/diffstat-with-graph' into maint

"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 (3)
* lp/diffstat-with-graph:
t4052: work around shells unable to set COLUMNS to 1
test-lib: skip test with COLUMNS=1 under mksh
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

checkout: do not corrupt HEAD on empty repoErik Faye-Lund Tue, 8 May 2012 17:22:33 +0000 (19:22 +0200)

checkout: do not corrupt HEAD on empty repo

In abe1998 ("git checkout -b: allow switching out of an unborn
branch"), a code-path overly-optimisticly assumed that a
branch-name was specified. This is not always the case, and as
a result a NULL-pointer was attempted printed to .git/HEAD.

This could lead to at least two different failure modes:
1) vsnprintf formated the NULL-string as something useful (e.g
"(null)")
2) vsnprintf crashed

Neither were very convenient for formatting a new HEAD-reference.

To fix this, reintroduce some strictness so we only take this
new codepath if a banch-name was specified.

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

l10n: de.po: translate one new messageRalf Thielow Tue, 8 May 2012 17:03:30 +0000 (19:03 +0200)

l10n: de.po: translate one new message

Translate one new messages came from git.pot
update in 7795e42 (l10n: Update git.pot (1 new messages)).
It also updates and reformats the de.po file due to "msgmerge".

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

l10n: de.po: unify translation of "ahead" and "behind"Ralf Thielow Fri, 4 May 2012 18:54:44 +0000 (20:54 +0200)

l10n: de.po: unify translation of "ahead" and "behind"

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

l10n: de.po: collection of improvementsRalf Thielow Fri, 4 May 2012 18:28:08 +0000 (20:28 +0200)

l10n: de.po: collection of improvements

A list of improvements for German translation
which contains a couple of spellings and grammar.

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

l10n: de.po: translate "remote" as "extern"Ralf Thielow Fri, 4 May 2012 16:59:53 +0000 (18:59 +0200)

l10n: de.po: translate "remote" as "extern"

The word "remote" was translated as "entfernt"
and "anders". Both of them aren't really good
because "anders" in German means "other" and
"entfernt" has two different meanings and could
result in confusion to the users.
We've changed the translation to "extern".

Suggested-by: Jan Krüger <jk@jk.gs>
Signed-off-by: Ralf Thielow <ralf.thielow@googlemail.com>

l10n: de.po: translate "track" as "beobachten"Ralf Thielow Fri, 4 May 2012 16:27:54 +0000 (18:27 +0200)

l10n: de.po: translate "track" as "beobachten"

The word "track" was translated as "verfolgen"
and "folgen". We've decided to translate "track" in
the meaning of tracked files/content as "beobachten"
and in the remote-tracking sense as "folgen".

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

l10n: add new members to German translation teamRalf Thielow Fri, 4 May 2012 18:47:35 +0000 (20:47 +0200)

l10n: add new members to German translation team

Add Thomas Rast, Jan Krüger and Christian Stimming
to German translation team.

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

l10n: de.po: collection of suggestionsThomas Rast Wed, 2 May 2012 13:49:27 +0000 (15:49 +0200)

l10n: de.po: collection of suggestions

A long list of suggested changes to the translation. None of them are
clear-cut, though I of course think they are an improvement ;-)

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

l10n: de.po: translate "bad" as "ungültig" ("invalid")Thomas Rast Wed, 2 May 2012 13:49:26 +0000 (15:49 +0200)

l10n: de.po: translate "bad" as "ungültig" ("invalid")

"schlecht" doesn't quite sound right to me, especially in messages
like "bad object" where the object doesn't even exist in the first
place.

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

l10n: de.po: hopefully uncontroversial fixesThomas Rast Wed, 2 May 2012 13:49:25 +0000 (15:49 +0200)

l10n: de.po: hopefully uncontroversial fixes

These are all obviously wrong, such as typos or messages where the
current translation is based on a misunderstanding of the original
message.

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

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>

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 (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>

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>

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>

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>

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>

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

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>