gitweb.git
Merge branch 'am/maint-push-doc' into maintJunio C Hamano Fri, 6 Feb 2009 02:06:03 +0000 (18:06 -0800)

Merge branch 'am/maint-push-doc' into maint

* am/maint-push-doc:
Documentation: rework src/dst description in git push
Documentation: more git push examples
Documentation: simplify refspec format description

Merge branch 'sg/maint-gitdir-in-subdir' into maintJunio C Hamano Fri, 6 Feb 2009 02:05:43 +0000 (18:05 -0800)

Merge branch 'sg/maint-gitdir-in-subdir' into maint

* sg/maint-gitdir-in-subdir:
Fix gitdir detection when in subdir of gitdir

Merge branch 'lt/maint-wrap-zlib' into maintJunio C Hamano Fri, 6 Feb 2009 02:01:00 +0000 (18:01 -0800)

Merge branch 'lt/maint-wrap-zlib' into maint

* lt/maint-wrap-zlib:
Wrap inflate and other zlib routines for better error reporting

Conflicts:
http-push.c
http-walker.c
sha1_file.c

Merge branch 'jc/maint-split-diff-metainfo' into maintJunio C Hamano Fri, 6 Feb 2009 01:54:17 +0000 (17:54 -0800)

Merge branch 'jc/maint-split-diff-metainfo' into maint

* jc/maint-split-diff-metainfo:
diff.c: output correct index lines for a split diff

Merge branch 'js/maint-all-implies-HEAD' into maintJunio C Hamano Fri, 6 Feb 2009 01:54:12 +0000 (17:54 -0800)

Merge branch 'js/maint-all-implies-HEAD' into maint

* js/maint-all-implies-HEAD:
bundle: allow the same ref to be given more than once
revision walker: include a detached HEAD in --all

Merge branch 'kc/maint-diff-bwi-fix' into maintJunio C Hamano Fri, 6 Feb 2009 01:52:22 +0000 (17:52 -0800)

Merge branch 'kc/maint-diff-bwi-fix' into maint

* kc/maint-diff-bwi-fix:
Fix combined use of whitespace ignore options to diff
test more combinations of ignore-whitespace options to diff

urls.txt: document optional port specification in git... Stefan Naewe Wed, 4 Feb 2009 20:49:35 +0000 (21:49 +0100)

urls.txt: document optional port specification in git URLS

Signed-off-by: Stefan Naewe <stefan.naewe+git@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint-1.6.0' into maintJunio C Hamano Wed, 4 Feb 2009 19:49:07 +0000 (11:49 -0800)

Merge branch 'maint-1.6.0' into maint

* maint-1.6.0:
builtin-mv.c: check for unversionned files before looking at the destination.
Add a testcase for "git mv -f" on untracked files.
Missing && in t/t7001.sh.

builtin-mv.c: check for unversionned files before looki... Matthieu Moy Wed, 4 Feb 2009 09:32:08 +0000 (10:32 +0100)

builtin-mv.c: check for unversionned files before looking at the destination.

The previous code was failing in the case where one moves an
unversionned file to an existing destination, with mv -f: the
"existing destination" was checked first, and the error was cancelled
by the force flag.

We now check the unrecoverable error first, which fixes the bug.

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

Add a testcase for "git mv -f" on untracked files.Matthieu Moy Wed, 4 Feb 2009 09:32:07 +0000 (10:32 +0100)

Add a testcase for "git mv -f" on untracked files.

This currently fails with:
git: builtin-mv.c:217: cmd_mv: Assertion `pos >= 0' failed.

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

Missing && in t/t7001.sh.Matthieu Moy Wed, 4 Feb 2009 09:32:06 +0000 (10:32 +0100)

Missing && in t/t7001.sh.

Without this, the exit status is only the one of the last line.

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

Merge branch 'maint-1.6.0' into maintJunio C Hamano Wed, 4 Feb 2009 07:50:09 +0000 (23:50 -0800)

Merge branch 'maint-1.6.0' into maint

* maint-1.6.0:
User-manual: "git stash <comment>" form is long gone
add test-dump-cache-tree in Makefile
fix typo in Documentation
apply: fix access to an uninitialized mode variable, found by valgrind

User-manual: "git stash <comment>" form is long goneWilliam Pursell Tue, 3 Feb 2009 22:41:14 +0000 (22:41 +0000)

User-manual: "git stash <comment>" form is long gone

These days you must explicitly say "git stash save <comment>".

Signed-off-by: William Pursell <bill.pursell@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

add test-dump-cache-tree in MakefileGuanqun Lu Wed, 4 Feb 2009 21:00:41 +0000 (05:00 +0800)

add test-dump-cache-tree in Makefile

5c5ba73 (Makefile: Use generic rule to build test programs,
2007-05-31) tried to use generic rule to build test programs, but it
misses the file 'dump-cache-tree.c', since its name is not prefixed by
'test-'. This commit solves this little problem by renaming this file
instead of carrying out an explicit rule in Makefile.

Signed-off-by: Guanqun Lu <guanqun.lu@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

fix typo in DocumentationGuanqun Lu Wed, 4 Feb 2009 21:00:40 +0000 (05:00 +0800)

fix typo in Documentation

Signed-off-by: Guanqun Lu <guanqun.lu@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

apply: fix access to an uninitialized mode variable... Johannes Schindelin Wed, 4 Feb 2009 01:50:15 +0000 (02:50 +0100)

apply: fix access to an uninitialized mode variable, found by valgrind

When 'tpatch' was initialized successfully, st_mode was already taken
from the previous diff. We should not try to override it with data
from an lstat() that was never called.

This is a companion patch to 7a07841(git-apply: handle a patch that
touches the same path more than once better).

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

Merge branch 'maint-1.6.0' into maintJunio C Hamano Tue, 3 Feb 2009 08:32:29 +0000 (00:32 -0800)

Merge branch 'maint-1.6.0' into maint

* maint-1.6.0:
grep: pass -I (ignore binary) down to external grep

grep: pass -I (ignore binary) down to external grepJunio C Hamano Mon, 2 Feb 2009 18:58:20 +0000 (10:58 -0800)

grep: pass -I (ignore binary) down to external grep

We forgot to pass this option to the external grep process.

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

Merge branch 'maint-1.6.0' into maintJunio C Hamano Sun, 1 Feb 2009 01:42:17 +0000 (17:42 -0800)

Merge branch 'maint-1.6.0' into maint

* maint-1.6.0:
merge: fix out-of-bounds memory access

merge: fix out-of-bounds memory accessRené Scharfe Sat, 31 Jan 2009 14:39:10 +0000 (15:39 +0100)

merge: fix out-of-bounds memory access

The parameter n of unpack_callback() can have a value of up to
MAX_UNPACK_TREES. The check at the top of unpack_trees() (its only
(indirect) caller) makes sure it cannot exceed this limit.

unpack_callback() passes it and the array src to unpack_nondirectories(),
which has this loop:

for (i = 0; i < n; i++) {
/* ... */
src[i + o->merge] = o->df_conflict_entry;

o->merge can be 0 or 1, so unpack_nondirectories() potentially accesses
the array src at index MAX_UNPACK_TREES. This patch makes it big enough.

Reported-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: René Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

GIT 1.6.1.2 v1.6.1.2Junio C Hamano Thu, 29 Jan 2009 08:12:52 +0000 (00:12 -0800)

GIT 1.6.1.2

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

Merge branch 'jc/maint-format-patch-o-relative' into... Junio C Hamano Thu, 29 Jan 2009 07:56:13 +0000 (23:56 -0800)

Merge branch 'jc/maint-format-patch-o-relative' into maint

* jc/maint-format-patch-o-relative:
Teach format-patch to handle output directory relative to cwd

Conflicts:
t/t4014-format-patch.sh

Merge branch 'bs/maint-rename-populate-filespec' into... Junio C Hamano Thu, 29 Jan 2009 07:42:57 +0000 (23:42 -0800)

Merge branch 'bs/maint-rename-populate-filespec' into maint

* bs/maint-rename-populate-filespec:
Rename detection: Avoid repeated filespec population

Merge branch 'mh/maint-commit-color-status' into maintJunio C Hamano Thu, 29 Jan 2009 07:42:53 +0000 (23:42 -0800)

Merge branch 'mh/maint-commit-color-status' into maint

* mh/maint-commit-color-status:
git-status -v: color diff output when color.ui is set
git-commit: color status output when color.ui is set

Merge branch 'nd/grep-assume-unchanged' into maintJunio C Hamano Thu, 29 Jan 2009 07:42:41 +0000 (23:42 -0800)

Merge branch 'nd/grep-assume-unchanged' into maint

* nd/grep-assume-unchanged:
grep: grep cache entries if they are "assume unchanged"
grep: support --no-ext-grep to test builtin grep

Merge branch 'jc/maint-ls-tree' into maintJunio C Hamano Thu, 29 Jan 2009 07:42:15 +0000 (23:42 -0800)

Merge branch 'jc/maint-ls-tree' into maint

* jc/maint-ls-tree:
Document git-ls-tree --full-tree
ls-tree: add --full-tree option

Merge branch 'np/no-loosen-prune-expire-now' into maintJunio C Hamano Thu, 29 Jan 2009 07:42:10 +0000 (23:42 -0800)

Merge branch 'np/no-loosen-prune-expire-now' into maint

* np/no-loosen-prune-expire-now:
objects to be pruned immediately don't have to be loosened

Merge branch 'mc/cd-p-pwd' into maintJunio C Hamano Thu, 29 Jan 2009 07:41:56 +0000 (23:41 -0800)

Merge branch 'mc/cd-p-pwd' into maint

* mc/cd-p-pwd:
git-sh-setup: Fix scripts whose PWD is a symlink to a work-dir on OS X

Merge branch 'maint-1.6.0' into maintJunio C Hamano Thu, 29 Jan 2009 07:41:28 +0000 (23:41 -0800)

Merge branch 'maint-1.6.0' into maint

* maint-1.6.0:
avoid 31-bit truncation in write_loose_object

avoid 31-bit truncation in write_loose_objectJeff King Thu, 29 Jan 2009 05:56:34 +0000 (00:56 -0500)

avoid 31-bit truncation in write_loose_object

The size of the content we are adding may be larger than
2.1G (i.e., "git add gigantic-file"). Most of the code-path
to do so uses size_t or unsigned long to record the size,
but write_loose_object uses a signed int.

On platforms where "int" is 32-bits (which includes x86_64
Linux platforms), we end up passing malloc a negative size.

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

send-pack: do not send unknown object name from ".have... Junio C Hamano Wed, 28 Jan 2009 04:21:31 +0000 (20:21 -0800)

send-pack: do not send unknown object name from ".have" to pack-objects

v1.6.1 introduced ".have" extension to the protocol to allow the receiving
side to advertise objects that are reachable from refs in the repositories
it borrows from. This was meant to be used by the sending side to avoid
sending such objects; they are already available through the alternates
mechanism.

The client side implementation in v1.6.1, which was introduced with
40c155f (push: prepare sender to receive extended ref information from the
receiver, 2008-09-09) aka v1.6.1-rc1~203^2~1, were faulty in that it did
not consider the possiblity that the repository receiver borrows from
might have objects it does not know about.

This fixes it by refraining from passing missing commits to underlying
pack-objects. Revision machinery may need to be tightened further to
treat missing uninteresting objects as non-error events, but this is an
obvious and safe fix for a maintenance release that is almost good enough.

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

Merge branch 'maint-1.6.0' into maintJunio C Hamano Tue, 27 Jan 2009 23:23:46 +0000 (15:23 -0800)

Merge branch 'maint-1.6.0' into maint

* maint-1.6.0:
test-path-utils: Fix off by one, found by valgrind
get_sha1_basic(): fix invalid memory access, found by valgrind

test-path-utils: Fix off by one, found by valgrindJohannes Schindelin Tue, 27 Jan 2009 23:07:36 +0000 (00:07 +0100)

test-path-utils: Fix off by one, found by valgrind

When normalizing an absolute path, we might have to add a slash _and_ a
NUL to the buffer, so the buffer was one too small.

Let's just future proof the code and alloc PATH_MAX + 1 bytes.

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

get_sha1_basic(): fix invalid memory access, found... Johannes Schindelin Tue, 27 Jan 2009 23:07:46 +0000 (00:07 +0100)

get_sha1_basic(): fix invalid memory access, found by valgrind

When get_sha1_basic() is passed a buffer of len 0, it should not
check if buf[len-1] is a curly bracket.

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

Merge branch 'jc/maint-1.6.0-split-diff-metainfo' into... Junio C Hamano Tue, 27 Jan 2009 09:08:02 +0000 (01:08 -0800)

Merge branch 'jc/maint-1.6.0-split-diff-metainfo' into jc/maint-split-diff-metainfo

This is an evil merge, as a test added since 1.6.0 expects an incorrect
behaviour the merged commit fixes.

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

diff.c: output correct index lines for a split diffJunio C Hamano Mon, 26 Jan 2009 08:08:24 +0000 (00:08 -0800)

diff.c: output correct index lines for a split diff

A patch that changes the filetype (e.g. regular file to symlink) of a path
must be split into a deletion event followed by a creation event, which
means that we need to have two independent metainfo lines for each.
However, the code reused the single set of metainfo lines.

As the blob object names recorded on the index lines are usually not used
nor validated on the receiving end, this is not an issue with normal use
of the resulting patch. However, when accepting a binary patch to delete
a blob, git-apply verified that the postimage blob object name on the
index line is 0{40}, hence a patch that deletes a regular file blob that
records binary contents to create a blob with different filetype (e.g. a
symbolic link) failed to apply. "git am -3" also uses the blob object
names recorded on the index line, so it would also misbehave when
synthesizing a preimage tree.

This moves the code to generate metainfo lines around, so that two
independent sets of metainfo lines are used for the split halves.

Additional tests by Jeff King.

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

Documentation: rework src/dst description in git pushAnders Melchiorsen Sun, 25 Jan 2009 23:45:33 +0000 (00:45 +0100)

Documentation: rework src/dst description in git push

This tries to make the description of ref matching in git push easier
to read. Beauty is in the eye of the beholder, though.

Signed-off-by: Anders Melchiorsen <mail@cup.kalibalik.dk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Documentation: more git push examplesAnders Melchiorsen Sun, 25 Jan 2009 23:45:32 +0000 (00:45 +0100)

Documentation: more git push examples

Include examples of using HEAD. The order of examples
introduces new concepts one by one. This pushes the
example of deleting a ref to the end of the list.

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

Documentation: simplify refspec format descriptionJunio C Hamano Mon, 26 Jan 2009 06:25:20 +0000 (22:25 -0800)

Documentation: simplify refspec format description

The refspec format description was a mix of regexp and BNF, making it
very difficult to read. The format was also wrong: it did not show
that each part of a refspec is optional in different situations.

Rather than having a confusing grammar, just present the format in
informal prose.

Signed-off-by: Anders Melchiorsen <mail@cup.kalibalik.dk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

GIT 1.6.1.1 v1.6.1.1Junio C Hamano Sun, 25 Jan 2009 20:41:09 +0000 (12:41 -0800)

GIT 1.6.1.1

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

Merge branch 'cb/maint-unpack-trees-absense' into maintJunio C Hamano Sat, 24 Jan 2009 03:06:38 +0000 (19:06 -0800)

Merge branch 'cb/maint-unpack-trees-absense' into maint

* cb/maint-unpack-trees-absense:
unpack-trees: remove redundant path search in verify_absent
unpack-trees: fix path search bug in verify_absent
unpack-trees: handle failure in verify_absent

Merge branch 'tr/maint-no-index-fixes' into maintJunio C Hamano Sat, 24 Jan 2009 03:04:48 +0000 (19:04 -0800)

Merge branch 'tr/maint-no-index-fixes' into maint

* tr/maint-no-index-fixes:
diff --no-index -q: fix endless loop
diff --no-index: test for pager after option parsing
diff: accept -- when using --no-index

Merge branch 'rs/maint-shortlog-foldline' into maintJunio C Hamano Sat, 24 Jan 2009 03:03:50 +0000 (19:03 -0800)

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

* rs/maint-shortlog-foldline:
shortlog: handle multi-line subjects like log --pretty=oneline et. al. do

Merge branch 'pj/maint-ldflags' into maintJunio C Hamano Sat, 24 Jan 2009 03:02:58 +0000 (19:02 -0800)

Merge branch 'pj/maint-ldflags' into maint

* pj/maint-ldflags:
configure clobbers LDFLAGS

Merge branch 'pb/maint-git-pm-false-dir' into maintJunio C Hamano Sat, 24 Jan 2009 03:02:41 +0000 (19:02 -0800)

Merge branch 'pb/maint-git-pm-false-dir' into maint

* pb/maint-git-pm-false-dir:
Git.pm: correctly handle directory name that evaluates to "false"

Merge branch 'js/maint-bisect-gitk' into maintJunio C Hamano Sat, 24 Jan 2009 03:01:32 +0000 (19:01 -0800)

Merge branch 'js/maint-bisect-gitk' into maint

* js/maint-bisect-gitk:
bisect view: call gitk if Cygwin's SESSIONNAME variable is set

Merge branch 'js/add-not-submodule' into maintJunio C Hamano Sat, 24 Jan 2009 03:00:43 +0000 (19:00 -0800)

Merge branch 'js/add-not-submodule' into maint

* js/add-not-submodule:
git add: do not add files from a submodule

Merge branch 'jc/maint-format-patch' into maintJunio C Hamano Sat, 24 Jan 2009 02:59:59 +0000 (18:59 -0800)

Merge branch 'jc/maint-format-patch' into maint

* jc/maint-format-patch:
format-patch: show patch text for the root commit

Merge branch 'am/maint-push-doc' into maintJunio C Hamano Sat, 24 Jan 2009 02:59:26 +0000 (18:59 -0800)

Merge branch 'am/maint-push-doc' into maint

* am/maint-push-doc:
Documentation: avoid using undefined parameters
Documentation: mention branches rather than heads
Documentation: remove a redundant elaboration
Documentation: git push repository can also be a remote

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>

Rename detection: Avoid repeated filespec populationBjörn Steinbrink Tue, 20 Jan 2009 15:59:57 +0000 (16:59 +0100)

Rename detection: Avoid repeated filespec population

In diffcore_rename, we assume that the blob contents in the filespec
aren't required anymore after estimate_similarity has been called and thus
we free it. But estimate_similarity might return early when the file sizes
differ too much. In that case, cnt_data is never set and the next call to
estimate_similarity will populate the filespec again, eventually rereading
the same blob over and over again.

To fix that, we first get the blob sizes and only when the blob contents
are actually required, and when cnt_data will be set, the full filespec is
populated, once.

Signed-off-by: Björn Steinbrink <B.Steinbrink@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Fix combined use of whitespace ignore options to diffKeith Cascio Mon, 19 Jan 2009 18:03:04 +0000 (10:03 -0800)

Fix combined use of whitespace ignore options to diff

The code used to misbehave when options to ignore certain whitespaces
(-w -b and --ignore-at-eol) were combined.

Signed-off-by: Keith Cascio <keith@cs.ucla.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

test more combinations of ignore-whitespace options... Keith Cascio Thu, 15 Jan 2009 00:48:24 +0000 (16:48 -0800)

test more combinations of ignore-whitespace options to diff

There are three flags involved (-w -b and --ignore-space-at-eol) which
makes 8 combinations possible in total, but only 3 cases are tested (none,
-w alone and -b alone).

This adds the other 5 cases.

Signed-off-by: Keith Cascio <keith@cs.ucla.edu>
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>

Documentation: avoid using undefined parametersAnders Melchiorsen Sun, 18 Jan 2009 14:36:58 +0000 (15:36 +0100)

Documentation: avoid using undefined parameters

The <ref> parameter has not been introduced, so rewrite to
avoid it.

Signed-off-by: Anders Melchiorsen <mail@cup.kalibalik.dk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Documentation: mention branches rather than headsAnders Melchiorsen Sun, 18 Jan 2009 14:36:57 +0000 (15:36 +0100)

Documentation: mention branches rather than heads

The "matching refs" semantics works only on matching branches these days.
Instead of using "heads" which traditionally has been used more or less
interchangeably with "refs", say "branch" explicitly here.

Signed-off-by: Anders Melchiorsen <mail@cup.kalibalik.dk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Documentation: remove a redundant elaborationAnders Melchiorsen Sun, 18 Jan 2009 14:36:56 +0000 (15:36 +0100)

Documentation: remove a redundant elaboration

The comment in parentheses is wrong, as one has to leave out both the
colon and <dst>. This situation is covered by the section a few lines
down:

A parameter <ref> without a colon pushes the <ref> from the source
repository to the destination repository under the same name.

So, just remove the parentheses.

Signed-off-by: Anders Melchiorsen <mail@cup.kalibalik.dk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Documentation: git push repository can also be a remoteAnders Melchiorsen Sun, 18 Jan 2009 14:36:55 +0000 (15:36 +0100)

Documentation: git push repository can also be a remote

This is copied from pull-fetch-param.txt and helps the reader
to not get stuck in the URL section.

Signed-off-by: Anders Melchiorsen <mail@cup.kalibalik.dk>
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>

bundle: allow the same ref to be given more than onceJunio C Hamano Sun, 18 Jan 2009 06:27:08 +0000 (22:27 -0800)

bundle: allow the same ref to be given more than once

"git bundle create x master master" used to create a bundle that lists
the same branch (master) twice. Cloning from such a bundle resulted in
a needless warning "warning: Duplicated ref: refs/remotes/origin/master".

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>

revision walker: include a detached HEAD in --allJohannes Schindelin Fri, 16 Jan 2009 12:52:53 +0000 (13:52 +0100)

revision walker: include a detached HEAD in --all

When HEAD is detached, --all should list it, too, logically, as a
detached HEAD is by definition a temporary, unnamed branch.

It is especially necessary to list it when garbage collecting, as
the detached HEAD would be trashed.

Noticed by Thomas Rast.

Note that this affects creating bundles with --all; I contend that it
is a good change to add the HEAD, so that cloning from such a bundle
will give you a current branch. However, I had to fix t5701 as it
assumed that --all does not imply HEAD.

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

Fix gitdir detection when in subdir of gitdirSZEDER Gábor Fri, 16 Jan 2009 15:37:33 +0000 (16:37 +0100)

Fix gitdir detection when in subdir of gitdir

If the current working directory is a subdirectory of the gitdir (e.g.
<repo>/.git/refs/), then setup_git_directory_gently() will climb its
parent directories until it finds itself in a gitdir. However, no
matter how many parent directories it climbs, it sets
'GIT_DIR_ENVIRONMENT' to ".", which is obviously wrong.

This behaviour affected at least 'git rev-parse --git-dir' and hence
caused some errors in bash completion (e.g. customized command prompt
when on a detached head and completion of refs).

To fix this, we set the absolute path of the found gitdir instead.

Signed-off-by: SZEDER Gábor <szeder@ira.uka.de>
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>

Teach format-patch to handle output directory relative... Junio C Hamano Mon, 12 Jan 2009 23:18:02 +0000 (15:18 -0800)

Teach format-patch to handle output directory relative to cwd

Without any explicit -o parameter, we correctly avoided putting the
resulting patch output to the toplevel. We should do the same when
the user gave a relative pathname to be consistent with this case.

Noticed by Cesar Eduardo Barros.

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>

Wrap inflate and other zlib routines for better error... Linus Torvalds Thu, 8 Jan 2009 03:54:47 +0000 (19:54 -0800)

Wrap inflate and other zlib routines for better error reporting

R. Tyler Ballance reported a mysterious transient repository corruption;
after much digging, it turns out that we were not catching and reporting
memory allocation errors from some calls we make to zlib.

This one _just_ wraps things; it doesn't do the "retry on low memory
error" part, at least not yet. It is an independent issue from the
reporting. Some of the errors are expected and passed back to the caller,
but we die when zlib reports it failed to allocate memory for now.

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

format-patch: show patch text for the root commitJunio C Hamano Sat, 10 Jan 2009 20:41:33 +0000 (12:41 -0800)

format-patch: show patch text for the root commit

Even without --root specified, if the range given on the command line
happens to include a root commit, we should include its patch text in the
output.

This fix deliberately ignores log.showroot configuration variable because
"format-patch" and "log -p" can and should behave differently in this
case, as the former is about exporting a part of your history in a form
that is replayable elsewhere and just giving the commit log message
without the patch text does not make any sense for that purpose.

Noticed and fix originally attempted by Nathan W. Panike; credit goes to
Alexander Potashev for injecting sanity to my initial (broken) fix that
used the value from log.showroot configuration, which was misguided.

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

git-status -v: color diff output when color.ui is setMarkus Heidelberg Thu, 8 Jan 2009 18:53:05 +0000 (19:53 +0100)

git-status -v: color diff output when color.ui is set

When using "git status -v", the diff output wasn't colored, even though
color.ui was set. Only when setting color.diff it worked.

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

git-commit: color status output when color.ui is setMarkus Heidelberg Thu, 8 Jan 2009 18:53:01 +0000 (19:53 +0100)

git-commit: color status output when color.ui is set

When using "git commit" and there was nothing to commit (the editor
wasn't launched), the status output wasn't colored, even though color.ui
was set. Only when setting color.status it worked.

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

diff --no-index -q: fix endless loopThomas Rast Wed, 7 Jan 2009 11:15:30 +0000 (12:15 +0100)

diff --no-index -q: fix endless loop

We forgot to move to the next argument when parsing -q, getting stuck
in an endless loop.

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