gitweb.git
Merge branch 'jc/fmt-req-fix' into maintJunio C Hamano Wed, 1 Jun 2011 21:03:07 +0000 (14:03 -0700)

Merge branch 'jc/fmt-req-fix' into maint

* jc/fmt-req-fix:
userformat_find_requirements(): find requirement for the correct format

Merge branch 'jk/maint-docs' into maintJunio C Hamano Wed, 1 Jun 2011 21:02:52 +0000 (14:02 -0700)

Merge branch 'jk/maint-docs' into maint

* jk/maint-docs:
docs: fix some antique example output
docs: make sure literal "->" isn't converted to arrow
docs: update status --porcelain format
docs: minor grammar fixes to git-status

Merge branch 'jn/doc-remote-helpers' into maintJunio C Hamano Wed, 1 Jun 2011 21:02:45 +0000 (14:02 -0700)

Merge branch 'jn/doc-remote-helpers' into maint

* jn/doc-remote-helpers:
Documentation: do not misinterpret refspecs as bold text

Merge branch 'kk/maint-prefix-in-config-mak' into maintJunio C Hamano Wed, 1 Jun 2011 21:02:39 +0000 (14:02 -0700)

Merge branch 'kk/maint-prefix-in-config-mak' into maint

* kk/maint-prefix-in-config-mak:
config.mak.in: allow "configure --sysconfdir=/else/where"

diffcore-rename.c: avoid set-but-not-used warningJim Meyering Fri, 29 Apr 2011 09:42:41 +0000 (11:42 +0200)

diffcore-rename.c: avoid set-but-not-used warning

Since 9d8a5a5 (diffcore-rename: refactor "too many candidates" logic,
2011-01-06), diffcore_rename() initializes num_src but does not use it
anymore. "-Wunused-but-set-variable" in gcc-4.6 complains about this.

Signed-off-by: Jim Meyering <meyering@redhat.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Start 1.7.5.4 draft release notesJunio C Hamano Tue, 31 May 2011 19:06:40 +0000 (12:06 -0700)

Start 1.7.5.4 draft release notes

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

Merge branch 'tr/add-i-no-escape' into maintJunio C Hamano Tue, 31 May 2011 19:02:04 +0000 (12:02 -0700)

Merge branch 'tr/add-i-no-escape' into maint

* tr/add-i-no-escape:
add -i: ignore terminal escape sequences

Merge branch 'vh/config-interactive-singlekey-doc'... Junio C Hamano Tue, 31 May 2011 19:01:06 +0000 (12:01 -0700)

Merge branch 'vh/config-interactive-singlekey-doc' into maint

* vh/config-interactive-singlekey-doc:
git-reset.txt: better docs for '--patch'
git-checkout.txt: better docs for '--patch'
git-stash.txt: better docs for '--patch'
git-add.txt: document 'interactive.singlekey'
config.txt: 'interactive.singlekey; is used by...

Merge branch 'ml/test-readme' into maintJunio C Hamano Tue, 31 May 2011 19:00:43 +0000 (12:00 -0700)

Merge branch 'ml/test-readme' into maint

* ml/test-readme:
t/README: unify documentation of test function args

Merge branch 'ab/i18n-fixup' into maintJunio C Hamano Tue, 31 May 2011 19:00:27 +0000 (12:00 -0700)

Merge branch 'ab/i18n-fixup' into maint

* ab/i18n-fixup: (24 commits)
i18n: use test_i18n{cmp,grep} in t7600, t7607, t7611 and t7811
i18n: use test_i18n{grep,cmp} in t7508
i18n: use test_i18ngrep in t7506
i18n: use test_i18ngrep and test_i18ncmp in t7502
i18n: use test_i18ngrep in t7501
i18n: use test_i18ncmp in t7500
i18n: use test_i18ngrep in t7201
i18n: use test_i18ncmp and test_i18ngrep in t7102 and t7110
i18n: use test_i18ncmp and test_i18ngrep in t5541, t6040, t6120, t7004, t7012 and t7060
i18n: use test_i18ncmp and test_i18ngrep in t3700, t4001 and t4014
i18n: use test_i18ncmp and test_i18ngrep in t3203, t3501 and t3507
i18n: use test_i18ngrep in t2020, t2204, t3030, and t3200
i18n: use test_i18ngrep in lib-httpd and t2019
i18n: do not overuse C_LOCALE_OUTPUT (grep)
i18n: use test_i18ncmp in t1200 and t2200
i18n: .git file is not a human readable message (t5601)
i18n: do not overuse C_LOCALE_OUTPUT
i18n: mark init-db messages for translation
i18n: mark checkout plural warning for translation
i18n: mark checkout --detach messages for translation
...

Merge branch 'jc/rename-degrade-cc-to-c' into maintJunio C Hamano Tue, 31 May 2011 19:00:02 +0000 (12:00 -0700)

Merge branch 'jc/rename-degrade-cc-to-c' into maint

* jc/rename-degrade-cc-to-c:
diffcore-rename: fall back to -C when -C -C busts the rename limit
diffcore-rename: record filepair for rename src
diffcore-rename: refactor "too many candidates" logic
builtin/diff.c: remove duplicated call to diff_result_code()

Merge branch 'rr/doc-content-type' into maintJunio C Hamano Tue, 31 May 2011 18:59:39 +0000 (11:59 -0700)

Merge branch 'rr/doc-content-type' into maint

* rr/doc-content-type:
Documentation: Allow custom diff tools to be specified in 'diff.tool'
Documentation: Add diff.<driver>.* to config
Documentation: Move diff.<driver>.* from config.txt to diff-config.txt
Documentation: Add filter.<driver>.* to config

Documentation: do not misinterpret refspecs as bold... Jonathan Nieder Mon, 30 May 2011 15:52:56 +0000 (10:52 -0500)

Documentation: do not misinterpret refspecs as bold text

In v1.7.3.3~2 (Documentation: do not misinterpret pull refspec as bold
text, 2010-12-03) many uses of asterisks in expressions like
"refs/heads/*:refs/svn/origin/branches/*" were escaped as {asterisk}
to avoid being treated as delimiters for bold text, but these two were
missed.

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

Merge branch 'jm/maint-misc-fix' into maintJunio C Hamano Mon, 30 May 2011 07:09:41 +0000 (00:09 -0700)

Merge branch 'jm/maint-misc-fix' into maint

* jm/maint-misc-fix:
read_gitfile_gently: use ssize_t to hold read result
remove tests of always-false condition
rerere.c: diagnose a corrupt MERGE_RR when hitting EOF between TAB and '\0'

Merge branch 'bc/maint-submodule-fix-parked' into maintJunio C Hamano Mon, 30 May 2011 07:09:36 +0000 (00:09 -0700)

Merge branch 'bc/maint-submodule-fix-parked' into maint

* bc/maint-submodule-fix-parked:
git-submodule.sh: separate parens by a space to avoid confusing some shells

Merge branch 'bc/maint-api-doc-parked' into maintJunio C Hamano Mon, 30 May 2011 07:03:52 +0000 (00:03 -0700)

Merge branch 'bc/maint-api-doc-parked' into maint

* bc/maint-api-doc-parked:
Documentation/technical/api-diff.txt: correct name of diff_unmerge()

Merge branch 'jn/run-command-error-failure' into maintJunio C Hamano Mon, 30 May 2011 02:08:51 +0000 (19:08 -0700)

Merge branch 'jn/run-command-error-failure' into maint

* jn/run-command-error-failure:
run-command: handle short writes and EINTR in die_child
tests: check error message from run_command

config.mak.in: allow "configure --sysconfdir=/else... Junio C Hamano Thu, 5 May 2011 01:50:45 +0000 (18:50 -0700)

config.mak.in: allow "configure --sysconfdir=/else/where"

We do allow vanilla Makefile users to say make sysconfdir=/else/where
and config.mak can also be tweaked manually for the same effect. Give
the same configurablity to ./configure users as well.

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

docs: fix some antique example outputJeff King Fri, 27 May 2011 02:33:15 +0000 (22:33 -0400)

docs: fix some antique example output

These diff-index and diff-tree sample outputs date back to
the first month of git's existence. The output format has
changed slightly since then, so let's have it match the
current output.

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

docs: make sure literal "->" isn't converted to arrowJeff King Fri, 27 May 2011 02:32:41 +0000 (22:32 -0400)

docs: make sure literal "->" isn't converted to arrow

Recent versions of asciidoc will treat "->" as a
single-glyph arrow symbol, unless it is inside a literal
code block. This is a problem if we are discussing literal
output and want to show the ASCII characters.

Our usage falls into three categories:

1. Inside a code block. These can be left as-is.

2. Discussing literal output or code, but inside a
paragraph. This patch escapes these as "\->".

3. Using the arrow as a symbolic element, such as "use the
Edit->Account Settings menu". In this case, the
arrow symbol is preferable, so we leave it as-is.

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

docs: update status --porcelain formatJeff King Fri, 27 May 2011 02:31:51 +0000 (22:31 -0400)

docs: update status --porcelain format

The --porcelain format was originally identical to the
--short format, but designed to be stable as the short
format changed. Since this was written, the short format
picked up a few incompatible niceties, but this description
was never changed.

Let's mention the differences. While we're at it, let's add
some sub-section headings to make the "output" section a
little easier to navigate.

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

docs: minor grammar fixes to git-statusJeff King Fri, 27 May 2011 02:31:11 +0000 (22:31 -0400)

docs: minor grammar fixes to git-status

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

git-submodule.sh: separate parens by a space to avoid... Brandon Casey Thu, 26 May 2011 20:52:04 +0000 (13:52 -0700)

git-submodule.sh: separate parens by a space to avoid confusing some shells

Some shells interpret '(( ))' according to the rules for arithmetic
expansion. This may not follow POSIX, but is prevalent in commonly used
shells. Bash does not have a problem with this particular instance of
'((', likely because it is not followed by a '))', but the public domain
ksh does, and so does ksh on IRIX 6.5.

So, add a space between the parenthesis to avoid confusing these shells.

Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Documentation/technical/api-diff.txt: correct name... Brandon Casey Thu, 26 May 2011 20:46:56 +0000 (13:46 -0700)

Documentation/technical/api-diff.txt: correct name of diff_unmerge()

Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

read_gitfile_gently: use ssize_t to hold read resultJeff King Thu, 26 May 2011 16:28:44 +0000 (12:28 -0400)

read_gitfile_gently: use ssize_t to hold read result

Otherwise, a negative error return becomes a very large read
value. We catch this in practice because we compare the
expected and actual numbers of bytes (and you are not likely
to be reading (size_t)-1 bytes), but this makes the
correctness a little more obvious.

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

remove tests of always-false conditionJim Meyering Thu, 26 May 2011 13:58:16 +0000 (15:58 +0200)

remove tests of always-false condition

* fsck.c (fsck_error_function): Don't test obj->sha1 == 0.
It can never be true, since that sha1 member is an array.
* transport.c (set_upstreams): Likewise for ref->new_sha1.

Signed-off-by: Jim Meyering <meyering@redhat.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

rerere.c: diagnose a corrupt MERGE_RR when hitting... Jim Meyering Thu, 26 May 2011 13:54:18 +0000 (15:54 +0200)

rerere.c: diagnose a corrupt MERGE_RR when hitting EOF between TAB and '\0'

If we reach EOF after the SHA1-then-TAB, yet before the NUL that
terminates each file name, we would fill the file name buffer with \255
bytes resulting from the repeatedly-failing fgetc (returns EOF/-1) and
ultimately complain about "filename too long", because no NUL was
encountered.

Signed-off-by: Jim Meyering <jim@meyering.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Git 1.7.5.3 v1.7.5.3Junio C Hamano Thu, 26 May 2011 16:45:29 +0000 (09:45 -0700)

Git 1.7.5.3

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

Merge branch 'maint-1.7.4' into maintJunio C Hamano Thu, 26 May 2011 17:29:24 +0000 (10:29 -0700)

Merge branch 'maint-1.7.4' into maint

* maint-1.7.4:

Merge branch 'jk/git-connection-deadlock-fix' into... Junio C Hamano Thu, 26 May 2011 17:28:10 +0000 (10:28 -0700)

Merge branch 'jk/git-connection-deadlock-fix' into maint-1.7.4

* jk/git-connection-deadlock-fix:
test core.gitproxy configuration
send-pack: avoid deadlock on git:// push with failed pack-objects
connect: let callers know if connection is a socket
connect: treat generic proxy processes like ssh processes

Conflicts:
connect.c

Merge branch 'js/maint-send-pack-stateless-rpc-deadlock... Junio C Hamano Thu, 26 May 2011 17:27:55 +0000 (10:27 -0700)

Merge branch 'js/maint-send-pack-stateless-rpc-deadlock-fix' into maint-1.7.4

* js/maint-send-pack-stateless-rpc-deadlock-fix:
sideband_demux(): fix decl-after-stmt
send-pack: unbreak push over stateless rpc
send-pack: avoid deadlock when pack-object dies early

Merge branch 'jk/maint-upload-pack-shallow' into maint... Junio C Hamano Thu, 26 May 2011 17:27:29 +0000 (10:27 -0700)

Merge branch 'jk/maint-upload-pack-shallow' into maint-1.7.4

* jk/maint-upload-pack-shallow:
upload-pack: start pack-objects before async rev-list

Merge branch 'jm/maint-diff-words-with-sbe' into maintJunio C Hamano Thu, 26 May 2011 16:43:00 +0000 (09:43 -0700)

Merge branch 'jm/maint-diff-words-with-sbe' into maint

* jm/maint-diff-words-with-sbe:
do not read beyond end of malloc'd buffer

Merge branch 'kk/maint-prefix-in-config-mak' into maintJunio C Hamano Thu, 26 May 2011 16:42:12 +0000 (09:42 -0700)

Merge branch 'kk/maint-prefix-in-config-mak' into maint

* kk/maint-prefix-in-config-mak:
Honor $(prefix) set in config.mak* when defining ETC_GIT*
Revert "Honor $(prefix) set in config.mak* when defining ETC_GIT* and sysconfdir"
Honor $(prefix) set in config.mak* when defining ETC_GIT* and sysconfdir

Merge branch 'mg/diff-uiconfig-doc' into maintJunio C Hamano Thu, 26 May 2011 16:41:11 +0000 (09:41 -0700)

Merge branch 'mg/diff-uiconfig-doc' into maint

* mg/diff-uiconfig-doc:
config.txt,diff-options.txt: porcelain vs. plumbing for color.diff

Merge branch 'ft/gitweb-tar-with-gzip-n' into maintJunio C Hamano Thu, 26 May 2011 16:40:50 +0000 (09:40 -0700)

Merge branch 'ft/gitweb-tar-with-gzip-n' into maint

* ft/gitweb-tar-with-gzip-n:
gitweb: supply '-n' to gzip for identical output

Merge branch 'ss/doc-svn' into maintJunio C Hamano Thu, 26 May 2011 16:39:40 +0000 (09:39 -0700)

Merge branch 'ss/doc-svn' into maint

* ss/doc-svn:
remove noise and inaccuracies from git-svn docs

Merge branch 'jn/format-patch-doc' into maintJunio C Hamano Thu, 26 May 2011 16:39:33 +0000 (09:39 -0700)

Merge branch 'jn/format-patch-doc' into maint

* jn/format-patch-doc:
Documentation/format-patch: suggest Toggle Word Wrap add-on for Thunderbird
Documentation: publicize hints for sending patches with GMail
Documentation: publicize KMail hints for sending patches inline
Documentation: hints for sending patches inline with Thunderbird
Documentation: explain how to check for patch corruption

Merge branch 'jc/maint-pathspec-stdin-and-cmdline'... Junio C Hamano Thu, 26 May 2011 16:38:44 +0000 (09:38 -0700)

Merge branch 'jc/maint-pathspec-stdin-and-cmdline' into maint

* jc/maint-pathspec-stdin-and-cmdline:
setup_revisions(): take pathspec from command line and --stdin correctly

Merge branch 'jk/cherry-pick-root-with-resolve' into... Junio C Hamano Thu, 26 May 2011 16:37:41 +0000 (09:37 -0700)

Merge branch 'jk/cherry-pick-root-with-resolve' into maint

* jk/cherry-pick-root-with-resolve:
t3503: test cherry picking and reverting root commits
revert: allow reverting a root commit
cherry-pick: handle root commits with external strategies

Merge branch 'rg/copy-gecos-username' into maintJunio C Hamano Thu, 26 May 2011 16:37:04 +0000 (09:37 -0700)

Merge branch 'rg/copy-gecos-username' into maint

* rg/copy-gecos-username:
copy_gecos: fix not adding nlen to len when processing "&"

Merge branch 'fc/completion-zsh' into maintJunio C Hamano Thu, 26 May 2011 16:36:33 +0000 (09:36 -0700)

Merge branch 'fc/completion-zsh' into maint

* fc/completion-zsh:
git-completion: fix regression in zsh support

Merge branch 'jk/git-connection-deadlock-fix' into... Junio C Hamano Thu, 26 May 2011 16:33:25 +0000 (09:33 -0700)

Merge branch 'jk/git-connection-deadlock-fix' into maint

* jk/git-connection-deadlock-fix:
test core.gitproxy configuration
send-pack: avoid deadlock on git:// push with failed pack-objects
connect: let callers know if connection is a socket
connect: treat generic proxy processes like ssh processes

Conflicts:
connect.c

Merge branch 'js/maint-send-pack-stateless-rpc-deadlock... Junio C Hamano Thu, 26 May 2011 16:32:14 +0000 (09:32 -0700)

Merge branch 'js/maint-send-pack-stateless-rpc-deadlock-fix' into maint

* js/maint-send-pack-stateless-rpc-deadlock-fix:
sideband_demux(): fix decl-after-stmt
send-pack: unbreak push over stateless rpc
send-pack: avoid deadlock when pack-object dies early

Merge branch 'svn-fe-maint' of git://repo.or.cz/git... Junio C Hamano Thu, 26 May 2011 15:52:11 +0000 (08:52 -0700)

Merge branch 'svn-fe-maint' of git://repo.or.cz/git/jrn into maint

* 'svn-fe-maint' of git://repo.or.cz/git/jrn:
Revert "t0081 (line-buffer): add buffering tests"

userformat_find_requirements(): find requirement for... Junio C Hamano Wed, 25 May 2011 19:23:44 +0000 (12:23 -0700)

userformat_find_requirements(): find requirement for the correct format

This function was introduced in 5b16360 (pretty: Initialize notes if %N is
used, 2010-04-13) to check what kind of information the "log --format=..."
user format string wants. The function can be passed a NULL instead of a
format string to ask it to check user_format variable kept by an earlier
call to save_user_format().

But it unconditionally checked user_format and not the string it was
given. The only caller introduced by the change passes NULL, which
kept the bug unnoticed, until a new GCC noticed that there is an
assignment to fmt that is never used.

Noticed-by: Chris Wilson's compiler
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Acked-by: Jeff King <peff@peff.net>

init/clone: remove short option -L and document --separ... Nguyen Thai Ngoc Duy Tue, 24 May 2011 16:40:32 +0000 (23:40 +0700)

init/clone: remove short option -L and document --separate-git-dir

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

do not read beyond end of malloc'd bufferJim Meyering Fri, 20 May 2011 17:20:12 +0000 (19:20 +0200)

do not read beyond end of malloc'd buffer

With diff.suppress-blank-empty=true, "git diff --word-diff" would
output data that had been read from uninitialized heap memory.
The problem was that fn_out_consume did not account for the
possibility of a line with length 1, i.e., the empty context line
that diff.suppress-blank-empty=true converts from " \n" to "\n".
Since it assumed there would always be a prefix character (the space),
it decremented "len" unconditionally, thus passing len=0 to emit_line,
which would then blindly call emit_line_0 with len=-1 which would
pass that value on to fwrite as SIZE_MAX. Boom.

Signed-off-by: Jim Meyering <meyering@redhat.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-svn: Fix git svn log --show-commitMichael J Gruber Fri, 20 May 2011 11:16:34 +0000 (13:16 +0200)

git-svn: Fix git svn log --show-commit

git svn log --show-commit had no tests and, consequently, no attention
by the author of

b1b4755 (git-log: put space after commit mark, 2011-03-10)

who kept git svn log working only without --show-commit.

Introduce a test and fix it.

Reported-by: Bernt Hansen <bernt@norang.ca>
Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Git 1.7.5.2 v1.7.5.2Junio C Hamano Fri, 20 May 2011 03:30:44 +0000 (20:30 -0700)

Git 1.7.5.2

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

provide a copy of the LGPLv2.1Jonathan Nieder Thu, 19 May 2011 15:14:25 +0000 (10:14 -0500)

provide a copy of the LGPLv2.1

The LGPL seems to require providing a copy of the license when
distributing xdiff, compat/fnmatch, and so on, or altering the license
notices to refer to the GPL intead. Since we don't want to do the
latter, let's do the former. It's nice to let people know their
rights anyway.

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

test core.gitproxy configurationJeff King Wed, 18 May 2011 08:57:44 +0000 (04:57 -0400)

test core.gitproxy configuration

This is just a basic sanity test to see whether
core.gitproxy works at all. Until now, we were not testing
anywhere.

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

copy_gecos: fix not adding nlen to len when processing "&"Rafael Gieschke Mon, 16 May 2011 20:08:21 +0000 (22:08 +0200)

copy_gecos: fix not adding nlen to len when processing "&"

nlen has to be added to len when inserting (capitalized) pw_name as
substitution for "&" in pw_gecos. Otherwise, pw_gecos will be truncated
and data might be written beyond name+sz.

Signed-off-by: Rafael Gieschke <rafael@gieschke.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

add -i: ignore terminal escape sequencesThomas Rast Tue, 17 May 2011 15:19:08 +0000 (17:19 +0200)

add -i: ignore terminal escape sequences

On the author's terminal, the up-arrow input sequence is ^[[A, and
thus fat-fingering an up-arrow into 'git checkout -p' is quite
dangerous: git-add--interactive.perl will ignore the ^[ and [
characters and happily treat A as "discard everything".

As a band-aid fix, use Term::Cap to get all terminal capabilities.
Then use the heuristic that any capability value that starts with ^[
(i.e., \e in perl) must be a key input sequence. Finally, given an
input that starts with ^[, read more characters until we have read a
full escape sequence, then return that to the caller. We use a
timeout of 0.5 seconds on the subsequent reads to avoid getting stuck
if the user actually input a lone ^[.

Since none of the currently recognized keys start with ^[, the net
result is that the sequence as a whole will be ignored and the help
displayed.

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

Merge branch 'js/maint-1.6.6-send-pack-stateless-rpc... Junio C Hamano Tue, 17 May 2011 00:01:03 +0000 (17:01 -0700)

Merge branch 'js/maint-1.6.6-send-pack-stateless-rpc-deadlock-fix' into js/maint-send-pack-stateless-rpc-deadlock-fix

* js/maint-1.6.6-send-pack-stateless-rpc-deadlock-fix:
sideband_demux(): fix decl-after-stmt

Update draft release notes to 1.7.5.2Junio C Hamano Mon, 16 May 2011 23:44:50 +0000 (16:44 -0700)

Update draft release notes to 1.7.5.2

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

Merge branch 'jn/maint-format-patch-doc' into maintJunio C Hamano Mon, 16 May 2011 23:39:09 +0000 (16:39 -0700)

Merge branch 'jn/maint-format-patch-doc' into maint

* jn/maint-format-patch-doc:
Documentation: describe the format of messages with inline patches

Merge branch 'ss/cherry-pick-x-doc' into maintJunio C Hamano Mon, 16 May 2011 23:38:56 +0000 (16:38 -0700)

Merge branch 'ss/cherry-pick-x-doc' into maint

* ss/cherry-pick-x-doc:
doc: Clarify that "cherry-pick -x" does not use "git notes"

Merge branch 'vr/merge-base-doc' into maintJunio C Hamano Mon, 16 May 2011 23:38:46 +0000 (16:38 -0700)

Merge branch 'vr/merge-base-doc' into maint

* vr/merge-base-doc:
Restructure documentation for git-merge-base.
Documentation: update to git-merge-base --octopus

Merge branch 'sr/maint-fast-import-tighten-option-parsi... Junio C Hamano Mon, 16 May 2011 23:38:16 +0000 (16:38 -0700)

Merge branch 'sr/maint-fast-import-tighten-option-parsing' into maint

* sr/maint-fast-import-tighten-option-parsing:
fast-import: fix option parser for no-arg options

Merge branch 'jc/t1506-shell-param-expansion-gotcha... Junio C Hamano Mon, 16 May 2011 23:37:54 +0000 (16:37 -0700)

Merge branch 'jc/t1506-shell-param-expansion-gotcha' into maint

* jc/t1506-shell-param-expansion-gotcha:
t1507: avoid "${parameter<op>'word'}" inside double-quotes

Merge branch 'jc/fix-add-u-unmerged' into maintJunio C Hamano Mon, 16 May 2011 23:37:33 +0000 (16:37 -0700)

Merge branch 'jc/fix-add-u-unmerged' into maint

* jc/fix-add-u-unmerged:
Fix "add -u" that sometimes fails to resolve unmerged paths

Conflicts:
builtin/add.c

Merge branch 'jn/gitweb-dependency' into maintJunio C Hamano Mon, 16 May 2011 23:37:12 +0000 (16:37 -0700)

Merge branch 'jn/gitweb-dependency' into maint

* jn/gitweb-dependency:
Remove gitweb/gitweb.cgi and other legacy targets from main Makefile
git-instaweb: Simplify build dependency on gitweb

Merge branch 'jc/maint-branch-mergeoptions' into maintJunio C Hamano Mon, 16 May 2011 23:37:07 +0000 (16:37 -0700)

Merge branch 'jc/maint-branch-mergeoptions' into maint

* jc/maint-branch-mergeoptions:
merge: make branch.<name>.mergeoptions correctly override merge.<option>

Conflicts:
builtin/merge.c

Merge branch 'jc/maint-add-p-overlapping-hunks' into... Junio C Hamano Mon, 16 May 2011 23:36:46 +0000 (16:36 -0700)

Merge branch 'jc/maint-add-p-overlapping-hunks' into maint

* jc/maint-add-p-overlapping-hunks:
t3701: add-p-fix makes the last test to pass
"add -p": work-around an old laziness that does not coalesce hunks
add--interactive.perl: factor out repeated --recount option
t3701: Editing a split hunk in an "add -p" session
add -p: 'q' should really quit

Documentation/git-fsck.txt: fix typo: unreadable -... Jim Meyering Mon, 16 May 2011 18:23:35 +0000 (20:23 +0200)

Documentation/git-fsck.txt: fix typo: unreadable -> unreachable

Signed-off-by: Jim Meyering <meyering@redhat.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

send-pack: avoid deadlock on git:// push with failed... Jeff King Mon, 16 May 2011 06:52:57 +0000 (02:52 -0400)

send-pack: avoid deadlock on git:// push with failed pack-objects

Commit 09c9957c fixes a deadlock in which pack-objects
fails, the remote end is still waiting for pack data, and we
are still waiting for the remote end to say something (see
that commit for a much more in-depth explanation).

We solved the problem there by making sure the output pipe
is closed on error; thus the remote sees EOF, and proceeds
to complain and close its end of the connection.

However, in the special case of push over git://, we don't
have a pipe, but rather a full-duplex socket, with another
dup()-ed descriptor in place of the second half of the pipe.
In this case, closing the second descriptor signals nothing
to the remote end, and we still deadlock.

This patch calls shutdown() explicitly to signal EOF to the
other side.

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

connect: let callers know if connection is a socketJeff King Mon, 16 May 2011 06:52:11 +0000 (02:52 -0400)

connect: let callers know if connection is a socket

They might care because they want to do a half-duplex close.
With pipes, that means simply closing the output descriptor;
with a socket, you must actually call shutdown.

Instead of exposing the magic no_fork child_process struct,
let's encapsulate the test in a function.

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

connect: treat generic proxy processes like ssh processesJeff King Mon, 16 May 2011 06:46:07 +0000 (02:46 -0400)

connect: treat generic proxy processes like ssh processes

The git_connect function returns two ends of a pipe for
talking with a remote, plus a struct child_process
representing the other end of the pipe. If we have a direct
socket connection, then this points to a special "no_fork"
child process.

The code path for doing git-over-pipes or git-over-ssh sets
up this child process to point to the child git command or
the ssh process. When we call finish_connect eventually, we
check wait() on the command and report its return value.

The code path for git://, on the other hand, always sets it
to no_fork. In the case of a direct TCP connection, this
makes sense; we have no child process. But in the case of a
proxy command (configured by core.gitproxy), we do have a
child process, but we throw away its pid, and therefore
ignore its return code.

Instead, let's keep that information in the proxy case, and
respect its return code, which can help catch some errors
(though depending on your proxy command, it will be errors
reported by the proxy command itself, and not propagated
from git commands. Still, it is probably better to propagate
such errors than to ignore them).

It also means that the child_process field can reliably be
used to determine whether the returned descriptors are
actually a full-duplex socket, which means we should be
using shutdown() instead of a simple close.

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

sideband_demux(): fix decl-after-stmtJunio C Hamano Mon, 16 May 2011 23:19:49 +0000 (16:19 -0700)

sideband_demux(): fix decl-after-stmt

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

t3503: test cherry picking and reverting root commitsJeff King Thu, 12 May 2011 11:10:07 +0000 (07:10 -0400)

t3503: test cherry picking and reverting root commits

We already tested cherry-picking a root commit, but only
with the internal merge-recursive strategy. Let's also test
the recently-allowed reverting of a root commit, as well as
testing with external strategies (which until recently
triggered a segfault).

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

revert: allow reverting a root commitJeff King Thu, 12 May 2011 11:09:55 +0000 (07:09 -0400)

revert: allow reverting a root commit

Although it is probably an uncommon operation, there is no
reason to disallow it, as it works just fine. It is the
reverse of a cherry-pick of a root commit, which is already
allowed.

We do have to tweak one check on whether we have a merge
commit, which assumed we had at least one parent.

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

cherry-pick: handle root commits with external strategiesJeff King Thu, 12 May 2011 11:09:46 +0000 (07:09 -0400)

cherry-pick: handle root commits with external strategies

The merge-recursive strategy already handles root commits;
it cherry-picks the difference between the empty tree and
the root commit's tree.

However, for external strategies, we dereference NULL and
segfault while building the argument list. Instead, let's
handle this by passing the empty tree sha1 to the merge
script.

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

Update draft release notes to 1.7.5.2Junio C Hamano Sun, 15 May 2011 23:11:55 +0000 (16:11 -0700)

Update draft release notes to 1.7.5.2

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

Merge branch 'cn/format-patch-quiet' into maintJunio C Hamano Sun, 15 May 2011 23:10:49 +0000 (16:10 -0700)

Merge branch 'cn/format-patch-quiet' into maint

* cn/format-patch-quiet:
format-patch: document --quiet option
format-patch: don't pass on the --quiet flag

Merge branch 'jm/mergetool-submodules' into maintJunio C Hamano Sun, 15 May 2011 22:57:16 +0000 (15:57 -0700)

Merge branch 'jm/mergetool-submodules' into maint

* jm/mergetool-submodules:
mergetool: Teach about submodules

Merge branch 'jk/format-patch-quote-special-in-from... Junio C Hamano Sun, 15 May 2011 22:56:44 +0000 (15:56 -0700)

Merge branch 'jk/format-patch-quote-special-in-from' into maint

* jk/format-patch-quote-special-in-from:
pretty: quote rfc822 specials in email addresses

Merge branch 'vh/git-svn-doc' into maintJunio C Hamano Sun, 15 May 2011 22:52:40 +0000 (15:52 -0700)

Merge branch 'vh/git-svn-doc' into maint

* vh/git-svn-doc:
git-svn.txt: small typeface improvements
git-svn.txt: move option descriptions
git-svn.txt: fix usage of --add-author-from

git_open_noatime(): drop unused parameterJunio C Hamano Sun, 15 May 2011 19:16:29 +0000 (12:16 -0700)

git_open_noatime(): drop unused parameter

Since commit c793430 (Limit file descriptors used by packs, 2011-02-28),
the extra parameter added in f2e872aa (Work around EMFILE when there are
too many pack files, 2010-11-01) is not used anymore.

Remove it.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
Acked-by: Shawn O. Pearce <spearce@spearce.org>

sha1_file: typofixJunio C Hamano Sun, 15 May 2011 19:16:03 +0000 (12:16 -0700)

sha1_file: typofix

The number zero is spelled "zero", not "zer0".

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

add, merge, diff: do not use strcasecmp to compare... Jonathan Nieder Sat, 14 May 2011 20:19:21 +0000 (15:19 -0500)

add, merge, diff: do not use strcasecmp to compare config variable names

The config machinery already makes section and variable names
lowercase when parsing them, so using strcasecmp for comparison just
feels wasteful. No noticeable change intended.

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

Prepare for 1.7.5.2Junio C Hamano Fri, 13 May 2011 17:57:09 +0000 (10:57 -0700)

Prepare for 1.7.5.2

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

Merge branch 'aw/maint-rebase-i-p-no-ff' into maintJunio C Hamano Fri, 13 May 2011 17:45:21 +0000 (10:45 -0700)

Merge branch 'aw/maint-rebase-i-p-no-ff' into maint

* aw/maint-rebase-i-p-no-ff:
git-rebase--interactive.sh: preserve-merges fails on merges created with no-ff

Merge branch 'js/blame-parsename' into maintJunio C Hamano Fri, 13 May 2011 17:45:00 +0000 (10:45 -0700)

Merge branch 'js/blame-parsename' into maint

* js/blame-parsename:
t/annotate-tests: Use echo & cat instead of sed
blame: tolerate bogus e-mail addresses a bit better

Merge branch 'gr/cvsimport-alternative-cvspass-location... Junio C Hamano Fri, 13 May 2011 17:44:54 +0000 (10:44 -0700)

Merge branch 'gr/cvsimport-alternative-cvspass-location' into maint

* gr/cvsimport-alternative-cvspass-location:
Look for password in both CVS and CVSNT password files.

Merge branch 'cj/p4merge' into maintJunio C Hamano Fri, 13 May 2011 17:44:46 +0000 (10:44 -0700)

Merge branch 'cj/p4merge' into maint

* cj/p4merge:
Pass empty file to p4merge where no base is suitable.

Merge branch 'jk/merge-one-file-working-tree' into... Junio C Hamano Fri, 13 May 2011 17:44:19 +0000 (10:44 -0700)

Merge branch 'jk/merge-one-file-working-tree' into maint

* jk/merge-one-file-working-tree:
merge-one-file: fix broken merges with alternate work trees
add tests for merge-index / merge-one-file

Merge branch 'jc/fix-diff-files-unmerged' into maintJunio C Hamano Fri, 13 May 2011 17:41:54 +0000 (10:41 -0700)

Merge branch 'jc/fix-diff-files-unmerged' into maint

* jc/fix-diff-files-unmerged:
diff-files: show unmerged entries correctly
diff: remove often unused parameters from diff_unmerge()
diff.c: return filepair from diff_unmerge()
test: use $_z40 from test-lib

Merge branch 'mz/maint-rename-unmerged' into maintJunio C Hamano Fri, 13 May 2011 17:41:24 +0000 (10:41 -0700)

Merge branch 'mz/maint-rename-unmerged' into maint

* mz/maint-rename-unmerged:
diffcore-rename: don't consider unmerged path as source

t5400: Fix a couple of typosJohan Herland Fri, 13 May 2011 16:43:29 +0000 (18:43 +0200)

t5400: Fix a couple of typos

Signed-off-by: Johan Herland <johan@herland.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'jc/maint-1.7.4-pathspec-stdin-and-cmdline'Junio C Hamano Wed, 11 May 2011 22:05:01 +0000 (15:05 -0700)

Merge branch 'jc/maint-1.7.4-pathspec-stdin-and-cmdline'

Update the fix for 1.7.5 maintenance track.

* jc/maint-1.7.4-pathspec-stdin-and-cmdline:
setup_revisions(): take pathspec from command line and --stdin correctly

Merge branch 'jc/maint-1.6.6-pathspec-stdin-and-cmdline'Junio C Hamano Wed, 11 May 2011 21:57:45 +0000 (14:57 -0700)

Merge branch 'jc/maint-1.6.6-pathspec-stdin-and-cmdline'

Update the fix for 1.7.4 maintenance track.

* jc/maint-1.6.6-pathspec-stdin-and-cmdline:
setup_revisions(): take pathspec from command line and --stdin correctly

setup_revisions(): take pathspec from command line... Junio C Hamano Wed, 11 May 2011 21:01:19 +0000 (14:01 -0700)

setup_revisions(): take pathspec from command line and --stdin correctly

When the command line has "--" disambiguator, we take the remainder of
argv[] as "prune_data", but when --stdin is given at the same time,
we need to append to the existing prune_data and end up attempting to
realloc(3) it. That would not work.

Fix it by consistently using append_prune_data() throughout the input
processing. Also avoid counting the number of existing paths in the
function over and over again.

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

git-completion: fix regression in zsh supportFelipe Contreras Tue, 10 May 2011 12:20:39 +0000 (15:20 +0300)

git-completion: fix regression in zsh support

The zsh support of git-completion script in contrib/ is broken for current
versions of zsh, and does not notice when there's a subcommand.

For example: "git log origi<TAB>" gives no completions because it would
try to find a "git origi..." command. This will be fixed by zsh 4.3.12,
but for now we can workaround it by backporting the same fix as zsh folks
implemented.

The problem started after commit v1.7.4-rc0~11^2~2 (bash: get
--pretty=m<tab> completion to work with bash v4), which introduced
_get_comp_words_by_ref() that comes from bash-completion[1] scripts, and
relies on the 'words' variable.

However, it turns out 'words' is a special variable used by zsh
completion. From zshcompwid(1):

[...] the parameters are reset on each function exit (including nested
function calls from within the completion widget) to the values they had
when the function was entered.

As a result, subcommand words are lost. Ouch.

This is now fixed in the latest master branch of zsh[2] by simply defining
'words' as hidden (typeset -h), which removes the special meaning inside
the emulated bash function. So let's do the same.

Jonathan Nieder helped on the commit message.

[1] http://bash-completion.alioth.debian.org/
[2] http://zsh.git.sourceforge.net/git/gitweb.cgi?p=zsh/zsh;a=commitdiff;h=e880604f029088f32fb1ecc39213d720ae526aaa

Reported-by: Stefan Haller <lists@haller-berlin.de>
Comments-by: SZEDER Gábor <szeder@ira.uka.de>
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Honor $(prefix) set in config.mak* when defining ETC_GIT*Johannes Sixt Mon, 9 May 2011 08:24:55 +0000 (10:24 +0200)

Honor $(prefix) set in config.mak* when defining ETC_GIT*

Notice that the prefix specified for the build influenced the definitions
of ETC_GITCONFIG and ETC_GITATTRIBUTES only when it was exactly '/usr'.
Kacper Kornet noticed that this was furthermore only the case when the
build was triggered using 'make prefix=/usr', i.e., the prefix was given
on the command line; it did not work when the prefix was specified in
config.mak because this file is included much later in the Makefile.

To fix this, move the conditional after the inclusion of config.mak.

Additionally, it is desirable to specify the etc directory for a build
(for example, a build with prefix /usr/local may still want to have the
system configuration in /etc/gitconfig). For this purpose, promote the
variable 'sysconfdir' from a helper variable to a configuration
variable. The prefix check that was moved must now be wrapped so that it
does not override sysconfdir setting given in config.mak.

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

Revert "Honor $(prefix) set in config.mak* when definin... Junio C Hamano Mon, 9 May 2011 22:12:13 +0000 (15:12 -0700)

Revert "Honor $(prefix) set in config.mak* when defining ETC_GIT* and sysconfdir"

This reverts commit 2910bf56a4ffc13c398fb04ba32910cb3b724091, as it
does not really solve the issue of making $(sysconfigdir) any more
useful than it currently is.

t1507: avoid "${parameter<op>'word'}" inside double... Junio C Hamano Mon, 9 May 2011 04:43:20 +0000 (21:43 -0700)

t1507: avoid "${parameter<op>'word'}" inside double-quotes

Kacper Kornet noticed that a $variable in "word" in the above construct is
not substituted by his pdksh. Modern POSIX compliant shells (e.g. dash,
ksh, bash) all seem to interpret POSIX "2.6.2 Parameter Expansion" that
says "word shall be subjected to tilde expansion, parameter expansion,
command substitution, and arithmetic expansion" in ${parameter<op>word},
to mean that the word is expanded as if it appeared in dq pairs, so if the
word were "'$variable'" (sans dq) it would expand to a single quote, the
value of the $variable and then a single quote.

Johannes Sixt reports that the behavior of quoting at the right of :- when
the ${...:-...} expansion appears in double-quotes was debated recently at
length at the Austin group. We can avoid this issue and future-proof the
test by a slight rewrite.

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

t3701: add-p-fix makes the last test to passJunio C Hamano Sun, 8 May 2011 20:43:04 +0000 (13:43 -0700)

t3701: add-p-fix makes the last test to pass

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

Remove gitweb/gitweb.cgi and other legacy targets from... Jakub Narebski Sat, 7 May 2011 12:45:21 +0000 (14:45 +0200)

Remove gitweb/gitweb.cgi and other legacy targets from main Makefile

Now that there is gitweb/Makefile, let's leave only "gitweb" and
"install-gitweb" targets in main Makefile. Those targets just
delegate to gitweb's Makefile.

Requested-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-instaweb: Simplify build dependency on gitwebJakub Narebski Sat, 7 May 2011 12:45:20 +0000 (14:45 +0200)

git-instaweb: Simplify build dependency on gitweb

Since c0cb4ed (git-instaweb: Configure it to work with new gitweb
structure, 2010-05-28) git-instaweb does not re-create gitweb.cgi
etc., but makes use of installed gitweb. Therefore simplify
git-instaweb dependency on gitweb subsystem in main Makefile from
'gitweb/gitweb.cgi gitweb/static/gitweb.css gitweb/static/gitweb.js'
to simply 'gitweb'.

This is preparation for splitting gitweb.perl script, and for
splitting gitweb.js (to be reassembled / combined on build). This way
we don't have to duplicate parts of gitweb/Makefile in main
Makefile... it is also more correct description of git-instaweb
dependency.

Reported-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>