gitweb.git
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

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

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

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

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

Sync with v1.7.10.1

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

Git 1.7.10.1

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

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

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

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

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

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

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

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

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

Conflicts:
t/t5500-fetch-pack.sh

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

l10n: Update German translation

Translate new messages for git master branch.

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

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

Merge l10n updates from branch 'maint' into master

By Ralf Thielow
* maint:
l10n: Initial German translation

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

l10n: Initial German translation

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

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

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

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

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

Merge branch 'nh/empty-rebase'

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

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

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

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

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

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

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

The seventh batch of topics graduated to 'master'

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

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

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

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

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

Merge branch 'kk/gitweb-omit-expensive'Junio C Hamano Mon, 30 Apr 2012 00:52:00 +0000 (17:52 -0700)

Merge branch 'kk/gitweb-omit-expensive'

"gitweb" learned to optionally omit output of fields that are expensive
to generate.

By Kacper Kornet
* kk/gitweb-omit-expensive:
gitweb: Option to not display information about owner
gitweb: Option to omit column with time of the last change

Merge branch 'kk/maint-gitweb-missing-owner'Junio C Hamano Mon, 30 Apr 2012 00:51:56 +0000 (17:51 -0700)

Merge branch 'kk/maint-gitweb-missing-owner'

By Kacper Kornet
* kk/maint-gitweb-missing-owner:
gitweb: Don't set owner if got empty value from projects.list

Merge branch 'rs/commit-list-append'Junio C Hamano Mon, 30 Apr 2012 00:51:30 +0000 (17:51 -0700)

Merge branch 'rs/commit-list-append'

There is no need for "commit_list_reverse()" function that only invites
inefficient code.

By René Scharfe
* rs/commit-list-append:
commit: remove commit_list_reverse()
revision: append to list instead of insert and reverse
sequencer: export commit_list_append()

Merge branch 'mm/include-userpath'Junio C Hamano Mon, 30 Apr 2012 00:51:27 +0000 (17:51 -0700)

Merge branch 'mm/include-userpath'

The new "include.path" directive in the configuration files learned
to understand "~/path" and "~user/path".

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

Merge branch 'pw/t5800-import-race-fix'Junio C Hamano Mon, 30 Apr 2012 00:51:23 +0000 (17:51 -0700)

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

Longstanding bug in a test scaffolding that occasionally made t5800
hang was fixed.

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

Merge branch 'jk/repack-no-explode-objects-from-old... Junio C Hamano Mon, 30 Apr 2012 00:50:27 +0000 (17:50 -0700)

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

Avoid writing out unreachable objects as loose objects when repacking,
if such loose objects will immediately pruned due to its age anyway.

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

config: expand tildes in include.path variableJeff King Wed, 25 Apr 2012 12:00:36 +0000 (08:00 -0400)

config: expand tildes in include.path variable

You can already use relative paths in include.path, which
means that including "foo" from your global "~/.gitconfig"
will look in your home directory. However, you might want to
do something clever like putting "~/.gitconfig-foo" in a
specific repository's config file.

Signed-off-by: Jeff King <peff@peff.net>
Acked-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge git://git.bogomips.org/git-svnJunio C Hamano Mon, 30 Apr 2012 00:00:42 +0000 (17:00 -0700)

Merge git://git.bogomips.org/git-svn

By Matthijs Kooijman
via Eric Wong
* git://git.bogomips.org/git-svn:
git-svn: use platform specific auth providers

l10n: Update Simplified Chinese translationJiang Xin Sun, 29 Apr 2012 16:06:55 +0000 (00:06 +0800)

l10n: Update Simplified Chinese translation

Translate new messages for git master branch.

- sha1_name.c: 4 new messages.
- builtin/push.c: 3 new messages.
- git-submodule.sh: variable name changed from '$path' to '$sm_path'.

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

Merge branch 'maint'Jiang Xin Sat, 28 Apr 2012 15:26:36 +0000 (23:26 +0800)

Merge branch 'maint'

By Jiang Xin
* maint:
l10n: Update Simplified Chinese translation
l10n: Update git.pot (2 new messages)

l10n: Update Simplified Chinese translationJiang Xin Sat, 28 Apr 2012 14:42:41 +0000 (22:42 +0800)

l10n: Update Simplified Chinese translation

Translate 2 new messages come from git maint branch.

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

l10n: Update git.pot (2 new messages)Jiang Xin Sat, 28 Apr 2012 12:35:24 +0000 (20:35 +0800)

l10n: Update git.pot (2 new messages)

Changes of po/git.pot from v1.7.10 to v1.7.10-55-g868d6

* 2 new l10n messages at lines: 1583, 2730

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

Merge maint branch for tracking l10n updates of git... Jiang Xin Sat, 28 Apr 2012 12:30:50 +0000 (20:30 +0800)

Merge maint branch for tracking l10n updates of git stable version

Use master branch to track l10n updates for git next release, while
use maint branch to track l10n updates for git stable version.

l10n: Update git.pot (33 new, 24 deleted messages)Jiang Xin Sat, 28 Apr 2012 12:27:01 +0000 (20:27 +0800)

l10n: Update git.pot (33 new, 24 deleted messages)

Changes of po/git.pot from v1.7.10 to v1.7.10-382-g62bc8

* 33 new l10n messages at lines:
401, 406, 411, 416, 1602, 1780, 2753, 2766, 2774, 2782, 3403, 3408,
3423, 3428, 3433, 3438, 3443, 3448, 3453, 3458, 3463, 3468, 3473,
3480, 3485, 3490, 3495, 3500, 3505, 3510, 3515, 3520, 3525

* 24 deleted l10n messages at lines:
2740, 3351, 3356, 3371, 3376, 3381, 3386, 3391, 3396, 3401, 3406,
3411, 3416, 3421, 3428, 3433, 3438, 3443, 3448, 3453, 3458, 3463,
3468, 3473

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

Merge master branch for tracking l10n updates of next... Jiang Xin Sat, 28 Apr 2012 07:54:37 +0000 (15:54 +0800)

Merge master branch for tracking l10n updates of next release

Use master branch to track l10n updates for git next release, while
use maint branch to track l10n updates for git stable version.

l10n: Add the German translation team and initialize... Ralf Thielow Thu, 26 Apr 2012 06:59:41 +0000 (08:59 +0200)

l10n: Add the German translation team and initialize de.po

Signed-off-by: Ralf Thielow <ralf.thielow@googlemail.com>
Signed-off-by: Jiang Xin <worldhello.net@gmail.com>

index-v4: document the entry formatJunio C Hamano Fri, 27 Apr 2012 23:02:45 +0000 (16:02 -0700)

index-v4: document the entry format

Document the format so that others can learn from and build on top of
the series.

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

unpack-trees: preserve the index file version of originalJunio C Hamano Fri, 27 Apr 2012 22:58:13 +0000 (15:58 -0700)

unpack-trees: preserve the index file version of original

Otherwise "git checkout $other_branch" (or even "git checkout HEAD")
would end up writing the index out in the default format.

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

The sixth batch of topics graduated to 'master'Junio C Hamano Fri, 27 Apr 2012 21:12:56 +0000 (14:12 -0700)

The sixth batch of topics graduated to 'master'

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

Merge branch 'jc/merge-reduce-parents-early'Junio C Hamano Fri, 27 Apr 2012 20:59:20 +0000 (13:59 -0700)

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

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 'js/fast-import-test-9300'Junio C Hamano Fri, 27 Apr 2012 20:59:04 +0000 (13:59 -0700)

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

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

Merge branch 'rt/cherry-revert-conflict-summary'Junio C Hamano Fri, 27 Apr 2012 20:58:53 +0000 (13:58 -0700)

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

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 Fri, 27 Apr 2012 20:58:43 +0000 (13:58 -0700)

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

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 'cb/cherry-pick-rev-path-confusion'Junio C Hamano Fri, 27 Apr 2012 20:58:02 +0000 (13:58 -0700)

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

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.

The issue the patch addresses is real, but the way it is implemented felt
unnecessarily invasive a bit. It may be cleaner for this caller to add
the "--" to the end of the argv_array it passes to setup_revisions().

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

Merge branch 'cb/http-multi-curl-auth'Junio C Hamano Fri, 27 Apr 2012 20:57:49 +0000 (13:57 -0700)

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

Fixes http authentication breakage when we keep multiple HTTP requests in
flight using curl-multi.

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

t4052: work around shells unable to set COLUMNS to 1Zbigniew Jędrzejewski-Szmek Fri, 27 Apr 2012 09:25:25 +0000 (11:25 +0200)

t4052: work around shells unable to set COLUMNS to 1

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

Merge branch 'zj/mksh-columns-breakage' into lp/diffsta... Junio C Hamano Fri, 27 Apr 2012 16:28:00 +0000 (09:28 -0700)

Merge branch 'zj/mksh-columns-breakage' into lp/diffstat-with-graph

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

test-lib: skip test with COLUMNS=1 under mkshZbigniew Jędrzejewski-Szmek Fri, 27 Apr 2012 09:25:25 +0000 (11:25 +0200)

test-lib: skip test with COLUMNS=1 under mksh

mksh does not allow $COLUMNS to be set below 12. mksh(1) says that
$COLUMNS is "always set, defaults to 80, unless the value as reported
by stty(1) is non-zero and sane enough". This applies also to setting
it directly for one command:

$ COLUMNS=10 python -c 'import os; print os.environ["COLUMNS"]'
98

Add a test prerequisite by checking if we can set COLUMNS=1, to allow
us to skip tests that needs it.

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

t5570: fix forwarding of git-daemon messages via catJohannes Sixt Thu, 26 Apr 2012 21:00:39 +0000 (23:00 +0200)

t5570: fix forwarding of git-daemon messages via cat

The shell function that starts git-daemon wants to read the first line of
the daemon's stderr to ensure that it started correctly. Subsequent daemon
errors should be redirected to fd 4 (which is the terminal in verbose mode
or /dev/null in quiet mode). To that end the shell script used 'read' to
get the first line of output, and then 'cat &' to forward everything else
in a background process.

The problem is, that 'cat >&4 &' does not produce any output because the
shell redirects a background process's stdin to /dev/null. To have this
command invocation do anything useful, we have to redirect its stdin
explicitly (which overrides the /dev/null redirection).

The shell function connects the daemon's stderr to its consumers via a
FIFO. We cannot just do this:

read line <git_daemon_output
cat <git_daemon_output >&4 &

because after the first redirection the pipe is closed and the daemon
could receive SIGPIPE if it writes at the wrong moment. Therefore, we open
the readable end of the FIFO only once on fd 7 in the shell and dup from
there to the stdin of the two consumers.

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

git-svn: use platform specific auth providersMatthijs Kooijman Thu, 26 Apr 2012 19:34:02 +0000 (21:34 +0200)

git-svn: use platform specific auth providers

On Linux, this makes authentication using passwords from gnome-keyring
and kwallet work (only the former was tested). On Mac OS X, this allows
using the OS X Keychain.

Signed-off-by: Matthijs Kooijman <matthijs@stdin.nl>
Acked-by: Eric Wong <normalperson@yhbt.net>

docs: stop using asciidoc no-inline-literalJeff King Thu, 26 Apr 2012 08:51:57 +0000 (04:51 -0400)

docs: stop using asciidoc no-inline-literal

In asciidoc 7, backticks like `foo` produced a typographic
effect, but did not otherwise affect the syntax. In asciidoc
8, backticks introduce an "inline literal" inside which markup
is not interpreted. To keep compatibility with existing
documents, asciidoc 8 has a "no-inline-literal" attribute to
keep the old behavior. We enabled this so that the
documentation could be built on either version.

It has been several years now, and asciidoc 7 is no longer
in wide use. We can now decide whether or not we want
inline literals on their own merits, which are:

1. The source is much easier to read when the literal
contains punctuation. You can use `master~1` instead
of `master{tilde}1`.

2. They are less error-prone. Because of point (1), we
tend to make mistakes and forget the extra layer of
quoting.

This patch removes the no-inline-literal attribute from the
Makefile and converts every use of backticks in the
documentation to an inline literal (they must be cleaned up,
or the example above would literally show "{tilde}" in the
output).

Problematic sites were found by grepping for '`.*[{\\]' and
examined and fixed manually. The results were then verified
by comparing the output of "html2text" on the set of
generated html pages. Doing so revealed that in addition to
making the source more readable, this patch fixes several
formatting bugs:

- HTML rendering used the ellipsis character instead of
literal "..." in code examples (like "git log A...B")

- some code examples used the right-arrow character
instead of '->' because they failed to quote

- api-config.txt did not quote tilde, and the resulting
HTML contained a bogus snippet like:

<tt><sub></tt> foo <tt></sub>bar</tt>

which caused some parsers to choke and omit whole
sections of the page.

- git-commit.txt confused ``foo`` (backticks inside a
literal) with ``foo'' (matched double-quotes)

- mentions of `A U Thor <author@example.com>` used to
erroneously auto-generate a mailto footnote for
author@example.com

- the description of --word-diff=plain incorrectly showed
the output as "[-removed-] and {added}", not "{+added+}".

- using "prime" notation like:

commit `C` and its replacement `C'`

confused asciidoc into thinking that everything between
the first backtick and the final apostrophe were meant
to be inside matched quotes

- asciidoc got confused by the escaping of some of our
asterisks. In particular,

`credential.\*` and `credential.<url>.\*`

properly escaped the asterisk in the first case, but
literally passed through the backslash in the second
case.

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

gitweb: Option to not display information about ownerKacper Kornet Thu, 26 Apr 2012 16:45:44 +0000 (18:45 +0200)

gitweb: Option to not display information about owner

In some setups the repository owner is not a well defined concept
and administrator can prefer it to be not shown. This commit add
and an option that enable to reach this effect.

Signed-off-by: Kacper Kornet <draenog@pld-linux.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Update draft release notes to 1.7.11Junio C Hamano Thu, 26 Apr 2012 18:02:36 +0000 (11:02 -0700)

Update draft release notes to 1.7.11

A handful of topics have been merged to maintenance releases, and
the first half of 6th batch graduates to 'master'.

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

Merge branch 'rl/maint-stash-i18n-save-error'Junio C Hamano Thu, 26 Apr 2012 17:59:08 +0000 (10:59 -0700)

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

The i18n of error message "git stash save" was not properly done.

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

Merge branch 'mb/fetch-call-a-non-branch-a-ref'Junio C Hamano Thu, 26 Apr 2012 17:57:43 +0000 (10:57 -0700)

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

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 'jm/maint-strncpy-diff-no-index'Junio C Hamano Thu, 26 Apr 2012 17:56:19 +0000 (10:56 -0700)

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

The "diff --no-index" codepath used limited-length buffers,
risking pathnames getting truncated. Update it to use the
strbuf API.

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 bundle error message fix inJunio C Hamano Thu, 26 Apr 2012 17:54:58 +0000 (10:54 -0700)

Merge bundle error message fix in

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

Start preparing for 1.7.10.1Junio C Hamano Thu, 26 Apr 2012 17:40:08 +0000 (10:40 -0700)

Start preparing for 1.7.10.1

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

Merge branch 'jk/run-command-eacces' into maintJunio C Hamano Thu, 26 Apr 2012 17:51:40 +0000 (10:51 -0700)

Merge branch 'jk/run-command-eacces' into maint

When PATH contains an unreadable directory, alias expansion code did
not kick in, and failed with an error that said "git-subcmd" was not
found.

By Jeff King (1) and Ramsay Jones (1)
* jk/run-command-eacces:
run-command: treat inaccessible directories as ENOENT
compat/mingw.[ch]: Change return type of exec functions to int

Merge branch 'jc/push-upstream-sanity' into maintJunio C Hamano Thu, 26 Apr 2012 17:51:18 +0000 (10:51 -0700)

Merge branch 'jc/push-upstream-sanity' into maint

The 'push to upstream' implementation was broken in some corner
cases. "git push $there" without refspec, when the current branch is
set to push to a remote different from $there, used to push to $there
using the upstream information to a remote unreleated to $there.

* jc/push-upstream-sanity:
push: error out when the "upstream" semantics does not make sense

Merge branch 'jc/maint-clean-nested-worktree-in-subdir... Junio C Hamano Thu, 26 Apr 2012 17:35:42 +0000 (10:35 -0700)

Merge branch 'jc/maint-clean-nested-worktree-in-subdir' into maint

"git clean -d -f" (not "-d -f -f") is supposed to protect nested
working trees of independent git repositories that exist in the
current project working tree from getting removed, but the protection
applied only to such working trees that are at the top-level of the
current project by mistake.

* jc/maint-clean-nested-worktree-in-subdir:
clean: preserve nested git worktree in subdirectories

Merge branch 'jk/diff-no-rename-empty' into maintJunio C Hamano Thu, 26 Apr 2012 17:35:33 +0000 (10:35 -0700)

Merge branch 'jk/diff-no-rename-empty' into maint

Rename detection logic used to match two empty files as renames during
merge-recursive, leading unnatural mismerges.

By Jeff King
* jk/diff-no-rename-empty:
merge-recursive: don't detect renames of empty files
teach diffcore-rename to optionally ignore empty content
make is_empty_blob_sha1 available everywhere
drop casts from users EMPTY_TREE_SHA1_BIN

Merge branch 'rs/combine-diff-zero-context-at-the-begin... Junio C Hamano Thu, 26 Apr 2012 17:35:25 +0000 (10:35 -0700)

Merge branch 'rs/combine-diff-zero-context-at-the-beginning' into maint

An age-old corner case bug in combine diff (only triggered with -U0
and the hunk at the beginning of the file needs to be shown) has been
fixed.

By René Scharfe
* rs/combine-diff-zero-context-at-the-beginning:
combine-diff: fix loop index underflow

Merge branch 'jc/commit-unedited-template' into maintJunio C Hamano Thu, 26 Apr 2012 17:35:15 +0000 (10:35 -0700)

Merge branch 'jc/commit-unedited-template' into maint

When "git commit --template F" errors out because the user did not
touch the message, it claimed that it aborts due to "empty message",
which was utterly wrong.

By Junio C Hamano (4) and Adam Monsen (1)
* jc/commit-unedited-template:
Documentation/git-commit: rephrase the "initial-ness" of templates
git-commit.txt: clarify -t requires editing message
commit: rephrase the error when user did not touch templated log message
commit: do not trigger bogus "has templated message edited" check
t7501: test the right kind of breakage

Merge branch 'jk/add-p-skip-conflicts' into maintJunio C Hamano Thu, 26 Apr 2012 17:35:07 +0000 (10:35 -0700)

Merge branch 'jk/add-p-skip-conflicts' into maint

"git add -p" is not designed to deal with unmerged paths but did
not exclude them and tried to apply funny patches only to fail.

By Jeff King
* jk/add-p-skip-conflicts:
add--interactive: ignore unmerged entries in patch mode

Merge branch 'jc/commit-hook-authorship' into maintJunio C Hamano Thu, 26 Apr 2012 17:34:53 +0000 (10:34 -0700)

Merge branch 'jc/commit-hook-authorship' into maint

"git commit --author=$name" did not tell the name that was being
recorded in the resulting commit to hooks, even though it does do so
when the end user overrode the authorship via the "GIT_AUTHOR_NAME"
environment variable.

* jc/commit-hook-authorship:
commit: pass author/committer info to hooks
t7503: does pre-commit-hook learn authorship?
ident.c: add split_ident_line() to parse formatted ident line

Merge branch 'tr/maint-word-diff-regex-sticky' into... Junio C Hamano Thu, 26 Apr 2012 17:34:43 +0000 (10:34 -0700)

Merge branch 'tr/maint-word-diff-regex-sticky' into maint

The regexp configured with diff.wordregex was incorrectly reused
across files.

By Thomas Rast (2) and Johannes Sixt (1)
* tr/maint-word-diff-regex-sticky:
diff: tweak a _copy_ of diff_options with word-diff
diff: refactor the word-diff setup from builtin_diff_cmd
t4034: diff.*.wordregex should not be "sticky" in --word-diff

Merge branch 'jh/notes-merge-in-git-dir-worktree' into... Junio C Hamano Thu, 26 Apr 2012 17:32:55 +0000 (10:32 -0700)

Merge branch 'jh/notes-merge-in-git-dir-worktree' into maint

Running "notes merge --commit" failed to perform correctly when run
from any directory inside $GIT_DIR/. When "notes merge" stops with
conflicts, $GIT_DIR/NOTES_MERGE_WORKTREE is the place a user edits
to resolve it.

By Johan Herland (3) and Junio C Hamano (1)
* jh/notes-merge-in-git-dir-worktree:
notes-merge: Don't remove .git/NOTES_MERGE_WORKTREE; it may be the user's cwd
notes-merge: use opendir/readdir instead of using read_directory()
t3310: illustrate failure to "notes merge --commit" inside $GIT_DIR/
remove_dir_recursively(): Add flag for skipping removal of toplevel dir

Sync with 1.7.9.7Junio C Hamano Thu, 26 Apr 2012 17:31:43 +0000 (10:31 -0700)

Sync with 1.7.9.7

Git 1.7.9.7 v1.7.9.7Junio C Hamano Thu, 26 Apr 2012 17:23:15 +0000 (10:23 -0700)

Git 1.7.9.7

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

Sync with 1.7.8.6Junio C Hamano Thu, 26 Apr 2012 17:22:20 +0000 (10:22 -0700)

Sync with 1.7.8.6

Git 1.7.8.6 v1.7.8.6Junio C Hamano Thu, 26 Apr 2012 16:59:22 +0000 (09:59 -0700)

Git 1.7.8.6

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

Sync with 1.7.7.7Junio C Hamano Thu, 26 Apr 2012 16:52:33 +0000 (09:52 -0700)

Sync with 1.7.7.7

Git 1.7.7.7 v1.7.7.7Junio C Hamano Thu, 26 Apr 2012 16:41:52 +0000 (09:41 -0700)

Git 1.7.7.7

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

diff --no-index: use strbuf for temporary pathnamesJunio C Hamano Wed, 25 Apr 2012 19:37:38 +0000 (12:37 -0700)

diff --no-index: use strbuf for temporary pathnames

Instead of using limited-length buffers and risking of pathname
truncation, we should be taking advantage of strbuf API nowadays.

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

bundle: remove stray single-quote from error messageJonathan Nieder Thu, 26 Apr 2012 05:53:59 +0000 (00:53 -0500)

bundle: remove stray single-quote from error message

After running rev-list --boundary to retrieve the list of boundary
commits, "git bundle create" runs its own revision walk. If in this
stage git encounters an unfamiliar option, it writes a message with an
unbalanced quotation mark:

error: unrecognized argument: --foo'

Drop the stray quote to match the "unrecognized argument: %s" message
used elsewhere and save translators some work.

This is mostly a futureproofing measure: for now, the "rev-list
--boundary" command catches most strange arguments on its own and the
above message is not seen unless you try something esoteric like "git
bundle create test.bundle --header HEAD".

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

config: reject bogus section names for --rename-sectionJeff King Thu, 26 Apr 2012 01:47:14 +0000 (21:47 -0400)

config: reject bogus section names for --rename-section

You can feed junk to "git config --rename-section", which
will result in a config file that git will not even parse
(so you cannot fix it with git-config). We already have
syntactic sanity checks when setting a variable; let's do
the same for section names.

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

gitweb: Option to omit column with time of the last... Kacper Kornet Tue, 24 Apr 2012 17:39:15 +0000 (19:39 +0200)

gitweb: Option to omit column with time of the last change

Generating information about last change for a large number of git
repositories can be very time consuming. This commit add an option to
omit 'Last Change' column when presenting the list of repositories.

Signed-off-by: Kacper Kornet <draenog@pld-linux.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

gitweb: Don't set owner if got empty value from project... Kacper Kornet Tue, 24 Apr 2012 17:50:05 +0000 (19:50 +0200)

gitweb: Don't set owner if got empty value from projects.list

Prevent setting owner to an empty value if it is not specified in
projects.list file. Otherwise it stops retrieving information about the
owner from other files.

Signed-off-by: Kacper Kornet <draenog@pld-linux.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

commit: remove commit_list_reverse()René Scharfe Wed, 25 Apr 2012 20:35:54 +0000 (22:35 +0200)

commit: remove commit_list_reverse()

The function commit_list_reverse() is not used anymore; delete it.

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

revision: append to list instead of insert and reverseRené Scharfe Wed, 25 Apr 2012 20:35:41 +0000 (22:35 +0200)

revision: append to list instead of insert and reverse

By using commit_list_insert(), we added new items to the top of the
list and, since this is not the order we want, reversed it afterwards.
Simplify this process by adding new items at the bottom instead,
getting rid of the reversal step.

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

sequencer: export commit_list_append()René Scharfe Wed, 25 Apr 2012 20:35:27 +0000 (22:35 +0200)

sequencer: export commit_list_append()

This function can be used in other parts of git. Give it a new home
in commit.c.

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

help: replace underlining "help -a" headers using hyphe... Nguyễn Thái Ngọc Duy Wed, 25 Apr 2012 11:21:53 +0000 (18:21 +0700)

help: replace underlining "help -a" headers using hyphens with a blank line

We used to underline a header text, like this:

This is a header
----------------
content...

But calculating text length so that the dashes align with the text
could get complicated because the text could be in any charset in
translated Git.

There is no point to use this pseudo underline; simply a blank
line would do and it even makes it easier to read:

This is a header

content...

While at it, give translators more context to translate, e.g.
e.g. "git commands available..." instead of "%s available..."

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

git p4: fix unit testsLuke Diamand Wed, 25 Apr 2012 08:16:54 +0000 (09:16 +0100)

git p4: fix unit tests

The submit-edit tests relied on P4EDITOR being unset. Set it
explicitly to an empty string.

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

git-rebase: add keep_empty flagNeil Horman Fri, 20 Apr 2012 14:36:17 +0000 (10:36 -0400)

git-rebase: add keep_empty flag

Add a command line switch to git-rebase to allow a user the ability to specify
that they want to keep any commits in a series that are empty.

When git-rebase's type is am, then this option will automatically keep any
commit that has a tree object identical to its parent.

This patch changes the default behavior of interactive rebases as well. With
this patch, git-rebase -i will produce a revision set passed to
git-revision-editor, in which empty commits are commented out. Empty commits
may be kept manually by uncommenting them. If the new --keep-empty option is
used in an interactive rebase the empty commits will automatically all be
uncommented in the editor.

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

push.default doc: explain simple after upstreamJunio C Hamano Tue, 24 Apr 2012 19:21:12 +0000 (12:21 -0700)

push.default doc: explain simple after upstream

As the "simple" mode is described in terms of what "upstream" does,
swap the order of these two entries so that the reader sees "upstream"
first and then reads "simple" with the knowledge of what "upstream"
does.

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

push: document the future default change for push.defau... Matthieu Moy Tue, 24 Apr 2012 07:50:05 +0000 (09:50 +0200)

push: document the future default change for push.default (matching -> simple)

It is too early to start warning loudly about the future default change
in favor of 'simple', since many users use different versions of Git, and
would be harmed if we advised them to explicitely set
'push.default=simple' when using old versions of Git.

Still, we want to document the upcomming change so that:

* Users who may be affected by the change get one more chance to know it
in advance.

* We actually commit to changing the default, and avoid repeating past
errors.

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t5570: use explicit push refspecClemens Buchacher Tue, 24 Apr 2012 07:50:04 +0000 (09:50 +0200)

t5570: use explicit push refspec

The default mode for push without arguments will change. Some warnings
are about to be enabled for such use, which causes some t5570 tests to
fail because they do not expect this output.

Fix this by passing an explicit refspec to git push. To that end, change
the calling conventions of test_remote_error in order to accomodate
extra command arguments.

Signed-off-by: Clemens Buchacher <drizzd@aon.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

push: introduce new push.default mode "simple"Matthieu Moy Tue, 24 Apr 2012 07:50:03 +0000 (09:50 +0200)

push: introduce new push.default mode "simple"

When calling "git push" without argument, we want to allow Git to do
something simple to explain and safe. push.default=matching is unsafe
when used to push to shared repositories, and hard to explain to
beginners in some contexts. It is debatable whether 'upstream' or
'current' is the safest or the easiest to explain, so introduce a new
mode called 'simple' that is the intersection of them: push to the
upstream branch, but only if it has the same name remotely. If not, give
an error that suggests the right command to push explicitely to
'upstream' or 'current'.

A question is whether to allow pushing when no upstream is configured. An
argument in favor of allowing the push is that it makes the new mode work
in more cases. On the other hand, refusing to push when no upstream is
configured encourages the user to set the upstream, which will be
beneficial on the next pull. Lacking better argument, we chose to deny
the push, because it will be easier to change in the future if someone
shows us wrong.

Original-patch-by: Jeff King <peff@peff.net>
Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

i18n: bundle: mark strings for translationNguyễn Thái Ngọc Duy Mon, 23 Apr 2012 12:30:30 +0000 (19:30 +0700)

i18n: bundle: mark strings for translation

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

i18n: index-pack: mark strings for translationNguyễn Thái Ngọc Duy Mon, 23 Apr 2012 12:30:29 +0000 (19:30 +0700)

i18n: index-pack: mark strings for translation

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

i18n: apply: update say_patch_name to give translators... Nguyễn Thái Ngọc Duy Mon, 23 Apr 2012 12:30:28 +0000 (19:30 +0700)

i18n: apply: update say_patch_name to give translators complete sentence

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

i18n: apply: mark strings for translationNguyễn Thái Ngọc Duy Mon, 23 Apr 2012 12:30:27 +0000 (19:30 +0700)

i18n: apply: mark strings for translation

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

i18n: remote: mark strings for translationNguyễn Thái Ngọc Duy Mon, 23 Apr 2012 12:30:26 +0000 (19:30 +0700)

i18n: remote: mark strings for translation

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

i18n: make warn_dangling_symref() automatically append \nNguyễn Thái Ngọc Duy Mon, 23 Apr 2012 12:30:25 +0000 (19:30 +0700)

i18n: make warn_dangling_symref() automatically append \n

This helps remove \n from translatable strings

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

i18n: help: mark strings for translationNguyễn Thái Ngọc Duy Mon, 23 Apr 2012 12:30:24 +0000 (19:30 +0700)

i18n: help: mark strings for translation

This patch also marks most common commands' synopsis for translation
so that "git help" gives a friendly listing.

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