gitweb.git
http.c: set slot callback members to NULL when releasin... Tay Ray Chuan Wed, 26 Aug 2009 12:20:53 +0000 (20:20 +0800)

http.c: set slot callback members to NULL when releasing object

Set the members callback_func and callback_data of freq->slot to NULL
when releasing a http_object_request. release_active_slot() is also
invoked on the slot to remove the curl handle associated with the slot
from the multi stack (CURLM *curlm in http.c).

These prevent the callback function and data from being used in http
methods (like http.c::finish_active_slot()) after a
http_object_request has been free'd.

Noticed by Ali Polatel, who later tested this patch to verify that it
fixes the problem he saw; Dscho helped to identify the problem spot.

Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint-1.6.3' into maintJunio C Hamano Fri, 28 Aug 2009 03:42:42 +0000 (20:42 -0700)

Merge branch 'maint-1.6.3' into maint

* maint-1.6.3:
Fix overridable written with an extra 'e'
Documentation: git-archive: mark --format as optional in summary
Round-down years in "years+months" relative date view

Merge branch 'maint-1.6.2' into maint-1.6.3Junio C Hamano Fri, 28 Aug 2009 03:42:38 +0000 (20:42 -0700)

Merge branch 'maint-1.6.2' into maint-1.6.3

* maint-1.6.2:
Fix overridable written with an extra 'e'
Documentation: git-archive: mark --format as optional in summary
Round-down years in "years+months" relative date view

Conflicts:
Documentation/git-archive.txt

Fix overridable written with an extra 'e'Nanako Shiraishi Fri, 28 Aug 2009 03:18:49 +0000 (12:18 +0900)

Fix overridable written with an extra 'e'

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

Merge branch 'maint-1.6.1' into maint-1.6.2Junio C Hamano Fri, 28 Aug 2009 03:41:37 +0000 (20:41 -0700)

Merge branch 'maint-1.6.1' into maint-1.6.2

* maint-1.6.1:
Documentation: git-archive: mark --format as optional in summary

Merge branch 'maint-1.6.0' into maint-1.6.1Junio C Hamano Fri, 28 Aug 2009 03:41:31 +0000 (20:41 -0700)

Merge branch 'maint-1.6.0' into maint-1.6.1

* maint-1.6.0:
Documentation: git-archive: mark --format as optional in summary

Documentation: git-archive: mark --format as optional... Wesley J. Landaker Fri, 28 Aug 2009 02:55:43 +0000 (20:55 -0600)

Documentation: git-archive: mark --format as optional in summary

The --format option was made optional in 8ff21b1 (git-archive: make
tar the default format, 2007-04-09), but it was not marked as optional
in the summary. This trival patch just changes the summary to match
the rest of the documentation.

Signed-off-by: Wesley J. Landaker <wjl@icecavern.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint-1.5.6' into maint-1.6.0Junio C Hamano Fri, 28 Aug 2009 03:03:35 +0000 (20:03 -0700)

Merge branch 'maint-1.5.6' into maint-1.6.0

* maint-1.5.6:
revision traversal and pack: notice and die on missing commit

Round-down years in "years+months" relative date viewDavid Reiss Thu, 27 Aug 2009 23:39:38 +0000 (16:39 -0700)

Round-down years in "years+months" relative date view

Previously, a commit from 1 year and 7 months ago would display as
"2 years, 7 months ago".

Signed-off-by: David Reiss <dreiss@facebook.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-log: allow --decorate[=short|full]Lars Hjemli Sat, 15 Aug 2009 14:23:12 +0000 (16:23 +0200)

git-log: allow --decorate[=short|full]

Commit de435ac0 changed the behavior of --decorate from printing the
full ref (e.g., "refs/heads/master") to a shorter, more human-readable
version (e.g., just "master"). While this is nice for human readers,
external tools using the output from "git log" may prefer the full
version.

This patch introduces an extension to --decorate to allow the caller to
specify either the short or the full versions.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Minor improvement to the write-tree documentationDavid Kågedal Wed, 26 Aug 2009 14:04:54 +0000 (16:04 +0200)

Minor improvement to the write-tree documentation

Signed-off-by: David Kågedal <davidk@lysator.liu.se>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-bisect: call the found commit "*the* first bad... Nanako Shiraishi Wed, 26 Aug 2009 08:38:50 +0000 (17:38 +0900)

git-bisect: call the found commit "*the* first bad commit"

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

Merge branch 'js/maint-cover-letter-non-ascii' into... Junio C Hamano Wed, 26 Aug 2009 19:05:57 +0000 (12:05 -0700)

Merge branch 'js/maint-cover-letter-non-ascii' into maint

* js/maint-cover-letter-non-ascii:
Correctly mark cover letters' encodings if they are not pure ASCII
Expose the has_non_ascii() function

Merge branch 'jc/maint-clean-nested-dir-safety' into... Junio C Hamano Wed, 26 Aug 2009 19:05:57 +0000 (12:05 -0700)

Merge branch 'jc/maint-clean-nested-dir-safety' into maint

* jc/maint-clean-nested-dir-safety:
clean: require double -f options to nuke nested git repository and work tree

Merge branch 'jk/maint-merge-msg-fix' into maintJunio C Hamano Wed, 26 Aug 2009 19:05:57 +0000 (12:05 -0700)

Merge branch 'jk/maint-merge-msg-fix' into maint

* jk/maint-merge-msg-fix:
merge: indicate remote tracking branches in merge message
merge: fix incorrect merge message for ambiguous tag/branch
add tests for merge message headings

Merge branch 'jc/apply-epoch-patch' into maintJunio C Hamano Wed, 26 Aug 2009 19:05:57 +0000 (12:05 -0700)

Merge branch 'jc/apply-epoch-patch' into maint

* jc/apply-epoch-patch:
apply: notice creation/removal patches produced by GNU diff

Merge branch 'jp/symlink-dirs' into maintJunio C Hamano Wed, 26 Aug 2009 19:05:57 +0000 (12:05 -0700)

Merge branch 'jp/symlink-dirs' into maint

* jp/symlink-dirs:
t6035-merge-dir-to-symlink depends on SYMLINKS prerequisite
git-checkout: be careful about untracked symlinks
lstat_cache: guard against full match of length of 'name' parameter
Demonstrate bugs when a directory is replaced with a symlink

Merge branch 'maint-1.6.3' into maintJunio C Hamano Wed, 26 Aug 2009 19:05:57 +0000 (12:05 -0700)

Merge branch 'maint-1.6.3' into maint

* maint-1.6.3:
add -p: do not attempt to coalesce mode changes
git add -p: demonstrate failure when staging both mode and hunk

Merge branch 'tr/maint-1.6.3-add-p-modeonly-fix' into... Junio C Hamano Wed, 26 Aug 2009 18:22:00 +0000 (11:22 -0700)

Merge branch 'tr/maint-1.6.3-add-p-modeonly-fix' into maint-1.6.3

* tr/maint-1.6.3-add-p-modeonly-fix:
add -p: do not attempt to coalesce mode changes
git add -p: demonstrate failure when staging both mode and hunk

GIT 1.6.4.1 v1.6.4.1Junio C Hamano Fri, 21 Aug 2009 19:02:25 +0000 (12:02 -0700)

GIT 1.6.4.1

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

Merge branch 'bc/maint-am-email' into maintJunio C Hamano Sat, 22 Aug 2009 01:51:30 +0000 (18:51 -0700)

Merge branch 'bc/maint-am-email' into maint

* bc/maint-am-email:
git-am: print fair error message when format detection fails
am: allow individual e-mail files as input

Merge branch 'jc/maint-merge-recursive-fix' into maintJunio C Hamano Fri, 21 Aug 2009 18:34:24 +0000 (11:34 -0700)

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

* jc/maint-merge-recursive-fix:
merge-recursive: don't segfault while handling rename clashes

Merge branch 'zf/maint-gitweb-acname' into maintJunio C Hamano Fri, 21 Aug 2009 18:34:17 +0000 (11:34 -0700)

Merge branch 'zf/maint-gitweb-acname' into maint

* zf/maint-gitweb-acname:
gitweb: parse_commit_text encoding fix

Merge branch 'np/maint-limit-delta-cache' into maintJunio C Hamano Fri, 21 Aug 2009 18:34:02 +0000 (11:34 -0700)

Merge branch 'np/maint-limit-delta-cache' into maint

* np/maint-limit-delta-cache:
don't let the delta cache grow unbounded in 'git repack'

Merge branch 'jk/maint-show-tag' into maintJunio C Hamano Fri, 21 Aug 2009 18:33:54 +0000 (11:33 -0700)

Merge branch 'jk/maint-show-tag' into maint

* jk/maint-show-tag:
show: add space between multiple items
show: suppress extra newline when showing annotated tag

Merge branch 'sb/maint-pull-rebase' into maintJunio C Hamano Fri, 21 Aug 2009 18:33:08 +0000 (11:33 -0700)

Merge branch 'sb/maint-pull-rebase' into maint

* sb/maint-pull-rebase:
pull: support rebased upstream + fetch + pull --rebase
t5520-pull: Test for rebased upstream + fetch + pull --rebase

filter-branch: make the usage string fit on 80 chars... Matthieu Moy Tue, 18 Aug 2009 09:51:00 +0000 (11:51 +0200)

filter-branch: make the usage string fit on 80 chars terminals.

It used to be a single, huge line, badly wrapped by xterm.

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

filter-branch: add an example how to add ACKs to a... Johannes Schindelin Mon, 17 Aug 2009 20:38:46 +0000 (22:38 +0200)

filter-branch: add an example how to add ACKs to a range of commits

When you have to add certain lines like ACKs (or for that matter,
Signed-off-by:s) to a range of commits starting with HEAD, you might
be tempted to use 'git rebase -i -10', but that is a waste of your
time.

It is better to use 'git filter-branch' with an appropriate message
filter, and this commit adds an example how to do so to
filter-branch's man page.

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

docs: describe impact of repack on "clone -s"Jeff King Mon, 17 Aug 2009 06:19:17 +0000 (02:19 -0400)

docs: describe impact of repack on "clone -s"

The effects of repacking on a repository with alternates are a bit
subtle. The two main things users will want are:

1. Not to waste disk space by accidentally copying objects which could
be shared.

2. Copying all objects explicitly to break the dependency on the source
repo.

This patch describes both under the "clone -s" documentation. It makes
sense to put it there rather than in git-repack.txt for both cases.

For (1), we are warning the user who is using "clone -s" about what _not_
to do, so we need to get their attention when reading about "clone -s".

For (2), we are telling them how git-repack can be used to accomplish a
task, but until they know that git-repack is the right tool, they have no
reason to look at the repack documentation.

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

add -p: do not attempt to coalesce mode changesThomas Rast Sat, 15 Aug 2009 13:56:39 +0000 (15:56 +0200)

add -p: do not attempt to coalesce mode changes

In 0392513 (add-interactive: refactor mode hunk handling, 2009-04-16),
we merged the interaction loops for mode changes and hunk staging.
This was fine at the time, because 0beee4c (git-add--interactive:
remove hunk coalescing, 2008-07-02) removed hunk coalescing.

However, in 7a26e65 (Revert "git-add--interactive: remove hunk
coalescing", 2009-05-16), we resurrected it. Since then, the code
would attempt in vain to merge mode changes with diff hunks,
corrupting both in the process.

We add a check to the coalescing loop to ensure it only looks at diff
hunks, thus skipping mode changes.

Noticed-by: Kirill Smelkov <kirr@mns.spb.ru>
Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git add -p: demonstrate failure when staging both mode... Kirill Smelkov Sat, 15 Aug 2009 12:26:49 +0000 (16:26 +0400)

git add -p: demonstrate failure when staging both mode and hunk

When trying to stage changes to file which has also pending `chmod +x`,
`git add -p` produces lots of 'Use of uninitialized value ...' warnings
and fails to do the job:

$ echo content >> file
$ chmod +x file
$ git add -p
diff --git a/file b/file
index e69de29..d95f3ad
--- a/file
+++ b/file
old mode 100644
new mode 100755
Stage mode change [y,n,q,a,d,/,j,J,g,?]? y
@@ -0,0 +1 @@
+content
Stage this hunk [y,n,q,a,d,/,K,g,e,?]? y
Use of uninitialized value $o_ofs in addition (+) at .../git-add--interactive line 776.
Use of uninitialized value $ofs in numeric le (<=) at .../git-add--interactive line 806.
Use of uninitialized value $o0_ofs in concatenation (.) or string at .../git-add--interactive line 830.
Use of uninitialized value $n0_ofs in concatenation (.) or string at .../git-add--interactive line 830.
Use of uninitialized value $o_ofs in addition (+) at .../git-add--interactive line 776.
fatal: corrupt patch at line 5
diff --git a/file b/file
index e69de29..d95f3ad
--- a/file
+++ b/file
@@ -,0 + @@
+content

Signed-off-by: Kirill Smelkov <kirr@mns.spb.ru>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint-1.6.3' into maintJunio C Hamano Wed, 12 Aug 2009 23:15:55 +0000 (16:15 -0700)

Merge branch 'maint-1.6.3' into maint

* maint-1.6.3:
Change mentions of "git programs" to "git commands"
Documentation: merge: one <remote> is required
help.c: give correct structure's size to memset()

push: point to 'git pull' and 'git push --force' in... Matthieu Moy Sat, 8 Aug 2009 07:51:08 +0000 (09:51 +0200)

push: point to 'git pull' and 'git push --force' in case of non-fast forward

'git push' failing because of non-fast forward is a very common situation,
and a beginner does not necessarily understand "fast forward" immediately.

Add a new section to the git-push documentation and refer them to it.

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

Documentation: add: <filepattern>... is optionalPaul Bolle Tue, 11 Aug 2009 13:03:10 +0000 (15:03 +0200)

Documentation: add: <filepattern>... is optional

<filepattern>... is optional (e.g. when the --all or --update
options are used) so use square brackets in the synopsis.

Signed-off-by: Paul Bolle <pebolle@tiscali.nl>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Change mentions of "git programs" to "git commands"Ori Avtalion Fri, 7 Aug 2009 14:24:21 +0000 (17:24 +0300)

Change mentions of "git programs" to "git commands"

Most of the docs and printouts refer to "commands" when discussing what
the end users call via the "git" top-level program. We should refer them
as "git programs" when we discuss the fact that the commands are
implemented as separate programs, but in other contexts, it is better to
use the term "git commands" consistently.

Signed-off-by: Ori Avtalion <ori@avtalion.name>
Signed-off-by: Nanako Shiraishi <nanako3@lavabit.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Documentation: merge: one <remote> is requiredPaul Bolle Tue, 11 Aug 2009 13:03:58 +0000 (15:03 +0200)

Documentation: merge: one <remote> is required

merge only requires one <remote>, so "<remote>..." should be used in the
synopsis (and not "<remote> <remote>...").

Signed-off-by: Paul Bolle <pebolle@tiscali.nl>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

help.c: give correct structure's size to memset()Johan Herland Tue, 11 Aug 2009 10:10:21 +0000 (12:10 +0200)

help.c: give correct structure's size to memset()

These two structures are of the same type, but we'd better be consistent.

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

Merge branch 'maint-1.6.3' into maintJunio C Hamano Tue, 11 Aug 2009 05:23:48 +0000 (22:23 -0700)

Merge branch 'maint-1.6.3' into maint

* maint-1.6.3:
Fix typos in git-remote.txt and git-symbolic-ref.txt

Fix typos in git-remote.txt and git-symbolic-ref.txtŠtěpán Němec Tue, 11 Aug 2009 00:52:07 +0000 (02:52 +0200)

Fix typos in git-remote.txt and git-symbolic-ref.txt

Signed-off-by: Štěpán Němec <stepnem@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-am: print fair error message when format detection... Nicolas Sebrecht Fri, 7 Aug 2009 01:08:13 +0000 (20:08 -0500)

git-am: print fair error message when format detection fails

Avoid git ending with this message:
"Patch format is not supported."

With improved error message in the format detection failure case by
Giuseppe Bilotta.

Signed-off-by: Nicolas Sebrecht <ni.s@laposte.net>
Signed-off-by: Brandon Casey <drafnel@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

am: allow individual e-mail files as inputJunio C Hamano Fri, 7 Aug 2009 01:08:12 +0000 (20:08 -0500)

am: allow individual e-mail files as input

We traditionally allowed a mbox file or a directory name of a maildir (but
never an individual file inside a maildir) to be given to "git am". Even
though an individual file in a maildir (or more generally, a piece of
RFC2822 e-mail) is not a mbox file, it contains enough information to
create a commit out of it, so there is no reason to reject one. Running
mailsplit on such a file feels stupid, but it does not hurt.

This builds on top of a5a6755 (git-am foreign patch support: introduce
patch_format, 2009-05-27) that introduced mailbox format detection. The
codepath to deal with a mbox requires it to begin with "From " line and
also allows it to begin with "From: ", but a random piece of e-mail can
and often do begin with any valid RFC2822 header lines.

Instead of checking the first line, we extract all the lines up to the
first empty line, and make sure they look like e-mail headers.

A test is added to t4150 to demonstrate this feature.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Brandon Casey <drafnel@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Correctly mark cover letters' encodings if they are... Johannes Schindelin Mon, 10 Aug 2009 16:22:22 +0000 (18:22 +0200)

Correctly mark cover letters' encodings if they are not pure ASCII

If your name is, say, Üwë, you want your cover letters to appear
correctly. Convince format-patch to mark it as 8-bit.

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

Expose the has_non_ascii() functionJohannes Schindelin Mon, 10 Aug 2009 16:22:18 +0000 (18:22 +0200)

Expose the has_non_ascii() function

This function is useful outside of log-tree.c, too.

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

git-instaweb: fix mod_perl detection for apache2Mark A Rada Sat, 8 Aug 2009 22:24:02 +0000 (18:24 -0400)

git-instaweb: fix mod_perl detection for apache2

The script was looking for something that matched the '^our $gitbin'
regex, which no longer exists in gitweb.cgi.

Now it looks for 'MOD_PERL', which should be on the line that checks
to see if the script is running in a mod_perl environment.

Signed-off-by: Mark Rada <marada@uwaterloo.ca>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

merge: indicate remote tracking branches in merge messageJeff King Sun, 9 Aug 2009 10:02:51 +0000 (06:02 -0400)

merge: indicate remote tracking branches in merge message

Previously when merging directly from a local tracking
branch like:

git merge origin/master

The merge message said:

Merge commit 'origin/master'

* commit 'origin/master':
...

Instead, let's be more explicit about what we are merging:

Merge remote branch 'origin/master'

* origin/master:
...

We accomplish this by recognizing remote tracking branches
in git-merge when we build the simulated FETCH_HEAD output
that we feed to fmt-merge-msg.

In addition to a new test in t7608, we have to tweak the
expected output of t3409, which does such a merge.

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

merge: fix incorrect merge message for ambiguous tag... Jeff King Sun, 9 Aug 2009 10:02:24 +0000 (06:02 -0400)

merge: fix incorrect merge message for ambiguous tag/branch

If we have both a tag and a branch named "foo", then calling
"git merge foo" will warn about the ambiguous ref, but merge
the tag.

When generating the commit message, though, we simply
checked whether "refs/heads/foo" existed, and if it did,
assumed it was a branch. This led to the statement "Merge
branch 'foo'" in the commit message, which is quite wrong.

Instead, we should use dwim_ref to find the actual ref used,
and describe it appropriately.

In addition to the test in t7608, we must also tweak the
expected output of t4202, which was accidentally triggering
this bug.

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

add tests for merge message headingsJeff King Sun, 9 Aug 2009 10:01:48 +0000 (06:01 -0400)

add tests for merge message headings

When calling "git merge $X", we automatically generate a
commit message containing something like "Merge branch
'$X'". This test script checks that those messages say what
they should, and exposes a failure when merging a refname
that is ambiguous between a tag and a branch.

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

t6035-merge-dir-to-symlink depends on SYMLINKS prerequisiteJohannes Sixt Sun, 9 Aug 2009 15:35:02 +0000 (17:35 +0200)

t6035-merge-dir-to-symlink depends on SYMLINKS prerequisite

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

Merge branch 'maint-1.6.3' into maintJunio C Hamano Sat, 8 Aug 2009 03:44:26 +0000 (20:44 -0700)

Merge branch 'maint-1.6.3' into maint

* maint-1.6.3:
verify-pack -v: do not report "chain length 0"
t5510: harden the way verify-pack is used

Merge branch 'maint-1.6.2' into maint-1.6.3Junio C Hamano Sat, 8 Aug 2009 03:44:15 +0000 (20:44 -0700)

Merge branch 'maint-1.6.2' into maint-1.6.3

* maint-1.6.2:
verify-pack -v: do not report "chain length 0"
t5510: harden the way verify-pack is used

Merge branch 'maint-1.6.1' into maint-1.6.2Junio C Hamano Sat, 8 Aug 2009 03:44:09 +0000 (20:44 -0700)

Merge branch 'maint-1.6.1' into maint-1.6.2

* maint-1.6.1:
verify-pack -v: do not report "chain length 0"
t5510: harden the way verify-pack is used

Merge branch 'maint-1.6.0' into maint-1.6.1Junio C Hamano Sat, 8 Aug 2009 03:44:02 +0000 (20:44 -0700)

Merge branch 'maint-1.6.0' into maint-1.6.1

* maint-1.6.0:
verify-pack -v: do not report "chain length 0"
t5510: harden the way verify-pack is used

verify-pack -v: do not report "chain length 0"Junio C Hamano Fri, 7 Aug 2009 22:36:31 +0000 (15:36 -0700)

verify-pack -v: do not report "chain length 0"

When making a histogram of delta chain length in the pack, the program
collects number of objects whose delta depth exceeds the MAX_CHAIN limit
in histogram[0], and showed it as the number of items that exceeds the
limit correctly. HOWEVER, it also showed the same number labeled as
"chain length = 0".

In fact, we are not showing the number of objects whose chain length is
zero, i.e. the base objects. Correct this.

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

t5510: harden the way verify-pack is usedJunio C Hamano Sat, 8 Aug 2009 03:12:13 +0000 (20:12 -0700)

t5510: harden the way verify-pack is used

The test ignored the exit status from verify pack command, and also relied
on not seeing any delta chain statistics.

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

don't let the delta cache grow unbounded in 'git repack'Nicolas Pitre Wed, 5 Aug 2009 20:55:07 +0000 (16:55 -0400)

don't let the delta cache grow unbounded in 'git repack'

I have 4GB of RAM on my system which should, in theory, be quite enough
to repack a 600 MB repository. However the unbounded delta cache size
always pushes it into swap, at which point everything virtually comes to
a halt. So unbounded caches are never a good idea.

A default of 256MB should be a good compromize between memory usage and
speed where medium sized repositories are still likely to fit in the
cache with a reasonable memory usage, and larger repositories are going
to take quite some time to repack already anyway.

While at it, clarify the associated config variable documentation
entries a bit.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint-1.6.3' into maintJunio C Hamano Wed, 5 Aug 2009 19:37:24 +0000 (12:37 -0700)

Merge branch 'maint-1.6.3' into maint

* maint-1.6.3:
Better usage string for reflog.
hg-to-git: don't import the unused popen2 module
send-email: remove debug trace
config: Keep inner whitespace verbatim

gitweb: parse_commit_text encoding fixZoltán Füzesi Sun, 2 Aug 2009 07:42:24 +0000 (09:42 +0200)

gitweb: parse_commit_text encoding fix

Call to_utf8 when parsing author and committer names, otherwise they will appear
with bad encoding if they written by using chop_and_escape_str.

Signed-off-by: Zoltán Füzesi <zfuzesi@eaglet.hu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

gitweb/README: Document $base_urlJakub Narebski Tue, 4 Aug 2009 15:54:32 +0000 (17:54 +0200)

gitweb/README: Document $base_url

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

Documentation: git submodule: add missing options to... Jens Lehmann Sat, 1 Aug 2009 18:49:47 +0000 (20:49 +0200)

Documentation: git submodule: add missing options to synopsis

The option --merge was missing for submodule update and --cached for
submodule summary.

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

Better usage string for reflog.Matthieu Moy Wed, 5 Aug 2009 15:36:28 +0000 (17:36 +0200)

Better usage string for reflog.

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

hg-to-git: don't import the unused popen2 moduleMiklos Vajna Mon, 3 Aug 2009 16:41:34 +0000 (18:41 +0200)

hg-to-git: don't import the unused popen2 module

Importing the popen2 module in Python-2.6 results in the
"DeprecationWarning: The popen2 module is deprecated. Use the
subprocess module." message. The module itself isn't used in fact, so
just removing it solves the problem.

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

send-email: remove debug traceErik Faye-Lund Tue, 4 Aug 2009 21:57:34 +0000 (21:57 +0000)

send-email: remove debug trace

Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>

config: Keep inner whitespace verbatimBjörn Steinbrink Thu, 30 Jul 2009 11:41:57 +0000 (13:41 +0200)

config: Keep inner whitespace verbatim

Configuration values are expected to be quoted when they have leading or
trailing whitespace, but inner whitespace should be kept verbatim even if
the value is not quoted. This is already documented in git-config(1), but
the code caused inner whitespace to be collapsed to a single space,
breaking, for example, clones from a path that has two consecutive spaces
in it, as future fetches would only see a single space.

Reported-by: John te Bokkel <tanj.tanj@gmail.com>
Signed-off-by: Björn Steinbrink <B.Steinbrink@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

merge-recursive: don't segfault while handling rename... Junio C Hamano Fri, 31 Jul 2009 00:38:15 +0000 (17:38 -0700)

merge-recursive: don't segfault while handling rename clashes

When a branch moves A to B while the other branch created B (or moved C to
B), the code tried to rename one of them to B~something to preserve both
versions, and failed to register temporary resolution for the original
path B at stage#0 during virtual ancestor computation. This left the
index in unmerged state and caused a segfault.

A better solution is to merge these two versions of B's in place and use
the (potentially conflicting) result as the intermediate merge result in
the virtual ancestor.

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

git-checkout: be careful about untracked symlinksLinus Torvalds Thu, 30 Jul 2009 03:22:25 +0000 (20:22 -0700)

git-checkout: be careful about untracked symlinks

This fixes the case where an untracked symlink that points at a directory
with tracked paths confuses the checkout logic, demostrated in t6035.

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

lstat_cache: guard against full match of length of... Kjetil Barvik Sun, 14 Jun 2009 13:08:28 +0000 (15:08 +0200)

lstat_cache: guard against full match of length of 'name' parameter

longest_path_match() in symlinks.c does exactly what it's name says,
but in some cases that match can be too long, since the
has_*_leading_path() functions assumes that the match will newer be as
long as the name string given to the function.

fix this by adding an extra if test which checks if the match length
is equal to the 'len' parameter.

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

Demonstrate bugs when a directory is replaced with... Pickens, James E Wed, 29 Jul 2009 21:02:39 +0000 (14:02 -0700)

Demonstrate bugs when a directory is replaced with a symlink

This test creates two directories, a/b and a/b-2, then replaces a/b with
a symlink to a/b-2, then merges that change into the 'baseline' commit,
which contains an unrelated change.

There are two bugs:
1. 'git checkout' incorrectly deletes work tree file a/b-2/d.
2. 'git merge' incorrectly deletes work tree file a/b-2/d.

The test goes on to create another branch in which a/b-2 is replaced
with a symlink to a/b (i.e., the reverse of what was done the first
time), and merge it into the 'baseline' commit.

There is a different bug:
3. The merge should be clean, but git reports a conflict.

Signed-off-by: James Pickens <james.e.pickens@intel.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

clean: require double -f options to nuke nested git... Junio C Hamano Tue, 30 Jun 2009 22:33:45 +0000 (15:33 -0700)

clean: require double -f options to nuke nested git repository and work tree

When you have an embedded git work tree in your work tree (be it
an orphaned submodule, or an independent checkout of an unrelated
project), "git clean -d -f" blindly descended into it and removed
everything. This is rarely what the user wants.

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

GIT 1.6.4 v1.6.4Junio C Hamano Wed, 29 Jul 2009 07:32:42 +0000 (00:32 -0700)

GIT 1.6.4

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

Sync with 1.6.3.4Junio C Hamano Wed, 29 Jul 2009 07:00:56 +0000 (00:00 -0700)

Sync with 1.6.3.4

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

GIT 1.6.3.4 v1.6.3.4Junio C Hamano Wed, 29 Jul 2009 06:52:58 +0000 (23:52 -0700)

GIT 1.6.3.4

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

config.txt: document add.ignore-errorsStephen Boyd Sun, 31 May 2009 05:08:02 +0000 (22:08 -0700)

config.txt: document add.ignore-errors

Use the description of "--ignore-errors" from git-add.txt as
inspiration.

Signed-off-by: Stephen Boyd <bebarino@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

request-pull: allow ls-remote to notice remote.$nicknam... Tom Grennan Wed, 29 Jul 2009 01:30:02 +0000 (18:30 -0700)

request-pull: allow ls-remote to notice remote.$nickname.uploadpack

The location to pull from should be converted from the configured nickname
to URL in the message, but ls-remote should be fed the nickname so that
the command uses remote.$nickname.* variables, most notably "uploadpack".

Signed-off-by: Tom Grennan <tgrennan@redback.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Update the documentation of the raw diff output formatDavid Kågedal Tue, 28 Jul 2009 08:32:18 +0000 (10:32 +0200)

Update the documentation of the raw diff output format

This includes mentioning the initial hash output of diff-tree, and
changes the header to "raw output format" which is more descriptive.

Signed-off-by: David Kågedal <davidk@lysator.liu.se>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-rerere.txt: Clarify ambiguity of the config variableMichael J Gruber Tue, 28 Jul 2009 14:42:15 +0000 (16:42 +0200)

git-rerere.txt: Clarify ambiguity of the config variable

Use the less ambiguous
"set variable foo in order to enable bar"
rather than
"set variable foo to enable bar" which may trick users into
assuming that "enable" is a good value for "foo".

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

t9143: do not fail if Compress::Zlib is missingEric Wong Sun, 26 Jul 2009 10:01:52 +0000 (03:01 -0700)

t9143: do not fail if Compress::Zlib is missing

"git svn gc" will not compress unhandled.log files if
Compress::Zlib is missing. However, leftover index files should
always be removed, so add a test for this behavior as well.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Trivial path quoting fixes in git-instawebSean Estabrooks Sat, 18 Jul 2009 16:45:44 +0000 (09:45 -0700)

Trivial path quoting fixes in git-instaweb

Bodo Schlecht noticed that Instaweb didn't propely quote all
path instances in the Apache config file it generated.

Acked-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'gp/maint-rebase-p-onto'Junio C Hamano Sun, 26 Jul 2009 18:24:13 +0000 (11:24 -0700)

Merge branch 'gp/maint-rebase-p-onto'

* gp/maint-rebase-p-onto:
Fix rebase -p --onto

Merge branch 'en/fast-export'Junio C Hamano Sun, 26 Jul 2009 18:23:52 +0000 (11:23 -0700)

Merge branch 'en/fast-export'

* en/fast-export:
fast-export: Document the fact that git-rev-list arguments are accepted
Add new fast-export testcases
fast-export: Add a --tag-of-filtered-object option for newly dangling tags
fast-export: Do parent rewriting to avoid dropping relevant commits
fast-export: Make sure we show actual ref names instead of "(null)"
fast-export: Omit tags that tag trees
fast-export: Set revs.topo_order before calling setup_revisions

GIT 1.6.4-rc3 v1.6.4-rc3Junio C Hamano Sun, 26 Jul 2009 07:04:50 +0000 (00:04 -0700)

GIT 1.6.4-rc3

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

Documentation/config.txt: a variable can be defined... Nanako Shiraishi Sat, 25 Jul 2009 00:28:50 +0000 (09:28 +0900)

Documentation/config.txt: a variable can be defined on the section header line

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

Merge git://git.bogomips.org/git-svnJunio C Hamano Sun, 26 Jul 2009 05:54:03 +0000 (22:54 -0700)

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

* git://git.bogomips.org/git-svn:
git svn: make minimize URL more reliable over http(s)
git svn: avoid escaping '/' when renaming/copying files
t9142: stop httpd after the test
git svn: the branch command no longer needs the full path
git svn: revert default behavior for --minimize-url
git svn: add gc command

git svn: make minimize URL more reliable over http(s)Eric Wong Sat, 25 Jul 2009 20:14:16 +0000 (13:14 -0700)

git svn: make minimize URL more reliable over http(s)

In addition to path-based restrictions, Subversion servers over
http(s) may have access controls implemented via the LimitExcept
directive in Apache. In some cases, LimitExcept may be
(arguably) misconfigured to not allow REPORT requests while
allowing OPTIONS and PROPFIND.

This caused problems with our existing minimize_url logic that
only issued OPTIONS and PROPFIND requests when connecting and
using SVN::Ra::get_latest_revnum. We now call SVN::Ra::get_log
if get_latest_revnum succeeds, resulting in a REPORT request
being sent. This will increase our chances of tripping access
controls before we start attempting to fetch history.

Signed-off-by: Eric Wong <normalperson@yhbt.net>

Disable asciidoc 8.4.1+ semantics for `{plus}` and... Thomas Rast Sat, 25 Jul 2009 12:06:50 +0000 (14:06 +0200)

Disable asciidoc 8.4.1+ semantics for `{plus}` and friends

asciidoc 8.4.1 changed the semantics of inline backtick quoting so
that they disable parsing of inline constructs, i.e.,

Input: `{plus}`
Pre 8.4.1: +
Post 8.4.1: {plus}

Fix this by defining the asciidoc attribute 'no-inline-literal'
(which, per the 8.4.1 changelog, is the toggle to return to the old
behaviour) when under ASCIIDOC8.

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

git svn: avoid escaping '/' when renaming/copying filesEric Wong Sat, 25 Jul 2009 09:29:28 +0000 (02:29 -0700)

git svn: avoid escaping '/' when renaming/copying files

Timothy Schaeffer reported the following:
> Git-svn has been giving me the following error for some time
> when calling "git svn dcommit":
>
> RA layer request failed: PROPFIND request failed on
> '/svn/stf/branches/dev/sw%2Fdpemu%2Finclude%2FNetCnxn.h': PROPFIND of
> '/svn/stf/branches/dev/sw%2Fdpemu%2Finclude%2FNetCnxn.h': 302 Found
> (https://oursvnrepo.net) at /usr/local/libexec/git-core/git-svn line 508
>
> This only occurred when git detected a rename or copy.
>
> Following the lead into git-svn.perl,
> and noticing that some of the '/'s in the path were hex-encoded
> and some were not,
> I changed the regex used to find chars
> to hex-encode in the relative part of the path
> to exclude '/'.
> It works, so far.
> I have included a patch.

While this has previous not been a problem in my experience,
newer versions of SVN may be stricter and this does not
introduce regressions in t9115.

Signed-off-by: Eric Wong <normalperson@yhbt.net>

t9142: stop httpd after the testEric Wong Sat, 25 Jul 2009 09:11:39 +0000 (02:11 -0700)

t9142: stop httpd after the test

Otherwise it would fail in subsequent runs if the same
SVN_HTTPD_PORT was used.

Signed-off-by: Eric Wong <normalperson@yhbt.net>

git svn: the branch command no longer needs the full... Eric Wong Sat, 25 Jul 2009 08:36:06 +0000 (01:36 -0700)

git svn: the branch command no longer needs the full path

This was introduced in 0b2af457a49e3b00d47d556d5301934d27909db8
("Fix branch detection when repository root is inaccessible")
but reintroduced in the previous commit.

Signed-off-by: Eric Wong <normalperson@yhbt.net>

git svn: revert default behavior for --minimize-urlEric Wong Sat, 25 Jul 2009 07:00:50 +0000 (00:00 -0700)

git svn: revert default behavior for --minimize-url

This reverts the --minimize-url behavior change that
appeared recently in commit 0b2af457a49e3b00d47d556d5301934d27909db8
("Fix branch detection when repository root is inaccessible").

However, we now allow the option to be turned off by allowing
"--no-minimize-url" so people with limited-access setups can
still take advantage of the fix in
0b2af457a49e3b00d47d556d5301934d27909db8.

Also document the behavior and default settings of minimize-url
in the manpage for the first time.

This introduces a temporary UI regression to allow t9141 to pass
that will be reverted (fixed) in the next commit.

Signed-off-by: Eric Wong <normalperson@yhbt.net>

git svn: add gc commandRobert Allan Zeh Sun, 19 Jul 2009 23:00:52 +0000 (18:00 -0500)

git svn: add gc command

Add a git svn gc command that gzips all unhandled.log files, and
removes all index files under .git/svn.

Signed-off-by: Robert Allan Zeh <robert.a.zeh@gmail.com>
Signed-off-by: Eric Wong <normalperson@yhbt.net>

Merge branch 'maint'Junio C Hamano Sat, 25 Jul 2009 09:16:25 +0000 (02:16 -0700)

Merge branch 'maint'

* maint:
t8005: Nobody writes Russian in shift_jis

Conflicts:
t/t8005-blame-i18n.sh

t8005: Nobody writes Russian in shift_jisJunio C Hamano Fri, 19 Jun 2009 02:18:37 +0000 (19:18 -0700)

t8005: Nobody writes Russian in shift_jis

The second and third tests of this script expected that Russian strings
are converted between ISO-8859-5 and Shift_JIS in the "blame --porcelain"
format output correctly.

Sure, many platforms may convert between such a combination, but that is
only because one of the base character set of Shift_JIS, JIS X 0208,
defines codepoints for Russian characters (among others); I do not think
anybody uses Shift_JIS when seriously writing Russian, and it is perfectly
understandable if iconv() libraries on some platforms fail converting
between this combination, as it does not matter in reality.

This patch changes the test to verify Japanese strings are converted
correctly between EUC-JP and Shift_JIS in the same procedure. The point
of the test is not about verifying the platform's iconv() library, but to
see if "git blame" makes correct iconv() library calls when it should.

We could instead use ISO-8859-5 and KOI8-R as the combination, because
they are both meant to represent Russian, in order to make this test
meaningful on more platforms, but we already use Shift_JIS vs EUC-JP
combinations to test other programs in our test suite, so this combination
is safer from the point of view of the portability. Besides, I do not
read nor write Russian; sorry ;-)

This change allows tests to pass on my (friend's) Solaris 5.11 box.

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

Merge branch 'maint'Junio C Hamano Sat, 25 Jul 2009 08:31:53 +0000 (01:31 -0700)

Merge branch 'maint'

* maint:
Fix severe breakage in "git-apply --whitespace=fix"

Fix severe breakage in "git-apply --whitespace=fix"Junio C Hamano Sat, 25 Jul 2009 08:29:20 +0000 (01:29 -0700)

Fix severe breakage in "git-apply --whitespace=fix"

735c674 (Trailing whitespace and no newline fix, 2009-07-22) completely
broke --whitespace=fix, causing it to lose all the empty lines in a patch.

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

Update release notes for 1.6.4Junio C Hamano Sat, 25 Jul 2009 07:51:21 +0000 (00:51 -0700)

Update release notes for 1.6.4

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

Merge branch 'js/maint-graft-unhide-true-parents'Junio C Hamano Sat, 25 Jul 2009 07:45:03 +0000 (00:45 -0700)

Merge branch 'js/maint-graft-unhide-true-parents'

* js/maint-graft-unhide-true-parents:
git repack: keep commits hidden by a graft
Add a test showing that 'git repack' throws away grafted-away parents

Conflicts:
git-repack.sh

Merge branch 'av/maint-config-reader'Junio C Hamano Sat, 25 Jul 2009 07:44:52 +0000 (00:44 -0700)

Merge branch 'av/maint-config-reader'

* av/maint-config-reader:
After renaming a section, print any trailing variable definitions
Make section_name_match start on '[', and return the length on success

Merge branch 'jk/maint-send-email-alias-loop'Junio C Hamano Sat, 25 Jul 2009 07:44:45 +0000 (00:44 -0700)

Merge branch 'jk/maint-send-email-alias-loop'

* jk/maint-send-email-alias-loop:
send-email: detect cycles in alias expansion

After renaming a section, print any trailing variable... Alex Vandiver Fri, 24 Jul 2009 21:21:44 +0000 (17:21 -0400)

After renaming a section, print any trailing variable definitions

Signed-off-by: Alex Vandiver <alex@chmrr.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Make section_name_match start on '[', and return the... Alex Vandiver Fri, 24 Jul 2009 21:21:43 +0000 (17:21 -0400)

Make section_name_match start on '[', and return the length on success

Signed-off-by: Alex Vandiver <alex@chmrr.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

send-email: detect cycles in alias expansionJeff King Thu, 23 Jul 2009 11:09:29 +0000 (07:09 -0400)

send-email: detect cycles in alias expansion

With the previous code, an alias cycle like:

$ echo 'alias a b' >aliases
$ echo 'alias b a' >aliases
$ git config sendemail.aliasesfile aliases
$ git config sendemail.aliasfiletype mutt

would put send-email into an infinite loop. This patch
detects the situation and complains to the user.

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