gitweb.git
Merge branch 'maint-1.6.0' into maintJunio C Hamano Sat, 24 Jan 2009 02:48:14 +0000 (18:48 -0800)

Merge branch 'maint-1.6.0' into maint

* maint-1.6.0:
Fix Documentation for git-describe

Fix Documentation for git-describeBoyd Stephen Smith Jr Thu, 22 Jan 2009 18:26:25 +0000 (12:26 -0600)

Fix Documentation for git-describe

The documentation for git-describe says the default abbreviation is 8
hexadecimal digits while cache.c clearly shows DEFAULT_ABBREV set to 7.
This patch corrects the documentation.

Signed-off-by: Boyd Stephen Smith Jr <bss@iguanasuicide.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Rename diff.suppress-blank-empty to diff.suppressBlankEmptyJohannes Schindelin Tue, 20 Jan 2009 21:08:33 +0000 (22:08 +0100)

Rename diff.suppress-blank-empty to diff.suppressBlankEmpty

All the other config variables use CamelCase. This config variable should
not be an exception.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

shell: Document that 'cvs server' is a valid commandLars Noschinski Mon, 19 Jan 2009 17:06:43 +0000 (18:06 +0100)

shell: Document that 'cvs server' is a valid command

git-shell's man page explicitly lists all allowed commands, but 'cvs
server' was missing. Add it.

Signed-off-by: Lars Noschinski <lars@public.noschinski.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Update draft release notes for 1.6.1.1Junio C Hamano Sun, 18 Jan 2009 07:04:35 +0000 (23:04 -0800)

Update draft release notes for 1.6.1.1

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

Merge branch 'maint-1.6.0' into maintJunio C Hamano Sun, 18 Jan 2009 06:39:49 +0000 (22:39 -0800)

Merge branch 'maint-1.6.0' into maint

* maint-1.6.0:
builtin-fsck: fix off by one head count
Documentation: let asciidoc align related options
githooks.txt: add missing word
builtin-commit.c: do not remove COMMIT_EDITMSG

builtin-fsck: fix off by one head countChristian Couder Sun, 18 Jan 2009 03:46:09 +0000 (04:46 +0100)

builtin-fsck: fix off by one head count

According to the man page, if "git fsck" is passed one or more heads, it
should verify connectivity and validity of only objects reachable from the
heads it is passed.

However, since 5ac0a20 (Make builtin-fsck.c use parse_options.,
2007-10-15) the command behaved as if no heads were passed, when given
only one argument.

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t5540: clarify that http-push does not handle packed... Johannes Schindelin Sat, 17 Jan 2009 15:41:41 +0000 (16:41 +0100)

t5540: clarify that http-push does not handle packed-refs on the remote

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

http-push: when making directories, have a trailing... Johannes Schindelin Sat, 17 Jan 2009 15:11:51 +0000 (16:11 +0100)

http-push: when making directories, have a trailing slash in the path name

The function lock_remote() sends MKCOL requests to make leading
directories; However, if it does not put a forward slash '/' at the end of
the path, the server sends a 301 redirect.

By leaving the '/' in place, we can avoid this additional step.

Incidentally, at least one version of Curl (7.16.3) does not resend
credentials when it follows a 301 redirect, so this commit also fixes
a bug.

Original patch by Tay Ray Chuan <rctay89@gmail.com>.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

http-push: fix off-by-path_lenJohannes Schindelin Sat, 17 Jan 2009 15:36:26 +0000 (16:36 +0100)

http-push: fix off-by-path_len

When getting the result of remote_ls(), we were advancing the variable
"path" to the relative path inside the repository.

However, then we went on to malloc a bogus amount of memory: we were
subtracting the prefix length _again_, quite possibly getting something
negative, which xmalloc() interprets as really, really much.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Documentation: let asciidoc align related optionsMarkus Heidelberg Fri, 16 Jan 2009 21:42:33 +0000 (22:42 +0100)

Documentation: let asciidoc align related options

Command line options can share the same paragraph of description, if
they are related or synonymous. In these cases they should be written
among each other, so that asciidoc can format them itself.

Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

githooks.txt: add missing wordStephan Beyer Fri, 16 Jan 2009 20:36:06 +0000 (21:36 +0100)

githooks.txt: add missing word

Signed-off-by: Stephan Beyer <s-beyer@gmx.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

builtin-commit.c: do not remove COMMIT_EDITMSGStephan Beyer Fri, 16 Jan 2009 19:40:05 +0000 (20:40 +0100)

builtin-commit.c: do not remove COMMIT_EDITMSG

git-commit tries to remove the file ./COMMIT_EDITMSG instead of
$GIT_DIR/COMMIT_EDITMSG after commit preparation (e.g. running
hooks, launching editor).
This behavior exists since f5bbc3225c4b07 "Port git commit to C".

Some test cases (e.g. t/t7502-commit.sh) rely on the existence of
$GIT_DIR/COMMIT_EDITMSG after committing and, I guess, many people
are used to it. So it is best not to remove it.

This patch just removes the removal of COMMIT_EDITMSG.

Signed-off-by: Stephan Beyer <s-beyer@gmx.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint-1.6.0' into maintJunio C Hamano Thu, 15 Jan 2009 22:33:54 +0000 (14:33 -0800)

Merge branch 'maint-1.6.0' into maint

* maint-1.6.0:
t3404: Add test case for auto-amending only edited commits after "edit"
t3404: Add test case for aborted --continue after "edit"
t3501: check that commits are actually done

t3404: Add test case for auto-amending only edited... Stephan Beyer Thu, 15 Jan 2009 12:56:16 +0000 (13:56 +0100)

t3404: Add test case for auto-amending only edited commits after "edit"

Add a test case for the bugfix introduced by commit c14c3c82d
"git-rebase--interactive: auto amend only edited commit".

Signed-off-by: Stephan Beyer <s-beyer@gmx.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t3404: Add test case for aborted --continue after ... Stephan Beyer Thu, 15 Jan 2009 12:56:15 +0000 (13:56 +0100)

t3404: Add test case for aborted --continue after "edit"

Add a test case for the bugfix introduced by commit 8beb1f33d
"git-rebase-interactive: do not squash commits on abort".

Signed-off-by: Stephan Beyer <s-beyer@gmx.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t3501: check that commits are actually doneStephan Beyer Thu, 15 Jan 2009 13:03:17 +0000 (14:03 +0100)

t3501: check that commits are actually done

The basic idea of t3501 is to check whether revert
and cherry-pick works on renamed files.
But as there is no pure cherry-pick/revert test, it is
good to also check if commits are actually done in that
scenario.

Signed-off-by: Stephan Beyer <s-beyer@gmx.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Update draft release notes to 1.6.1.1Junio C Hamano Thu, 15 Jan 2009 06:43:04 +0000 (22:43 -0800)

Update draft release notes to 1.6.1.1

Merge branch 'maint-1.6.0' into maintJunio C Hamano Thu, 15 Jan 2009 06:34:05 +0000 (22:34 -0800)

Merge branch 'maint-1.6.0' into maint

* maint-1.6.0:
fix handling of multiple untracked files for git mv -k
add test cases for "git mv -k"

Make t3411 executableMiklos Vajna Thu, 15 Jan 2009 00:33:19 +0000 (01:33 +0100)

Make t3411 executable

Signed-off-by: Miklos Vajna <vmiklos@frugalware.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

fix handling of multiple untracked files for git mv -kMichael J Gruber Wed, 14 Jan 2009 17:03:22 +0000 (18:03 +0100)

fix handling of multiple untracked files for git mv -k

The "-k" option to "git mv" should allow specifying multiple untracked
files. Currently, multiple untracked files raise an assertion if they
appear consecutively as arguments. Fix this by decrementing the loop
index after removing one entry from the array of arguments.

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

add test cases for "git mv -k"Michael J Gruber Wed, 14 Jan 2009 17:03:21 +0000 (18:03 +0100)

add test cases for "git mv -k"

Add test cases for ignoring nonexisting and untracked files using the -k
option to "git mv". There is one known breakage related to multiple
untracked files specfied as consecutive arguments.

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint-1.6.0' into maintJunio C Hamano Wed, 14 Jan 2009 07:10:50 +0000 (23:10 -0800)

Merge branch 'maint-1.6.0' into maint

* maint-1.6.0:
fast-import: Cleanup mode setting.
Git.pm: call Error::Simple() properly

fast-import: Cleanup mode setting.Felipe Contreras Wed, 14 Jan 2009 01:37:07 +0000 (03:37 +0200)

fast-import: Cleanup mode setting.

"S_IFREG | mode" makes only sense for 0644 and 0755.

Even though doing (S_IFREG | mode) may not hurt when mode is any other
supported value, that is only true because S_IFREG mode bit happens to
be already on for S_IFLNK or S_IFGITLINK.

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

Git.pm: call Error::Simple() properlyJay Soffian Tue, 13 Jan 2009 22:41:35 +0000 (17:41 -0500)

Git.pm: call Error::Simple() properly

The error message to Error::Simple() must be passed as a single argument.

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

Merge branch 'kk/maint-http-push' into maintJunio C Hamano Tue, 13 Jan 2009 09:15:49 +0000 (01:15 -0800)

Merge branch 'kk/maint-http-push' into maint

* kk/maint-http-push:
http-push: support full URI in handle_remote_ls_ctx()

Merge branch 'js/maint-merge-recursive-r-d-conflict... Junio C Hamano Tue, 13 Jan 2009 09:15:19 +0000 (01:15 -0800)

Merge branch 'js/maint-merge-recursive-r-d-conflict' into maint

* js/maint-merge-recursive-r-d-conflict:
merge-recursive: mark rename/delete conflict as unmerged

Merge branch 'cb/maint-merge-recursive-fix' into maintJunio C Hamano Tue, 13 Jan 2009 09:13:56 +0000 (01:13 -0800)

Merge branch 'cb/maint-merge-recursive-fix' into maint

* cb/maint-merge-recursive-fix:
merge-recursive: do not clobber untracked working tree garbage
modify/delete conflict resolution overwrites untracked file

Conflicts:
builtin-merge-recursive.c

Merge branch 'ap/maint-apply-modefix' into maintJunio C Hamano Tue, 13 Jan 2009 08:56:40 +0000 (00:56 -0800)

Merge branch 'ap/maint-apply-modefix' into maint

* ap/maint-apply-modefix:
builtin-apply: prevent non-explicit permission changes

Merge branch 'maint-1.6.0' into maintJunio C Hamano Tue, 13 Jan 2009 08:40:19 +0000 (00:40 -0800)

Merge branch 'maint-1.6.0' into maint

* maint-1.6.0:
Avoid spurious error messages on error mistakes.
contrib/examples/README: give an explanation of the status of these files

Avoid spurious error messages on error mistakes.Pierre Habouzit Mon, 12 Jan 2009 23:09:36 +0000 (00:09 +0100)

Avoid spurious error messages on error mistakes.

Prior to that, if the user chose "squash" as a first action, the stderr
looked like:

grep: /home/madcoder/dev/scm/git/.git/rebase-merge/done: No such file or directory
Cannot 'squash' without a previous commit

Now the first line is gone.

Signed-off-by: Pierre Habouzit <madcoder@debian.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

contrib/examples/README: give an explanation of the... jidanni@jidanni.org Tue, 13 Jan 2009 01:19:42 +0000 (09:19 +0800)

contrib/examples/README: give an explanation of the status of these files

We attempt to give an explanation of the status of the files in this
directory.

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

Merge branch 'mh/maint-sendmail-cc-doc' into maintJunio C Hamano Mon, 12 Jan 2009 07:27:29 +0000 (23:27 -0800)

Merge branch 'mh/maint-sendmail-cc-doc' into maint

* mh/maint-sendmail-cc-doc:
doc/git-send-email: mention sendemail.cc config variable

Merge branch 'jc/maint-do-not-switch-to-non-commit... Junio C Hamano Mon, 12 Jan 2009 07:24:42 +0000 (23:24 -0800)

Merge branch 'jc/maint-do-not-switch-to-non-commit' into maint

* jc/maint-do-not-switch-to-non-commit:
git checkout: do not allow switching to a tree-ish that is not a commit

Documentation/git-push.txt: minor: compress one optionjidanni@jidanni.org Mon, 12 Jan 2009 03:05:54 +0000 (11:05 +0800)

Documentation/git-push.txt: minor: compress one option

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

Merge branch 'maint-1.6.0' into maintJunio C Hamano Wed, 7 Jan 2009 06:12:35 +0000 (22:12 -0800)

Merge branch 'maint-1.6.0' into maint

* maint-1.6.0:
README: tutorial.txt is now called gittutorial.txt

Merge branch 'maint-1.5.6' into maint-1.6.0Junio C Hamano Wed, 7 Jan 2009 06:12:30 +0000 (22:12 -0800)

Merge branch 'maint-1.5.6' into maint-1.6.0

* maint-1.5.6:
README: tutorial.txt is now called gittutorial.txt

README: tutorial.txt is now called gittutorial.txtJoey Hess Wed, 7 Jan 2009 04:23:37 +0000 (23:23 -0500)

README: tutorial.txt is now called gittutorial.txt

Signed-off-by: Joey Hess <joey@gnu.kitenet.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Be consistent in switch usage for tarHenrik Austad Mon, 5 Jan 2009 15:25:37 +0000 (16:25 +0100)

Be consistent in switch usage for tar

tar handles switches with and witout preceding '-', but the
documentation should be consistent nonetheless.

Signed-off-by: Henrik Austad <henrik@austad.us>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Use capitalized names where appropriateHenrik Austad Mon, 5 Jan 2009 15:25:36 +0000 (16:25 +0100)

Use capitalized names where appropriate

The Linux kernel and Emacs are both spelled capitalized

Signed-off-by: Henrik Austad <henrik@austad.us>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

fast-export: print usage when no options specifiedMiklos Vajna Sat, 3 Jan 2009 03:59:12 +0000 (04:59 +0100)

fast-export: print usage when no options specified

Signed-off-by: Miklos Vajna <vmiklos@frugalware.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git checkout: do not allow switching to a tree-ish... Junio C Hamano Sat, 3 Jan 2009 12:07:32 +0000 (04:07 -0800)

git checkout: do not allow switching to a tree-ish that is not a commit

"git checkout -b newbranch $commit^{tree}" mistakenly created a new branch
rooted at the current HEAD, because in that case, the two structure fields
used to see if the command was invoked without any argument (hence it
needs to default to checking out the HEAD) were populated incorrectly.

Upon seeing a command line argument that we took as a rev, we should store
that string in new.name, even if that does not name a commit. This will
correctly trigger the existing safety logic.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
Acked-by: Daniel Barkalow <barkalow@iabervon.org>

builtin-apply: prevent non-explicit permission changesJunio C Hamano Fri, 2 Jan 2009 10:55:37 +0000 (02:55 -0800)

builtin-apply: prevent non-explicit permission changes

A git patch that does not change the executable bit records the mode bits
on its "index" line. "git apply" used to interpret this mode exactly the
same way as it interprets the mode recorded on "new mode" line, as the
wish by the patch submitter to set the mode to the one recorded on the
line.

The reason the mode does not agree between the submitter and the receiver
in the first place is because there is _another_ commit that only appears
on one side but not the other since their histories diverged, and that
commit changes the mode. The patch has "index" line but not "new mode"
line because its change is about updating the contents without affecting
the mode. The application of such a patch is an explicit wish by the
submitter to only cherry-pick the commit that updates the contents without
cherry-picking the commit that modifies the mode. Viewed this way, the
current behaviour is problematic, even though the command does warn when
the mode of the path being patched does not match this mode, and a careful
user could detect this inconsistencies between the patch submitter and the
patch receiver.

This changes the semantics of the mode recorded on the "index" line;
instead of interpreting it as the submitter's wish to set the mode to the
recorded value, it merely informs what the mode submitter happened to
have, and the presense of the "index" line is taken as submitter's wish to
keep whatever the mode is on the receiving end.

This is based on the patch originally done by Alexander Potashev with a
minor fix; the tests are mine.

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

Documentation/git-tag.txt: minor typo and grammar fixjidanni@jidanni.org Sat, 27 Dec 2008 19:49:03 +0000 (03:49 +0800)

Documentation/git-tag.txt: minor typo and grammar fix

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

Prepare for v1.6.1.1 maintenance releaseJunio C Hamano Mon, 29 Dec 2008 09:17:34 +0000 (01:17 -0800)

Prepare for v1.6.1.1 maintenance release

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

Documentation/diff-options.txt: unify optionsjidanni@jidanni.org Mon, 29 Dec 2008 07:03:17 +0000 (15:03 +0800)

Documentation/diff-options.txt: unify options

Instead of listing short option (e.g. "-U<n>") as a shorthand for its
longer counterpart (e.g. "--unified=<n>"), list the synonyms together. It
saves one indirection to find what the reader wants.

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

doc/git-send-email: mention sendemail.cc config variableMarkus Heidelberg Sun, 28 Dec 2008 23:37:25 +0000 (00:37 +0100)

doc/git-send-email: mention sendemail.cc config variable

This variable was added in 5f8b9fc (git-send-email: add a new
sendemail.cc configuration variable, 2008-04-27), but is not yet refered
to by the documentation.

Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

gitweb: Fix export check in git_get_projects_listDevin Doucette Sat, 27 Dec 2008 09:39:31 +0000 (02:39 -0700)

gitweb: Fix export check in git_get_projects_list

When $filter was empty, the path passed to check_export_ok would
contain an extra '/', which some implementations of export_auth_hook
are sensitive to.

It makes more sense to fix this here than to handle the special case
in each implementation of export_auth_hook.

Signed-off-by: Devin Doucette <devin@doucette.cc>
Acked-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'rs/maint-tformat-foldline' into maintJunio C Hamano Sat, 27 Dec 2008 22:22:37 +0000 (14:22 -0800)

Merge branch 'rs/maint-tformat-foldline' into maint

* rs/maint-tformat-foldline:
pretty: support multiline subjects with format:
pretty: factor out format_subject()
pretty: factor out skip_empty_lines()

Merge branch 'rs/maint-retval-fix' into maintJunio C Hamano Sat, 27 Dec 2008 22:21:24 +0000 (14:21 -0800)

Merge branch 'rs/maint-retval-fix' into maint

* rs/maint-retval-fix:
merge-file: handle freopen() failure
daemon: cleanup: factor out xstrdup_tolower()
daemon: cleanup: replace loop with if
daemon: handle freopen() failure

Merge branch 'sp/maint-describe-all-tag-warning' into... Junio C Hamano Sat, 27 Dec 2008 22:21:15 +0000 (14:21 -0800)

Merge branch 'sp/maint-describe-all-tag-warning' into maint

* sp/maint-describe-all-tag-warning:
describe: Avoid unnecessary warning when using --all

git-send-email.txt: move --format-patch paragraph to... Adeodato Simó Sat, 27 Dec 2008 08:50:30 +0000 (09:50 +0100)

git-send-email.txt: move --format-patch paragraph to a proper location

When introducing --format-patch, its documentation was accidentally inserted
in the middle of documentation for --validate.

Signed-off-by: Adeodato Simó <dato@net.com.org.es>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-shortlog.txt: improve documentation about .mailmap... Adeodato Simó Sat, 27 Dec 2008 18:23:30 +0000 (19:23 +0100)

git-shortlog.txt: improve documentation about .mailmap files

The description on .mailmap made it seem like they are only useful for
commits with a wrong address for an author, but they are about fixing the
real name. Explain this better in the text, and replace the existing
example with a new one that hopefully makes things clearer.

Signed-off-by: Adeodato Simó <dato@net.com.org.es>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

pretty: support multiline subjects with format:René Scharfe Sat, 27 Dec 2008 00:49:21 +0000 (01:49 +0100)

pretty: support multiline subjects with format:

git log --pretty=format:%s (and tformat:) used to display the first
line of the subject, unlike the other --pretty options, which would
construct a subject line from all lines of the first paragraph of
the commit message.

For consistency and increased code reuse, change format: to do the
same as the other options.

Before:
$ git log --pretty=oneline v1.6.1 | md5sum
7c0896d2a94fc3315a0372b9b3373a8f -
$ git log --pretty=tformat:"%H %s" v1.6.1 | md5sum
298903b1c065002e15daa5329213c51f -

After:
$ git log --pretty=tformat:"%H %s" v1.6.1 | md5sum
7c0896d2a94fc3315a0372b9b3373a8f -
$ git log --pretty=oneline v1.6.1 | md5sum
7c0896d2a94fc3315a0372b9b3373a8f -

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

pretty: factor out format_subject()René Scharfe Sat, 27 Dec 2008 00:39:35 +0000 (01:39 +0100)

pretty: factor out format_subject()

The next patch will use it.

In the version that was factored out, we can't rely on the len of the
struct strbuf to find out if a line separator needs to be added, as
it might already contain something. Add a guard variable ("first")
instead.

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

pretty: factor out skip_empty_lines()René Scharfe Sat, 27 Dec 2008 00:32:49 +0000 (01:32 +0100)

pretty: factor out skip_empty_lines()

The patch after the next one will use it.

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

merge-file: handle freopen() failureRené Scharfe Fri, 26 Dec 2008 10:17:04 +0000 (11:17 +0100)

merge-file: handle freopen() failure

Report the error if redirection of stderr to /dev/null failed.

This silences a compiler warning about ignoring the return value
of freopen() on Ubuntu 8.10.

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

daemon: cleanup: factor out xstrdup_tolower()René Scharfe Fri, 26 Dec 2008 10:12:15 +0000 (11:12 +0100)

daemon: cleanup: factor out xstrdup_tolower()

Add xstrdup_tolower(), a helper to get a lower case copy of a
string, and use it in two cases.

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

daemon: cleanup: replace loop with ifRené Scharfe Fri, 26 Dec 2008 10:01:57 +0000 (11:01 +0100)

daemon: cleanup: replace loop with if

Replace a loop around an enter_repo() call, which was used to retry
a single time with a different parameter in case the first call fails,
with two calls and an if. This is shorter and cleaner.

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

daemon: handle freopen() failureRené Scharfe Fri, 26 Dec 2008 09:46:25 +0000 (10:46 +0100)

daemon: handle freopen() failure

Die if stderr couldn't be sent to /dev/null when operating in inetd
mode and report the error message from the OS.

This fixes a compiler warning about the return value of freopen()
being ignored on Ubuntu 8.10.

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

describe: Avoid unnecessary warning when using --allShawn O. Pearce Fri, 26 Dec 2008 22:02:01 +0000 (14:02 -0800)

describe: Avoid unnecessary warning when using --all

In 212945d4 ("Teach git-describe to verify annotated tag names
before output") git-describe learned how to output a warning if
an annotated tag object was matched but its internal name doesn't
match the local ref name.

However, "git describe --all" causes the local ref name to be
prefixed with "tags/", so we need to skip over this prefix before
comparing the local ref name with the name recorded inside of the
tag object.

Patch-by: René Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

merge-recursive: mark rename/delete conflict as unmergedJohannes Schindelin Mon, 22 Dec 2008 22:10:20 +0000 (23:10 +0100)

merge-recursive: mark rename/delete conflict as unmerged

When a file was renamed in one branch, but deleted in the other, one
should expect the index to contain an unmerged entry, namely the
target of the rename. Make it so.

Noticed by Constantine Plotnikov.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

http-push: support full URI in handle_remote_ls_ctx()Kirill A. Korinskiy Tue, 23 Dec 2008 08:31:15 +0000 (11:31 +0300)

http-push: support full URI in handle_remote_ls_ctx()

The program calls remote_ls() to get list of files from the server over
HTTP; handle_remote_ls_ctx() is used to parse its response to populate
"struct remote_ls_ctx" that is returned from remote_ls().

The handle_remote_ls_ctx() function assumed that the server returns a
local path in href field, but RFC 4918 (14.7) demand of support full URI
(e.g. "http://localhost:8080/repo.git").

This resulted in push failure (e.g. git-http-push issues a PROPFIND
request to "/repo.git/alhost:8080/repo.git/refs/" to the server).

Signed-off-by: Kirill A. Korinskiy <catap@catap.ru>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

GIT 1.6.1 v1.6.1Junio C Hamano Thu, 25 Dec 2008 03:41:08 +0000 (19:41 -0800)

GIT 1.6.1

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

Merge branch 'js/rebase-i-p'Junio C Hamano Wed, 24 Dec 2008 08:14:14 +0000 (00:14 -0800)

Merge branch 'js/rebase-i-p'

* js/rebase-i-p:
rebase -i -p: leave a --cc patch when a merge could not be redone
rebase -i -p: Fix --continue after a merge could not be redone
Show a failure of rebase -p if the merge had a conflict

rebase -i -p: leave a --cc patch when a merge could... Johannes Schindelin Mon, 22 Dec 2008 21:16:51 +0000 (22:16 +0100)

rebase -i -p: leave a --cc patch when a merge could not be redone

The result is easier to review this way, and the merge resolution has to be
done inside the work tree, not by adjusting "the patch" anyway.

t9129: skip the last three tests if UTF-8 locale is... Miklos Vajna Tue, 23 Dec 2008 01:09:24 +0000 (02:09 +0100)

t9129: skip the last three tests if UTF-8 locale is not available

Signed-off-by: Miklos Vajna <vmiklos@frugalware.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

GIT 1.6.1-rc4 v1.6.1-rc4Junio C Hamano Mon, 22 Dec 2008 03:20:21 +0000 (19:20 -0800)

GIT 1.6.1-rc4

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

Always show which directory is not a git repositoryRichard Hartmann Sun, 21 Dec 2008 23:17:32 +0000 (00:17 +0100)

Always show which directory is not a git repository

Unify all

fatal: Not a git repository

error messages so they include path information.

Signed-off-by: Richard Hartmann <richih@net.in.tum.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Make help entries alphabeticalRichard Hartmann Sun, 21 Dec 2008 22:28:25 +0000 (23:28 +0100)

Make help entries alphabetical

Signed-off-by: Richard Hartmann <richih@net.in.tum.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint'Junio C Hamano Mon, 22 Dec 2008 02:35:54 +0000 (18:35 -0800)

Merge branch 'maint'

* maint:
doc/git-fsck: change the way for getting heads' SHA1s

git-revert documentation: refer to new HOWTO on reverti... Boyd Stephen Smith Jr Mon, 22 Dec 2008 00:26:03 +0000 (18:26 -0600)

git-revert documentation: refer to new HOWTO on reverting faulty merges

Signed-off-by: Boyd Stephen Smith Jr <bss@iguanasuicide.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-revert: record the parent against which a revert... Robin Rosenberg Sun, 21 Dec 2008 22:17:12 +0000 (14:17 -0800)

git-revert: record the parent against which a revert was made

As described in Documentation/howto/revert-a-faulty-merge.txt, re-merging
from a previously reverted a merge of a side branch may need a revert of
the revert beforehand. Record against which parent the revert was made in
the commit, so that later the user can figure out what went on.

Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge git://git.kernel.org/pub/scm/gitk/gitkJunio C Hamano Mon, 22 Dec 2008 02:31:12 +0000 (18:31 -0800)

Merge git://git.kernel.org/pub/scm/gitk/gitk

* git://git.kernel.org/pub/scm/gitk/gitk:
gitk: Force the focus to the main window on Windows
gitk: Allow unbalanced quotes/braces in commit headers
gitk: Update German translation
gitk: Mark forgotten strings (header sentence parts in color chooser) for translation
gitk: Ensure that "Reset branch" menu entry is enabled
gitk: Use check-buttons' -text property instead of separate labels
gitk: Map / to focus the search box
gitk: Fix bugs in blaming code

gitk: Force the focus to the main window on WindowsJohannes Sixt Thu, 18 Dec 2008 07:30:49 +0000 (08:30 +0100)

gitk: Force the focus to the main window on Windows

On msysGit, the focus is first on the (Tk) console. This console is then
hidden, but keeps the focus. Work around that by forcing the focus onto
the gitk window.

This fixes msysGit issue 14. Diagnosed and originally fixed by
Johannes Schindelin.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>

gitk: Allow unbalanced quotes/braces in commit headersKevin Ballard Thu, 18 Dec 2008 09:26:48 +0000 (01:26 -0800)

gitk: Allow unbalanced quotes/braces in commit headers

When parsing commits, gitk treats the headers of the commit as tcl
lists. This causes errors if the header contains an unbalanced quote
or open brace. Splitting the line on spaces allows us to treat it as
a set of words instead of as a tcl list, which prevents errors.

Signed-off-by: Kevin Ballard <kevin@sb.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>

gitk: Update German translationChristian Stimming Sat, 6 Dec 2008 19:49:24 +0000 (20:49 +0100)

gitk: Update German translation

Attached to avoid whitespace problems.

Regards,

Christian

From 282060ac531fee722142f9d39c4ff29570723cbb Mon Sep 17 00:00:00 2001
From: Christian Stimming <stimming@tuhh.de>
Date: Sat, 6 Dec 2008 20:47:15 +0100
Subject: [PATCH 2/2] gitk: Update German translation

Merged with most recent "make update-po" result.

Signed-off-by: Christian Stimming <stimming@tuhh.de>
Signed-off-by: Paul Mackerras <paulus@samba.org>

gitk: Mark forgotten strings (header sentence parts... Christian Stimming Sat, 6 Dec 2008 19:48:30 +0000 (20:48 +0100)

gitk: Mark forgotten strings (header sentence parts in color chooser) for translation

Signed-off-by: Paul Mackerras <paulus@samba.org>

gitk: Ensure that "Reset branch" menu entry is enabledJohannes Sixt Wed, 3 Dec 2008 12:43:20 +0000 (13:43 +0100)

gitk: Ensure that "Reset branch" menu entry is enabled

Consider this sequence of events:

1. Detach HEAD and fire up gitk
2. Call the context menu on some commit. Notice that the last menu entry
says "Detached HEAD: can't reset" and it is disabled.
3. Now checkout some regular branch (e.g. 'master') using the context menu.
4. Call the context menu again on some commit.

Previously, at this point the last menu entry said "Reset master branch
to here", but it was still disabled. With this fix it is now enabled again.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>

gitk: Use check-buttons' -text property instead of... Johannes Sixt Tue, 2 Dec 2008 20:42:16 +0000 (21:42 +0100)

gitk: Use check-buttons' -text property instead of separate labels

Previously the check-buttons' labels in the Preferences were separate
widgets. This had the disadvantage that in order to toggle the
check-button with the mouse the check-box had to be clicked. With
this change the check-box can also be toggled by clicking the label.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>

gitk: Map / to focus the search boxGiuseppe Bilotta Tue, 2 Dec 2008 01:19:22 +0000 (02:19 +0100)

gitk: Map / to focus the search box

The / key is often used to initiate searches (less, vim, some web
browsers). This changes the binding for the / (slash) key from 'find
next' to 'focus the search box' to follow this convention.

Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>

doc/git-fsck: change the way for getting heads' SHA1sMarkus Heidelberg Sun, 21 Dec 2008 16:30:22 +0000 (17:30 +0100)

doc/git-fsck: change the way for getting heads' SHA1s

The straightforward way with using 'cat .git/refs/heads/*' doesn't work
with packed refs as well as branches of the form topic/topic1. So let's
use git-for-each-ref for getting the heads' SHA1s in this example.

Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Documentation/git-show-branch: work around "single... Markus Heidelberg Sun, 21 Dec 2008 10:00:31 +0000 (02:00 -0800)

Documentation/git-show-branch: work around "single quote" typesetting glitch

The displayed example is typeset with acute accents around the string that
should be surrounded by a pair of single quotes in manpage. Replace them
with double quotes (the semantics of the example does not change).

Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

send-email: futureproof split_addrs() subJunio C Hamano Sun, 21 Dec 2008 09:57:59 +0000 (01:57 -0800)

send-email: futureproof split_addrs() sub

Matt Kraai points out that calling parse_line() assuming that the caller
ever passes only one argument is a bug waiting to happen, and he is
right.

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

Make sure lockfiles are unlocked when dying on SIGPIPEJunio C Hamano Fri, 19 Dec 2008 01:31:57 +0000 (17:31 -0800)

Make sure lockfiles are unlocked when dying on SIGPIPE

We cleaned up lockfiles upon receiving the usual suspects HUP, TERM, QUIT
but a wicked user could kill us of asphyxiation by piping our output to a
pipe that does not read. Protect ourselves by catching SIGPIPE and clean
up the lockfiles as well in such a case.

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

fast-import.c: stricter strtoul check, silence compiler... René Scharfe Sun, 21 Dec 2008 01:28:48 +0000 (02:28 +0100)

fast-import.c: stricter strtoul check, silence compiler warning

Store the return value of strtoul() in order to avoid compiler
warnings on Ubuntu 8.10.

Also check errno after each call, which is the only way to notice
an overflow without making ULONG_MAX an illegal date.

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

connect.c: stricter port validation, silence compiler... René Scharfe Sun, 21 Dec 2008 01:12:11 +0000 (02:12 +0100)

connect.c: stricter port validation, silence compiler warning

In addition to checking if the provided port is numeric, also check
that the string isn't empty and that the port number is within the
valid range. Incidentally, this silences a compiler warning about
ignoring strtol's return value.

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

Add a documentat on how to revert a faulty mergeNanako Shiraishi Sat, 20 Dec 2008 11:27:02 +0000 (20:27 +0900)

Add a documentat on how to revert a faulty merge

Linus and Junio explained issues that are involved in reverting a merge
and how to continue working with a branch that was updated since such a
revert on the mailing list. This is to help new people who did not see
these messages.

Signed-off-by: Nanako Shiraishi <nanako3@lavabit.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Remove the requirement opaquelocktoken uri schemeKirill A. Korinskiy Sat, 20 Dec 2008 06:19:46 +0000 (09:19 +0300)

Remove the requirement opaquelocktoken uri scheme

The program flow of pushing over http is:

- call lock_remote() to issue a DAV_LOCK request to the server to lock
info/refs and branch refs being pushed into; handle_new_lock_ctx() is
used to parse its response to populate "struct remote_lock" that is
returned from lock_remote();

- send objects;

- call unlock_remote() to drop the lock.

The handle_new_lock_ctx() function assumed that the server will use a
lock token in opaquelocktoken URI scheme, which may have been an Ok
assumption under RFC 2518, but under RFC 4918 which obsoletes the older
standard it is not necessarily true.

This resulted in push failure (often resulted in "cannot lock existing
info/refs" error message) when talking to a server that does not use
opaquelocktoken URI scheme.

Signed-off-by: Kirill A. Korinskiy <catap@catap.ru>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-sh-setup: Fix scripts whose PWD is a symlink into... Marcel M. Cary Mon, 15 Dec 2008 17:34:37 +0000 (09:34 -0800)

git-sh-setup: Fix scripts whose PWD is a symlink into a git work-dir

I want directories of my working tree to be linked to from various
paths on my filesystem where third-party components expect them, both
in development and production environments. A build system's install
step could solve this, but I develop scripts and web pages that don't
need to be built. Git's submodule system could solve this, but we
tend to develop, branch, and test those directories all in unison, so
one big repository feels more natural. We prefer to edit and commit
on the symlinked paths, not the canonical ones, and in that setting,
"git pull" fails to find the top-level directory of the repository
while other commands work fine.

"git pull" fails because POSIX shells have a notion of current working
directory that is different from getcwd(). The shell stores this path
in PWD. As a result, "cd ../" can be interpreted differently in a
shell script than chdir("../") in a C program. The shell interprets
"../" by essentially stripping the last textual path component from
PWD, whereas C chdir() follows the ".." link in the current directory
on the filesystem. When PWD is a symlink, these are different
destinations. As a result, Git's C commands find the correct
top-level working tree, and shell scripts do not.

Changes:

* When interpreting a relative upward (../) path in cd_to_toplevel,
prepend the cwd without symlinks, given by /bin/pwd
* Add tests for cd_to_toplevel and "git pull" in a symlinked
directory that failed before this fix, plus contrasting scenarios
that already worked

Signed-off-by: Marcel M. Cary <marcel@oak.homeunix.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

rebase -i -p: Fix --continue after a merge could not... Johannes Sixt Mon, 15 Dec 2008 10:05:31 +0000 (11:05 +0100)

rebase -i -p: Fix --continue after a merge could not be redone

When a merge that has a conflict was rebased, then rebase stopped to let
the user resolve the conflicts. However, thereafter --continue failed
because the author-script was not saved. (This is rebase -i's way to
preserve a commit's authorship.) This fixes it by doing taking the same
failure route after a merge that is also taken after a normal cherry-pick.

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

Show a failure of rebase -p if the merge had a conflictJohannes Sixt Mon, 15 Dec 2008 10:05:30 +0000 (11:05 +0100)

Show a failure of rebase -p if the merge had a conflict

This extends t3409-rebase-preserve-merges by a case where the merge that
is rebased has a conflict. Therefore, the rebase stops and expects that
the user resolves the conflict. However, currently rebase --continue
fails because .git/rebase-merge/author-script is missing.

The test script had allocated two identical clones, but only one of them
(clone2) was used. Now we use both as indicated in the comment. Also,
two instances of && was missing in the setup part.

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

Documentation: fix typos, grammar, asciidoc syntaxMarkus Heidelberg Fri, 19 Dec 2008 12:14:18 +0000 (13:14 +0100)

Documentation: fix typos, grammar, asciidoc syntax

[jc: the original patch was against master but 99% of it
applied to maint; this commit splits out the part that
applies only to master.]

Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint' to sync with GIT 1.6.0.6Junio C Hamano Sat, 20 Dec 2008 03:32:29 +0000 (19:32 -0800)

Merge branch 'maint' to sync with GIT 1.6.0.6

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

GIT 1.6.0.6 v1.6.0.6Junio C Hamano Sat, 20 Dec 2008 03:27:06 +0000 (19:27 -0800)

GIT 1.6.0.6

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

fast-import: make tagger information optionalJunio C Hamano Fri, 19 Dec 2008 22:41:21 +0000 (14:41 -0800)

fast-import: make tagger information optional

Even though newer Porcelain tools always record the tagger information
when creating new tags, export/import pair should be able to faithfully
reproduce ancient tag objects that lack tagger information.

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

fast-export: deal with tag objects that do not have... Johannes Schindelin Sat, 20 Dec 2008 00:00:27 +0000 (01:00 +0100)

fast-export: deal with tag objects that do not have a tagger

When no tagger was found (old Git produced tags like this),
no "tagger" line is printed (but this is incompatible with the current
git fast-import).

Alternatively, you can pass the option --fake-missing-tagger, forcing
fast-export to fake a tagger

Unspecified Tagger <no-tagger>

with a tag date of the beginning of (Unix) time in the case of a missing
tagger, so that fast-import is still able to import the result.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

SubmittingPatches: mention the usage of real name in... Miklos Vajna Sat, 20 Dec 2008 00:52:17 +0000 (01:52 +0100)

SubmittingPatches: mention the usage of real name in Signed-off-by: lines

Especially with something that is supposed to hopefully have some legal
value down the line if somebody starts making noises, it really would be
nice to have a real person to associate things with. Suggest this in the
SubmittingPatches document.

Signed-off-by: Miklos Vajna <vmiklos@frugalware.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-mergetool: properly handle "git mergetool -- filename"David Aguilar Sat, 20 Dec 2008 01:01:01 +0000 (17:01 -0800)

git-mergetool: properly handle "git mergetool -- filename"

Like many git commands, git-mergetool allows "--" to signal
the end of option processing. This adds a missing "shift"
statement so that this is correctly handled.

Signed-off-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-send-email: handle email address with quoted commaWu Fengguang Fri, 19 Dec 2008 08:10:10 +0000 (16:10 +0800)

git-send-email: handle email address with quoted comma

Correctly handle email addresses containing quoted commas, e.g.

"Zhu, Yi" <yi.zhu@intel.com>, "Li, Shaohua" <shaohua.li@intel.com>

The commas inside the double quotes are not separators.

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>