gitweb.git
git-gui: When calling post-commit hook wrong variable... Jens Lehmann Mon, 30 Mar 2009 18:35:57 +0000 (20:35 +0200)

git-gui: When calling post-commit hook wrong variable was cleared.

Before calling the post-commit hook, the variable "pc_err" is cleared
while later only "pch_error" is used. "pch_error$cmt_id" only appeared in
"upvar"-Statements (which were changed to "global") and was removed.

Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

git-gui: use `git --html-path` to get the location... Markus Heidelberg Sun, 5 Apr 2009 01:48:21 +0000 (03:48 +0200)

git-gui: use `git --html-path` to get the location of installed HTML docs

Previously a hardcoded path $GIT_EXEC_PATH/../Documentation/ was used to
search for the documentation, when the user has asked for it via menu
"Help -> Online Documentation".
This didn't work for the default directory structure.

To find the path reliably, use the new git command line option, which
returns the correct path.

If the output of `git --html-path` is empty because git is not found or
the option is not yet supported in the installed git, the documentation
from kernel.org is launched. There is no additional guessing of the
right location of the installed docs.

Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

bash completion: Update 'git am' optionsTodd Zullinger Sun, 5 Apr 2009 16:33:38 +0000 (12:33 -0400)

bash completion: Update 'git am' options

This adds --committer-date-is-author-date, --ignore-date, and --no-utf8
options. The --binary option is removed, as it was made a no-op by
cb3a160. The option list is also sorted alphabetically.

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

git remote update: New option --pruneFinn Arne Gangstad Fri, 3 Apr 2009 09:03:44 +0000 (11:03 +0200)

git remote update: New option --prune

With the --prune (or -p) option, git remote update will also prune
all the remotes that it fetches. Previously, you had to do a manual
git remote prune <remote> for each of the remotes you wanted to
prune, and this could be tedious with many remotes.

A single command will now update a set of remotes, and remove all
stale branches: git remote update -p [group]

Signed-off-by: Finn Arne Gangstad <finnag@pvv.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

builtin-remote.c: Split out prune_remote as a separate... Finn Arne Gangstad Fri, 3 Apr 2009 09:02:37 +0000 (11:02 +0200)

builtin-remote.c: Split out prune_remote as a separate function.

prune_remote will be used in update(), so this function was split
out to avoid code duplication.

Signed-off-by: Finn Arne Gangstad <finnag@pvv.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

bisect--helper: string output variables together with... Christian Couder Mon, 30 Mar 2009 04:59:59 +0000 (06:59 +0200)

bisect--helper: string output variables together with "&&"

When doing:

eval "git bisect--helper --next-vars" | {
while read line
do
echo "$line &&"
done
echo ':'
}

the result code comes from the last "echo ':'", not from running
"git bisect--helper --next-vars".

This patch gets rid of the need to string together the line from
the output of "git bisect--helper" with "&&" in the calling script
by making "git bisect--helper --next-vars" return output variables
already in that format.

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

rev-list: pass "int flags" as last argument of "show_bi... Christian Couder Sun, 29 Mar 2009 09:55:43 +0000 (11:55 +0200)

rev-list: pass "int flags" as last argument of "show_bisect_vars"

Instead of "int show_all, int show_tried" we now only pass "int flags",
because we will add one more flag in a later patch.

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

t6030: test bisecting with pathsChristian Couder Sun, 29 Mar 2009 09:45:01 +0000 (11:45 +0200)

t6030: test bisecting with paths

This patch adds some tests to check that "git bisect" works fine when
passing paths to "git bisect start" to reduce the number of
bisection steps.

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

bisect: use "bisect--helper" and remove "filter_skipped... Christian Couder Thu, 26 Mar 2009 04:56:02 +0000 (05:56 +0100)

bisect: use "bisect--helper" and remove "filter_skipped" function

Use the new "git bisect--helper" builtin. It should be faster and
safer instead of the old "filter_skipped" shell function. And it
is a first step to move more shell code to C.

As the output is a little bit different we have to change the code
that interpret the results. But these changes improve code clarity.

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

bisect: implement "read_bisect_paths" to read paths... Christian Couder Thu, 26 Mar 2009 04:55:59 +0000 (05:55 +0100)

bisect: implement "read_bisect_paths" to read paths in "$GIT_DIR/BISECT_NAMES"

This is needed because "git bisect--helper" must read bisect paths
in "$GIT_DIR/BISECT_NAMES", so that a bisection can be performed only
on commits that touches paths in this file.

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

bisect--helper: implement "git bisect--helper"Christian Couder Thu, 26 Mar 2009 04:55:54 +0000 (05:55 +0100)

bisect--helper: implement "git bisect--helper"

This patch implements a new "git bisect--helper" builtin plumbing
command that will be used to migrate "git-bisect.sh" to C.

We start by implementing only the "--next-vars" option that will
read bisect refs from "refs/bisect/", and then compute the next
bisect step, and output shell variables ready to be eval'ed by
the shell.

At this step, "git bisect--helper" ignores the paths that may
have been put in "$GIT_DIR/BISECT_NAMES". This will be fixed in a
later patch.

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

bisect: use the new generic "sha1_pos" function to... Christian Couder Sat, 4 Apr 2009 20:59:36 +0000 (22:59 +0200)

bisect: use the new generic "sha1_pos" function to lookup sha1

instead of the specific one that was simpler but less efficient.

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

rev-list: call new "filter_skip" functionChristian Couder Thu, 26 Mar 2009 04:55:49 +0000 (05:55 +0100)

rev-list: call new "filter_skip" function

This patch implements a new "filter_skip" function in C in
"bisect.c" that will later replace the existing implementation in
shell in "git-bisect.sh".

An array is used to store the skipped commits. But the array is
not yet fed anything.

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

Merge branch 'maint'Junio C Hamano Sun, 5 Apr 2009 08:17:08 +0000 (01:17 -0700)

Merge branch 'maint'

* maint:
git submodule: fix usage line
doc/git-pack-refs: fix two grammar issues
commit: abort commit if interactive add failed
git-repack: use non-dashed update-server-info

git submodule: fix usage lineJulien Danjou Tue, 31 Mar 2009 15:50:12 +0000 (17:50 +0200)

git submodule: fix usage line

Actually, you have to set the -b option after the add command.

Signed-off-by: Julien Danjou <julien@danjou.info>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint-1.6.1' into maintJunio C Hamano Sun, 5 Apr 2009 08:04:54 +0000 (01:04 -0700)

Merge branch 'maint-1.6.1' into maint

* maint-1.6.1:
commit: abort commit if interactive add failed
git-repack: use non-dashed update-server-info

Merge branch 'maint-1.6.0' into maint-1.6.1Junio C Hamano Sun, 5 Apr 2009 08:04:38 +0000 (01:04 -0700)

Merge branch 'maint-1.6.0' into maint-1.6.1

* maint-1.6.0:
commit: abort commit if interactive add failed
git-repack: use non-dashed update-server-info

Conflicts:
builtin-commit.c

doc/git-pack-refs: fix two grammar issuesMarkus Heidelberg Sat, 4 Apr 2009 10:35:22 +0000 (12:35 +0200)

doc/git-pack-refs: fix two grammar issues

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

tests: remove exit after test_done callJeff King Fri, 3 Apr 2009 19:31:10 +0000 (15:31 -0400)

tests: remove exit after test_done call

test_done always exits, so this line is never executed.

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

commit: abort commit if interactive add failedJeff King Fri, 3 Apr 2009 19:28:56 +0000 (15:28 -0400)

commit: abort commit if interactive add failed

Previously we ignored the result of calling add_interactive,
which meant that if an error occurred we simply committed
whatever happened to be in the index.

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

simplify output of conflicting mergeClemens Buchacher Sun, 5 Apr 2009 00:47:00 +0000 (02:47 +0200)

simplify output of conflicting merge

This simplifies the code without changing the semantics and removes
the unhelpful "needs $sha1" part of the conflicting submodule message.

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

update cache for conflicting submodule entriesClemens Buchacher Sun, 5 Apr 2009 00:46:59 +0000 (02:46 +0200)

update cache for conflicting submodule entries

When merging merge bases during a recursive merge we do not want to
leave any unmerged entries. Otherwise we cannot create a temporary
tree for the recursive merge to work with.

We failed to do so in case of a submodule conflict between merge
bases, causing a NULL pointer dereference in the next step of the
recursive merge.

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

add tests for merging with submodulesClemens Buchacher Sun, 5 Apr 2009 00:46:58 +0000 (02:46 +0200)

add tests for merging with submodules

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

bisect: improve error message when branch checkout... Christian Couder Sat, 4 Apr 2009 20:02:26 +0000 (22:02 +0200)

bisect: improve error message when branch checkout fails

In "git-bisect.sh" the "git checkout" command is only used to
change the current branch, but it is used like this:

git checkout "$branch"

which will output the following misleading error message when
it fails:

error: pathspec 'foo' did not match any file(s) known to git.

This patch change the way we use "git checkout" like this:

git checkout "$branch" --

so that we will get the following error message:

fatal: invalid reference: foo

which is better.

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

git-repack: use non-dashed update-server-infoDan McGee Sat, 4 Apr 2009 16:59:55 +0000 (11:59 -0500)

git-repack: use non-dashed update-server-info

Signed-off-by: Dan McGee <dpmcgee@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

add --html-path to get the location of installed HTML... Markus Heidelberg Sun, 5 Apr 2009 02:15:16 +0000 (04:15 +0200)

add --html-path to get the location of installed HTML docs

This can be used in GUIs to open installed HTML documentation in the
browser.

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

Merge branch 'cc/sha1-bsearch' into HEADJunio C Hamano Sun, 5 Apr 2009 06:04:50 +0000 (23:04 -0700)

Merge branch 'cc/sha1-bsearch' into HEAD

* cc/sha1-bsearch: (95 commits)
patch-ids: use the new generic "sha1_pos" function to lookup sha1
sha1-lookup: add new "sha1_pos" function to efficiently lookup sha1
Update draft release notes to 1.6.3
GIT 1.6.2.2
send-email: ensure quoted addresses are rfc2047 encoded
send-email: correct two tests which were going interactive
Documentation: git-svn: fix trunk/fetch svn-remote key typo
Mailmap: Allow empty email addresses to be mapped
Cleanup warning about known issues in cvsimport documentation
Documentation: Remove an odd "instead"
send-email: ask_default should apply to all emails, not just the first
send-email: don't attempt to prompt if tty is closed
fix portability problem with IS_RUN_COMMAND_ERR
Documentation: use "spurious .sp" XSLT if DOCBOOK_SUPPRESS_SP is set
mailmap: resurrect lower-casing of email addresses
builtin-clone.c: no need to strdup for setenv
builtin-clone.c: make junk_pid static
git-svn: add a double quiet option to hide git commits
Update draft release notes to 1.6.2.2
Documentation: push.default applies to all remotes
...

patch-ids: use the new generic "sha1_pos" function... Christian Couder Sat, 4 Apr 2009 20:59:31 +0000 (22:59 +0200)

patch-ids: use the new generic "sha1_pos" function to lookup sha1

instead of the specific one from which the new one has been copied.

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

sha1-lookup: add new "sha1_pos" function to efficiently... Christian Couder Sat, 4 Apr 2009 20:59:26 +0000 (22:59 +0200)

sha1-lookup: add new "sha1_pos" function to efficiently lookup sha1

This function has been copied from the "patch_pos" function in
"patch-ids.c" but an additional parameter has been added.

The new parameter is a function pointer, that is used to access the
sha1 of an element in the table.

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

send-email: fix nasty bug in ask() functionJay Soffian Sun, 5 Apr 2009 03:23:21 +0000 (23:23 -0400)

send-email: fix nasty bug in ask() function

Commit 6e18251 (send-email: refactor and ensure prompting doesn't loop
forever) introduced an ask function, which unfortunately had a nasty
bug. This caused it not to accept anything but the default reply to the
"Who should the emails appear to be from?" prompt, and nothing but
ctrl-d to the "Who should the emails be sent to?" and "Message-ID to be
used as In-Reply-To for the first email?" prompts.

This commit corrects the issues and adds a test to confirm the fix.

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

Update draft release notes to 1.6.3Junio C Hamano Thu, 2 Apr 2009 20:42:24 +0000 (13:42 -0700)

Update draft release notes to 1.6.3

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

Fix 'git checkout <submodule>' to update the indexJohannes Schindelin Thu, 2 Apr 2009 13:30:25 +0000 (15:30 +0200)

Fix 'git checkout <submodule>' to update the index

While 'git checkout <submodule>' should not update the submodule's
working directory, it should update the index. This is in line with
how submodules are handled in the rest of Git.

While at it, test 'git reset [<commit>] <submodule>', too.

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

Allow curl to rewind the read buffersMartin Storsjö Wed, 1 Apr 2009 16:48:24 +0000 (19:48 +0300)

Allow curl to rewind the read buffers

When using multi-pass authentication methods, the curl library may
need to rewind the read buffers (depending on how much already has
been fed to the server) used for providing data to HTTP PUT, POST or
PROPFIND, and in order to allow the library to do so, we need to tell
it how by providing either an ioctl callback or a seek callback.

This patch adds an ioctl callback, which should be usable on older
curl versions (since 7.12.3) than the seek callback (introduced in
curl 7.18.0).

Some HTTP servers (such as Apache) give an 401 error reply immediately
after receiving the headers (so no data has been read from the read
buffers, and thus no rewinding is needed), but other servers (such
as Lighttpd) only replies after the whole request has been sent and
all data has been read from the read buffers, making rewinding necessary.

Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Sync with 1.6.2.2Junio C Hamano Thu, 2 Apr 2009 19:35:48 +0000 (12:35 -0700)

Sync with 1.6.2.2

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

GIT 1.6.2.2 v1.6.2.2Junio C Hamano Thu, 2 Apr 2009 19:21:57 +0000 (12:21 -0700)

GIT 1.6.2.2

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

Merge branch 'jc/maint-1.6.0-blame-s' into maintJunio C Hamano Thu, 2 Apr 2009 19:14:37 +0000 (12:14 -0700)

Merge branch 'jc/maint-1.6.0-blame-s' into maint

* jc/maint-1.6.0-blame-s:
blame: read custom grafts given by -S before calling setup_revisions()

Conflicts:
builtin-blame.c

Merge branch 'js/maint-diff-temp-smudge' into maintJunio C Hamano Thu, 2 Apr 2009 19:02:30 +0000 (12:02 -0700)

Merge branch 'js/maint-diff-temp-smudge' into maint

* js/maint-diff-temp-smudge:
Smudge the files fed to external diff and textconv

Merge branch 'js/maint-1.6.0-exec-path-env' into maintJunio C Hamano Thu, 2 Apr 2009 19:02:25 +0000 (12:02 -0700)

Merge branch 'js/maint-1.6.0-exec-path-env' into maint

* js/maint-1.6.0-exec-path-env:
Propagate --exec-path setting to external commands via GIT_EXEC_PATH

Merge branch 'bc/maint-1.6.1-branch-deleted-was' into... Junio C Hamano Thu, 2 Apr 2009 19:02:18 +0000 (12:02 -0700)

Merge branch 'bc/maint-1.6.1-branch-deleted-was' into maint

* bc/maint-1.6.1-branch-deleted-was:
git-branch: display "was sha1" on branch deletion rather than just "sha1"

Conflicts:
builtin-branch.c

Merge branch 'tr/maint-1.6.1-doc-format-patch--root... Junio C Hamano Thu, 2 Apr 2009 19:00:59 +0000 (12:00 -0700)

Merge branch 'tr/maint-1.6.1-doc-format-patch--root' into maint

* tr/maint-1.6.1-doc-format-patch--root:
Documentation: format-patch --root clarifications

Merge branch 'dm/maint-docco' into maintJunio C Hamano Thu, 2 Apr 2009 18:58:39 +0000 (11:58 -0700)

Merge branch 'dm/maint-docco' into maint

* dm/maint-docco:
Documentation: Remove spurious uses of "you" in git-bisect.txt.
Documentation: minor grammatical fix in git-check-ref-format.txt
Documentation: minor grammatical fixes in git-check-attr.txt
Documentation: minor grammatical fixes in git-cat-file.txt
Documentation: minor grammatical fixes and rewording in git-bundle.txt
Documentation: remove some uses of the passive voice in git-bisect.txt
Documentation: reword example text in git-bisect.txt.
Documentation: reworded the "Description" section of git-bisect.txt.
Documentation: minor grammatical fixes in git-branch.txt.
Documentation: minor grammatical fixes in git-blame.txt.
Documentation: reword the "Description" section of git-bisect.txt.
Documentation: minor grammatical fixes in git-archive.txt.

send-email: ensure quoted addresses are rfc2047 encodedJay Soffian Tue, 31 Mar 2009 16:22:14 +0000 (12:22 -0400)

send-email: ensure quoted addresses are rfc2047 encoded

sanitize_address assumes that quoted addresses (e.g., "first last"
<first.last@example.com) do not need rfc2047 encoding, but this is
not always the case.

For example, various places in send-email extract addresses using
parse_address_line. parse_address_line returns the addresses already
quoted (e.g., "first last" <first.last@example.com), but not rfc2047
encoded.

This patch makes sanitize_address stricter about what needs rfc2047
encoding and adds a test demonstrating where I noticed the problem.

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

send-email: correct two tests which were going interactiveJay Soffian Tue, 31 Mar 2009 16:22:13 +0000 (12:22 -0400)

send-email: correct two tests which were going interactive

Commit c18f75a (send-email: add tests for refactored prompting, 2009-03-28)
added two tests which went interactive under the dash shell.

This patch corrects the issue, reported by Björn Steinbrink.

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

Merge branch 'ef/fast-export'Junio C Hamano Thu, 2 Apr 2009 05:49:28 +0000 (22:49 -0700)

Merge branch 'ef/fast-export'

* ef/fast-export:
builtin-fast-export.c: handle nested tags
builtin-fast-export.c: fix crash on tagged trees
builtin-fast-export.c: turn error into warning
test-suite: adding a test for fast-export with tag variants

Merge branch 'mh/format-patch-add-header'Junio C Hamano Thu, 2 Apr 2009 05:49:24 +0000 (22:49 -0700)

Merge branch 'mh/format-patch-add-header'

* mh/format-patch-add-header:
format-patch: add arbitrary email headers

Merge branch 'tr/maint-1.6.1-doc-format-patch--root'Junio C Hamano Thu, 2 Apr 2009 05:49:03 +0000 (22:49 -0700)

Merge branch 'tr/maint-1.6.1-doc-format-patch--root'

* tr/maint-1.6.1-doc-format-patch--root:
Documentation: format-patch --root clarifications

Merge branch 'maint'Junio C Hamano Thu, 2 Apr 2009 05:46:31 +0000 (22:46 -0700)

Merge branch 'maint'

* maint:
Documentation: Remove an odd "instead"
fix portability problem with IS_RUN_COMMAND_ERR
mailmap: resurrect lower-casing of email addresses

Merge branch 'maint-1.6.1' into maintJunio C Hamano Thu, 2 Apr 2009 05:36:05 +0000 (22:36 -0700)

Merge branch 'maint-1.6.1' into maint

* maint-1.6.1:
Documentation: Remove an odd "instead"

Merge branch 'maint-1.6.0' into maint-1.6.1Junio C Hamano Thu, 2 Apr 2009 05:35:57 +0000 (22:35 -0700)

Merge branch 'maint-1.6.0' into maint-1.6.1

* maint-1.6.0:
Documentation: Remove an odd "instead"

Merge branch 'cj/doc-format'Junio C Hamano Thu, 2 Apr 2009 05:35:00 +0000 (22:35 -0700)

Merge branch 'cj/doc-format'

* cj/doc-format:
Documentation: use "spurious .sp" XSLT if DOCBOOK_SUPPRESS_SP is set
Documentation: option to render literal text as bold for manpages
Documentation: asciidoc.conf: fix verse block with block titles
Documentation: asciidoc.conf: always use <literallayout> for [blocktext]
Documentation: move "spurious .sp" code into manpage-base.xsl
Documentation: move quieting params into manpage-base.xsl
Documentation: rename docbook-xsl-172 attribute to git-asciidoc-no-roff
Documentation: use parametrized manpage-base.xsl with manpage-{1.72,normal}.xsl
Documentation: move callouts.xsl to manpage-{base,normal}.xsl
Documentation/Makefile: break up texi pipeline
Documentation/Makefile: make most operations "quiet"

Merge branch 'jc/maint-1.6.0-keep-pack'Junio C Hamano Thu, 2 Apr 2009 05:34:19 +0000 (22:34 -0700)

Merge branch 'jc/maint-1.6.0-keep-pack'

* jc/maint-1.6.0-keep-pack:
pack-objects: don't loosen objects available in alternate or kept packs
t7700: demonstrate repack flaw which may loosen objects unnecessarily
Remove --kept-pack-only option and associated infrastructure
pack-objects: only repack or loosen objects residing in "local" packs
git-repack.sh: don't use --kept-pack-only option to pack-objects
t7700-repack: add two new tests demonstrating repacking flaws

Conflicts:
t/t7700-repack.sh

Merge branch 'kb/tracking-count-no-merges'Junio C Hamano Thu, 2 Apr 2009 05:27:43 +0000 (22:27 -0700)

Merge branch 'kb/tracking-count-no-merges'

* kb/tracking-count-no-merges:
stat_tracking_info(): only count real commits

Documentation: git-svn: fix trunk/fetch svn-remote... Wesley J. Landaker Wed, 1 Apr 2009 22:05:01 +0000 (16:05 -0600)

Documentation: git-svn: fix trunk/fetch svn-remote key typo

Fix the git-svn documentation svn-remote example section talking about
tags and branches by using the proper key "fetch" instead of "trunk".
Using "trunk" actually might be nice, but it doesn't currently work.

The fetch line for the trunk was also reordered to be at the top of the
list, since most people think about the trunk/tags/branches trio in that
logical order.

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

match_tree_entry(): a pathspec only matches at director... Junio C Hamano Thu, 2 Apr 2009 02:34:03 +0000 (19:34 -0700)

match_tree_entry(): a pathspec only matches at directory boundaries

Previously the code did a simple prefix match, which means that a path in
a directory "frotz/" would have matched with pathspec "f".

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

tree_entry_interesting: a pathspec only matches at... Björn Steinbrink Tue, 31 Mar 2009 15:05:01 +0000 (17:05 +0200)

tree_entry_interesting: a pathspec only matches at directory boundary

Previously the code did a simple prefix match, which means that a
path in a directory "frotz/" would have matched with pathspec "f".

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

Mailmap: Allow empty email addresses to be mappedBjörn Steinbrink Tue, 31 Mar 2009 15:30:39 +0000 (17:30 +0200)

Mailmap: Allow empty email addresses to be mapped

While it makes no sense to map some email address to an empty one, doing
things the other way around can be useful. For example when using
filter-branch with an env-filter that employs a mailmap to fix up an
import that created such broken commits with empty email addresses.

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

Make local branches behave like remote branches when... Michael J Gruber Wed, 1 Apr 2009 21:42:49 +0000 (23:42 +0200)

Make local branches behave like remote branches when --tracked

This makes sure that local branches, when followed using --track, behave
the same as remote ones (e.g. differences being reported by git status
and git checkout). This fixes 1 known failure.

The fix is done within branch_get(): The first natural candidate,
namely remote_find_tracking(), does not have all the necessary info
because in general there is no remote struct for '.', and we don't want
one because it would show up in other places as well.

branch_get(), on the other hand, has access to merge_names[] (in
addition to merge[]) and therefore can set up the followed branch
easily.

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

Cleanup warning about known issues in cvsimport documen... Heiko Voigt Wed, 1 Apr 2009 20:24:28 +0000 (22:24 +0200)

Cleanup warning about known issues in cvsimport documentation

Not all statements were complete sentences.

Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Speed up reflog pruning of unreachable commitsJunio Hamano Tue, 31 Mar 2009 04:34:14 +0000 (21:34 -0700)

Speed up reflog pruning of unreachable commits

Instead of doing the (potentially very expensive) "in_merge_base()"
check for each commit that might be pruned if it is unreachable, do a
preparatory reachability graph of the commit space, so that the common
case of being reachable can be tested directly.

[ Cleaned up a bit and tweaked to actually work. - Linus ]
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Clean up reflog unreachability pruning decisionLinus Torvalds Tue, 31 Mar 2009 16:45:22 +0000 (09:45 -0700)

Clean up reflog unreachability pruning decision

This clarifies the pruning rules for unreachable commits by having a
separate helpder function for the unreachability decision.

It's preparation for actual bigger changes to come to speed up the
decision when the reachability calculations become a bottleneck.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Documentation: Remove an odd "instead"Holger Weiß Tue, 31 Mar 2009 16:57:01 +0000 (18:57 +0200)

Documentation: Remove an odd "instead"

Signed-off-by: Holger Weiß <holger@zedat.fu-berlin.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

send-email: ask_default should apply to all emails... Jay Soffian Tue, 31 Mar 2009 16:22:12 +0000 (12:22 -0400)

send-email: ask_default should apply to all emails, not just the first

Commit 6e18251 made the "Send this email?" prompt assume yes if confirm
= "inform" when it was unable to get a valid response. However, the
"yes" assumption only worked correctly for the first email. This commit
fixes the issue and confirms the fix by modifying the existing test for
the prompt to send multiple emails.

Reported by Matthieu Moy <Matthieu.Moy@imag.fr>

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

send-email: don't attempt to prompt if tty is closedJay Soffian Tue, 31 Mar 2009 16:22:11 +0000 (12:22 -0400)

send-email: don't attempt to prompt if tty is closed

Attempting to prompt when the tty is closed (typically when running from
cron) is pointless and emits a warning. This patch causes ask() to
return early, squelching the warning.

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

t1301: loosen test for forced modesJeff King Tue, 31 Mar 2009 20:36:00 +0000 (16:36 -0400)

t1301: loosen test for forced modes

One of the aspects of the test checked explicitly for the
g+s bit to be set on created directories. However, this is
only the means to an end (the "end" being having the correct
group set). And in fact, on systems where
DIR_HAS_BSD_GROUP_SEMANTICS is set, we do not even need to
use this "means" at all, causing the test to fail.

This patch removes that part of the test. In an ideal world
it would be replaced by a test to check that the group was
properly assigned, but that is difficult to automate because
it requires the user running the test suite be a member of
multiple groups.

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

fix portability problem with IS_RUN_COMMAND_ERRJeff King Tue, 31 Mar 2009 12:29:23 +0000 (08:29 -0400)

fix portability problem with IS_RUN_COMMAND_ERR

Some old versions of gcc don't seem to like us negating an
enum constant. Let's work around it by negating the other
half of the comparison instead.

Reported by Pierre Poissinger on gcc 2.9.

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

format_sanitized_subject: Don't trim past initial lengt... Stephen Boyd Tue, 31 Mar 2009 23:24:38 +0000 (16:24 -0700)

format_sanitized_subject: Don't trim past initial length of strbuf

If the subject line is '...' the strbuf will be accessed before the
first dot is added; potentially changing the strbuf passed into the
function or accessing sb->buf[-1] if it was originally empty.

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

Documentation: use "spurious .sp" XSLT if DOCBOOK_SUPPR... Chris Johnsen Wed, 1 Apr 2009 08:50:34 +0000 (03:50 -0500)

Documentation: use "spurious .sp" XSLT if DOCBOOK_SUPPRESS_SP is set

With this change, the "spurious .sp" suppression XSLT code is
disabled by default. It can be enabled by defining
DOCBOOK_SUPPRESS_SP.

The "spurious .sp" XSLT fragment was used to work around a bug
first released in docbook-xsl 1.69.1. Modern versions of
docbook-xsl are negatively affected by the code (some empty lines
are omitted from manpage output; see
<http://article.gmane.org/gmane.comp.version-control.git/115302>).

The key revisions in the docbook SVN repo seem to be 5144 (before
docbook-xsl 1.69.1) and 6359 (before docbook-xsl 1.71.1).

Testing done with asciidoc 8.3.1 and docbook-xsl 1.74.0.

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

mailmap: resurrect lower-casing of email addressesJohannes Schindelin Tue, 31 Mar 2009 00:18:36 +0000 (02:18 +0200)

mailmap: resurrect lower-casing of email addresses

Commit 0925ce4(Add map_user() and clear_mailmap() to mailmap) broke the
lower-casing of email addresses. This mostly did not matter if your
.mailmap has only lower-case email addresses; However, we did not
require .mailmap to contain lowercase-only email addresses.

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

Merge git://git.bogomips.org/git-svnJunio C Hamano Wed, 1 Apr 2009 17:57:48 +0000 (10:57 -0700)

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

* git://git.bogomips.org/git-svn:
git-svn: add a double quiet option to hide git commits

builtin-clone.c: no need to strdup for setenvAli Gholami Rudi Wed, 1 Apr 2009 11:22:25 +0000 (15:52 +0430)

builtin-clone.c: no need to strdup for setenv

The setenv function makes a copy, itself.

Signed-off-by: Ali Gholami Rudi <ali@rudi.ir>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

builtin-clone.c: make junk_pid staticAli Gholami Rudi Wed, 1 Apr 2009 08:04:44 +0000 (12:34 +0430)

builtin-clone.c: make junk_pid static

junk_pid is used only in builtin-clone.c.

Signed-off-by: Ali Gholami Rudi <ali@rudi.ir>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-svn: add a double quiet option to hide git commitsSimon Arlott Mon, 30 Mar 2009 18:31:41 +0000 (19:31 +0100)

git-svn: add a double quiet option to hide git commits

People may expect/prefer -q to still show git commits,
so this change allows a second -q to hide them.

Signed-off-by: Michael Poole <mdpoole@troilus.org>
Signed-off-by: Simon Arlott <simon@fire.lp0.eu>
Acked-by: Eric Wong <normalperson@yhbt.net>

Merge branch 'maint'Junio C Hamano Mon, 30 Mar 2009 20:29:57 +0000 (13:29 -0700)

Merge branch 'maint'

* maint:
Update draft release notes to 1.6.2.2
Fix bash completion in path with spaces
bash completion: only show 'log --merge' if merging
git-tag(1): add hint about commit messages
Documentation: update graph api example.

Update draft release notes to 1.6.2.2Junio C Hamano Mon, 30 Mar 2009 20:29:31 +0000 (13:29 -0700)

Update draft release notes to 1.6.2.2

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

Merge branch 'maint-1.6.1' into maintJunio C Hamano Mon, 30 Mar 2009 20:25:27 +0000 (13:25 -0700)

Merge branch 'maint-1.6.1' into maint

* maint-1.6.1:
Fix bash completion in path with spaces
bash completion: only show 'log --merge' if merging
git-tag(1): add hint about commit messages
Documentation: update graph api example.

Conflicts:
contrib/completion/git-completion.bash

Merge branch 'maint-1.6.0' into maint-1.6.1Junio C Hamano Mon, 30 Mar 2009 20:23:53 +0000 (13:23 -0700)

Merge branch 'maint-1.6.0' into maint-1.6.1

* maint-1.6.0:
Fix bash completion in path with spaces
bash completion: only show 'log --merge' if merging
git-tag(1): add hint about commit messages
Documentation: update graph api example.

Documentation: push.default applies to all remotesSanti Béjar Mon, 30 Mar 2009 10:11:41 +0000 (12:11 +0200)

Documentation: push.default applies to all remotes

push.default is not only for the current remote but setting the default
behaviour for all remotes.

Signed-off-by: Santi Béjar <santi@agolina.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Documentation: enhance branch.<name>.{remote,merge}Santi Béjar Mon, 30 Mar 2009 10:11:40 +0000 (12:11 +0200)

Documentation: enhance branch.<name>.{remote,merge}

The documentation for branch.*.merge is very dense, so add a simple
explanation on top of it.

And branch.*.remote also affects 'git push'.

Signed-off-by: Santi Béjar <santi@agolina.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Fix bash completion in path with spacesDaniel Cheng (aka SDiZ) Mon, 30 Mar 2009 11:27:37 +0000 (19:27 +0800)

Fix bash completion in path with spaces

Signed-off-by: Daniel Cheng (aka SDiZ) <j16sdiz+freenet@gmail.com>
Trivially-acked-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

bash completion: only show 'log --merge' if mergingThomas Rast Mon, 16 Feb 2009 16:34:57 +0000 (17:34 +0100)

bash completion: only show 'log --merge' if merging

The gitk completion only shows --merge if MERGE_HEAD is present.
Do it the same way for git-log completion.

Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Acked-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-tag(1): add hint about commit messagesNico -telmich- Schottelius Mon, 30 Mar 2009 11:58:21 +0000 (13:58 +0200)

git-tag(1): add hint about commit messages

If a tag is not annotated, git tag displays the commit message
instead. Add this hint to the manpage to unhide this secret.

Signed-off-by: Nico Schottelius <nico@ikn.schottelius.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Documentation: update graph api example.Allan Caffee Mon, 30 Mar 2009 14:13:45 +0000 (10:13 -0400)

Documentation: update graph api example.

As of commit 03300c0 the graph API uses '*' for all nodes including merges.
This updates the example in the documentation to match.

Signed-off-by: Allan Caffee <allan.caffee@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint'Shawn O. Pearce Mon, 30 Mar 2009 14:09:28 +0000 (07:09 -0700)

Merge branch 'maint'

* maint:
git-gui: fix deleting from the context menu with empty selection

git-gui: fix deleting from the context menu with empty... Markus Heidelberg Sun, 29 Mar 2009 14:29:23 +0000 (15:29 +0100)

git-gui: fix deleting from the context menu with empty selection

An "Application Error" was raised when trying to delete text from the
commit message field when no text was selected.

Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

rev-list: pass "revs" to "show_bisect_vars"Christian Couder Thu, 26 Mar 2009 04:55:41 +0000 (05:55 +0100)

rev-list: pass "revs" to "show_bisect_vars"

instead of using static "revs" data

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

rev-list: make "show_bisect_vars" non staticChristian Couder Thu, 26 Mar 2009 04:55:35 +0000 (05:55 +0100)

rev-list: make "show_bisect_vars" non static

and declare it in "bisect.h" as we will use this function later.

While at it, rename its last argument "show_all" instead of
"bisect_find_all".

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

rev-list: move code to show bisect vars into its own... Christian Couder Thu, 26 Mar 2009 04:55:30 +0000 (05:55 +0100)

rev-list: move code to show bisect vars into its own function

This is a straightforward clean up to make "cmd_rev_list" function
smaller.

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

rev-list: move bisect related code into its own fileChristian Couder Thu, 26 Mar 2009 04:55:24 +0000 (05:55 +0100)

rev-list: move bisect related code into its own file

This patch creates new "bisect.c" and "bisect.h" files and move
bisect related code into these files.

While at it, we also remove some include directives that are not
needed any more from the beginning of "builtin-rev-list.c".

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

rev-list: make "bisect_list" variable local to "cmd_rev... Christian Couder Thu, 26 Mar 2009 04:55:17 +0000 (05:55 +0100)

rev-list: make "bisect_list" variable local to "cmd_rev_list"

The "bisect_list" variable was static for no reason as it is only used
in the "cmd_rev_list" function.

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

refs: add "for_each_ref_in" function to refactor "for_e... Christian Couder Mon, 30 Mar 2009 03:07:15 +0000 (05:07 +0200)

refs: add "for_each_ref_in" function to refactor "for_each_*_ref" functions

The "for_each_{tag,branch,remote,replace,}_ref" functions are
redefined in terms of "for_each_ref_in" so that we can lose the
hardcoded length of prefix strings from the code.

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>

quote: add "sq_dequote_to_argv" to put unwrapped args... Christian Couder Sun, 29 Mar 2009 09:44:52 +0000 (11:44 +0200)

quote: add "sq_dequote_to_argv" to put unwrapped args in an argv array

This new function unwraps the space separated shell quoted elements in
its first argument and places them in the argv array passed as its second
argument.

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

quote: implement "sq_dequote_many" to unwrap many args... Christian Couder Sun, 29 Mar 2009 09:44:44 +0000 (11:44 +0200)

quote: implement "sq_dequote_many" to unwrap many args in one string

The sq_dequote() function does not allow parsing a string with more than
one single-quoted parameter easily; use its code to implement a new API
sq_dequote_step() to allow the caller iterate through such a string to
parse them one-by-one. The original sq_dequote() becomes a thin wrapper
around it.

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

Merge branch 'maint'Junio C Hamano Mon, 30 Mar 2009 06:11:23 +0000 (23:11 -0700)

Merge branch 'maint'

* maint:
git-svn: fix ls-tree usage with dash-prefixed paths
import-zips: fix thinko

Merge branch 'maint-1.6.1' into maintJunio C Hamano Mon, 30 Mar 2009 06:11:13 +0000 (23:11 -0700)

Merge branch 'maint-1.6.1' into maint

* maint-1.6.1:
import-zips: fix thinko

Merge branch 'maint-1.6.0' into maint-1.6.1Junio C Hamano Mon, 30 Mar 2009 06:11:03 +0000 (23:11 -0700)

Merge branch 'maint-1.6.0' into maint-1.6.1

* maint-1.6.0:
import-zips: fix thinko

send-email: add tests for refactored promptingJay Soffian Sun, 29 Mar 2009 01:39:11 +0000 (21:39 -0400)

send-email: add tests for refactored prompting

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

send-email: refactor and ensure prompting doesn't loop... Jay Soffian Sun, 29 Mar 2009 01:39:10 +0000 (21:39 -0400)

send-email: refactor and ensure prompting doesn't loop forever

Several places in send-email prompt for input, and will do so forever
when the input is EOF. This is poor behavior when send-email is run
unattended (say from cron).

This patch refactors the prompting to an ask() function which takes a
prompt, an optional default, and an optional regex to validate the
input. The function returns on EOF, or if a default is provided and the
user simply types return, or if the input passes the validating regex
(which accepts all input by default). The ask() function gives up after
10 tries in case of invalid input.

There are four callers of the function:

1) "Who should the emails appear to be from?" which provides a default
sender. Previously the user would have to type ctrl-d to accept the
default. Now the user can just hit return, or type ctrl-d.

2) "Who should the emails be sent to?". Previously this prompt passed a
second argument ("") to $term->readline() which was ignored. I believe
the intent was to allow the user to just hit return. Now the user
can do so, or type ctrl-d.

3) "Message-ID to be used as In-Reply-To for the first email?".
Previously this prompt passed a second argument (effectively undef) to
$term->readline() which was ignored. I believe the intent was the same
as for (2), to allow the user to just hit return. Now the user can do
so, or type ctrl-d.

4) "Send this email?". Previously this prompt would loop forever until
it got a valid reply. Now it stops prompting on EOF or a valid reply. In
the case where confirm = "inform", it now defaults to "y" on EOF or the
user hitting return, otherwise an invalid reply causes send-email to
terminate.

A followup patch adds tests for the new functionality.

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

git-svn: fix ls-tree usage with dash-prefixed pathsEric Wong Sun, 29 Mar 2009 06:10:45 +0000 (23:10 -0700)

git-svn: fix ls-tree usage with dash-prefixed paths

To find the blob object name given a tree and pathname, we were
incorrectly calling "git ls-tree" with a "--" argument followed
by the pathname of the file we wanted to get.

git ls-tree <TREE> -- --dashed/path/name.c

Unlike many command-line interfaces, the "--" alone does not
symbolize the end of non-option arguments on the command-line.

ls-tree interprets the "--" as a prefix to match against, thus
the entire contents of the --dashed/* hierarchy would be
returned because the "--" matches "--dashed" and every path
under it.

Thanks to Anton Gyllenberg for pointing me toward the
Twisted repository as a real-world example of this case.

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

import-zips: fix thinkoJohannes Schindelin Sun, 29 Mar 2009 20:42:27 +0000 (22:42 +0200)

import-zips: fix thinko

Embarrassingly, the common prefix calculation did not work properly, due
to a mistake in the assignment: instead of assigning the dirname of the
current file name, the dirname of the current common prefix needs to
be assigned to common prefix, when the current prefix does not match the
current file name.

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

builtin-fast-export.c: handle nested tagsErik Faye-Lund Mon, 23 Mar 2009 12:53:09 +0000 (12:53 +0000)

builtin-fast-export.c: handle nested tags

When tags that points to tags are passed to fast-export, an error is given,
saying "Tag [TAGNAME] points nowhere?". This fix calls parse_object() on the
object before referencing it's tag, to ensure the tag-info is fully initialized.
In addition, it inserts a comment to point out where nested tags are handled.
This is consistent with the comment for signed tags.

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