gitweb.git
Merge branch 'sb/maint-octopus' into maintJunio C Hamano Wed, 20 Jan 2010 21:02:24 +0000 (13:02 -0800)

Merge branch 'sb/maint-octopus' into maint

* sb/maint-octopus:
octopus: remove dead code
octopus: reenable fast-forward merges
octopus: make merge process simpler to follow

Conflicts:
git-merge-octopus.sh

Merge branch 'bg/maint-add-all-doc' into maintJunio C Hamano Wed, 20 Jan 2010 21:01:33 +0000 (13:01 -0800)

Merge branch 'bg/maint-add-all-doc' into maint

* bg/maint-add-all-doc:
git-rm doc: Describe how to sync index & work tree
git-add/rm doc: Consistently back-quote
Documentation: 'git add -A' can remove files

Merge branch 'maint-1.6.5' into maintJunio C Hamano Wed, 20 Jan 2010 21:01:19 +0000 (13:01 -0800)

Merge branch 'maint-1.6.5' into maint

* maint-1.6.5:
Git 1.6.5.8
Fix mis-backport of t7002
bash completion: factor submodules into dirty state
reset: unbreak hard resets with GIT_WORK_TREE

Conflicts:
Documentation/git.txt
GIT-VERSION-GEN
RelNotes

Git 1.6.5.8 v1.6.5.8Junio C Hamano Wed, 20 Jan 2010 20:44:59 +0000 (12:44 -0800)

Git 1.6.5.8

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

Merge branch 'jk/maint-1.6.5-reset-hard' into maint... Junio C Hamano Wed, 20 Jan 2010 20:22:58 +0000 (12:22 -0800)

Merge branch 'jk/maint-1.6.5-reset-hard' into maint-1.6.5

* jk/maint-1.6.5-reset-hard:
reset: unbreak hard resets with GIT_WORK_TREE

Merge branch 'tr/maint-1.6.5-bash-prompt-show-submodule... Junio C Hamano Wed, 20 Jan 2010 20:22:54 +0000 (12:22 -0800)

Merge branch 'tr/maint-1.6.5-bash-prompt-show-submodule-changes' into maint-1.6.5

* tr/maint-1.6.5-bash-prompt-show-submodule-changes:
bash completion: factor submodules into dirty state

Merge branch 'dp/maint-1.6.5-fast-import-non-commit... Junio C Hamano Wed, 20 Jan 2010 20:17:24 +0000 (12:17 -0800)

Merge branch 'dp/maint-1.6.5-fast-import-non-commit-tag' into maint-1.6.5

* dp/maint-1.6.5-fast-import-non-commit-tag:
fast-import: tag may point to any object type

Merge branch 'jm/maint-1.6.5-grep-NUL-terminate' into... Junio C Hamano Wed, 20 Jan 2010 20:16:46 +0000 (12:16 -0800)

Merge branch 'jm/maint-1.6.5-grep-NUL-terminate' into maint-1.6.5

* jm/maint-1.6.5-grep-NUL-terminate:
grep: NUL terminate input from a file

status: don't require the repository to be writableJunio C Hamano Wed, 20 Jan 2010 01:10:35 +0000 (17:10 -0800)

status: don't require the repository to be writable

We need to update the index before hooks run when actually making a
commit, but we shouldn't have to write the index when running "status".
If we can, then we have already spent cycles to refresh the index and
it is a waste not to write it out, but it is not a disaster if we cannot
write it out. The main reason the user is running "git status" is to get
the "status", and refreshing the index is a mere side effect that we can
do without.

Discovery and initial attempted fix by Dscho.

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

bisect: fix singular/plural grammar nitDavid Ripton Tue, 19 Jan 2010 15:13:33 +0000 (07:13 -0800)

bisect: fix singular/plural grammar nit

Remove the trailing 's' from "revisions" and "steps" when there is
only one.

Signed-off-by: David Ripton <dripton@ripton.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint-1.6.4' into maint-1.6.5Junio C Hamano Tue, 19 Jan 2010 05:37:12 +0000 (21:37 -0800)

Merge branch 'maint-1.6.4' into maint-1.6.5

* maint-1.6.4:
Fix mis-backport of t7002
base85: Make the code more obvious instead of explaining the non-obvious
base85: encode_85() does not use the decode table
base85 debug code: Fix length byte calculation
checkout -m: do not try to fall back to --merge from an unborn branch
branch: die explicitly why when calling "git branch [-a|-r] branchname".
textconv: stop leaking file descriptors
commit: --cleanup is a message option
git count-objects: handle packs bigger than 4G
t7102: make the test fail if one of its check fails

Merge branch 'maint-1.6.3' into maint-1.6.4Junio C Hamano Tue, 19 Jan 2010 05:37:06 +0000 (21:37 -0800)

Merge branch 'maint-1.6.3' into maint-1.6.4

* maint-1.6.3:
base85: Make the code more obvious instead of explaining the non-obvious
base85: encode_85() does not use the decode table
base85 debug code: Fix length byte calculation
checkout -m: do not try to fall back to --merge from an unborn branch
branch: die explicitly why when calling "git branch [-a|-r] branchname".
textconv: stop leaking file descriptors
commit: --cleanup is a message option
git count-objects: handle packs bigger than 4G
t7102: make the test fail if one of its check fails

Conflicts:
builtin-commit.c

Merge branch 'maint-1.6.2' into maint-1.6.3Junio C Hamano Tue, 19 Jan 2010 05:29:47 +0000 (21:29 -0800)

Merge branch 'maint-1.6.2' into maint-1.6.3

* maint-1.6.2:
base85: Make the code more obvious instead of explaining the non-obvious
base85: encode_85() does not use the decode table
base85 debug code: Fix length byte calculation
checkout -m: do not try to fall back to --merge from an unborn branch
branch: die explicitly why when calling "git branch [-a|-r] branchname".
textconv: stop leaking file descriptors
commit: --cleanup is a message option
git count-objects: handle packs bigger than 4G
t7102: make the test fail if one of its check fails

Conflicts:
diff.c

Merge commit 'v1.6.4.4-8-g8de6518' into maint-1.6.4Junio C Hamano Tue, 19 Jan 2010 05:18:41 +0000 (21:18 -0800)

Merge commit 'v1.6.4.4-8-g8de6518' into maint-1.6.4

* commit 'v1.6.4.4-8-g8de6518':
Fix mis-backport of t7002

Fix mis-backport of t7002Junio C Hamano Tue, 19 Jan 2010 05:14:41 +0000 (21:14 -0800)

Fix mis-backport of t7002

The original patch that became cfe370c (grep: do not segfault when -f is
used, 2009-10-16), was made against "maint" or newer branch back then, but
the fix addressed the issue that was present as far as in 1.6.4 series.

The maintainer backported the patch to the 1.6.4 maintenance branch, but
failed to notice that the new tests assumed the setup done by the script
in "maint", which did quite a lot more than the same test script in 1.6.4
series, and the output didn't match the expected result.

This should fix it.

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

Update draft release notes to 1.6.6.1Junio C Hamano Tue, 19 Jan 2010 02:16:15 +0000 (18:16 -0800)

Update draft release notes to 1.6.6.1

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

Merge branch 'dp/maint-1.6.5-fast-import-non-commit... Junio C Hamano Tue, 19 Jan 2010 02:15:12 +0000 (18:15 -0800)

Merge branch 'dp/maint-1.6.5-fast-import-non-commit-tag' into maint

* dp/maint-1.6.5-fast-import-non-commit-tag:
fast-import: tag may point to any object type

Merge branch 'jm/maint-1.6.5-grep-NUL-terminate' into... Junio C Hamano Tue, 19 Jan 2010 01:03:34 +0000 (17:03 -0800)

Merge branch 'jm/maint-1.6.5-grep-NUL-terminate' into maint

* jm/maint-1.6.5-grep-NUL-terminate:
grep: NUL terminate input from a file

grep: NUL terminate input from a fileJim Meyering Mon, 18 Jan 2010 21:55:07 +0000 (22:55 +0100)

grep: NUL terminate input from a file

Internally "git grep" runs regexec(3) that expects its input string
to be NUL terminated. When searching inside blob data, read_sha1_file()
automatically gives such a buffer, but builtin-grep.c forgot to put
the NUL at the end, even though it allocated enough space for it.

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

Fix uninitialized variable in get_refs_via_rsync().Richard Weinberger Thu, 14 Jan 2010 23:28:59 +0000 (00:28 +0100)

Fix uninitialized variable in get_refs_via_rsync().

This fixes a crash when cloning via rsync://.

Signed-off-by: Richard Weinberger <richard@nod.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Document git-blame triple -C optionRamkumar Ramachandra Fri, 8 Jan 2010 18:48:07 +0000 (00:18 +0530)

Document git-blame triple -C option

Lift the explanation of -CCC option in the source to the documentation.

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

fast-import: tag may point to any object typeDmitry Potapov Thu, 14 Jan 2010 04:44:19 +0000 (07:44 +0300)

fast-import: tag may point to any object type

If you tried to export the official git repository, and then to import it
back then git-fast-import would die complaining that "Mark :1 not a commit".

Accordingly to a generated crash file, Mark 1 is not a commit but a blob,
which is pointed by junio-gpg-pub tag. Because git-tag allows to create such
tags, git-fast-import should import them.

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

remote-curl: Fix Accept header for smart HTTP connectionsShawn O. Pearce Tue, 12 Jan 2010 17:54:04 +0000 (09:54 -0800)

remote-curl: Fix Accept header for smart HTTP connections

We actually expect to see an application/x-git-upload-pack-result
but we lied and said we Accept *-response. This was a typo on my
part when I was writing the code.

Fortunately the wrong Accept header had no real impact, as the
deployed git-http-backend servers were not testing the Accept
header before they returned their content.

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

grep: -L should show empty filesJunio C Hamano Tue, 12 Jan 2010 08:22:23 +0000 (00:22 -0800)

grep: -L should show empty files

The -L (--files-without-match) option is supposed to show paths that
produced no matches. When running the internal grep on work tree files,
however, we had an optimization to just return on zero-sized files,
without doing anything.

This optimization doesn't matter too much in practice (a tracked empty
file must be rare, or there is something wrong with your project); to
produce results consistent with GNU grep, we should stop the optimization
and show empty files as not having the given pattern.

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

rebase--interactive: Ignore comments and blank lines... Michael Haggerty Mon, 11 Jan 2010 15:56:45 +0000 (16:56 +0100)

rebase--interactive: Ignore comments and blank lines in peek_next_command

Previously, blank lines and/or comments within a series of
squash/fixup commands would confuse "git rebase -i" into thinking that
the series was finished. It would therefore require the user to edit
the commit message for the squash/fixup commits seen so far. Then,
after continuing, it would ask the user to edit the commit message
again.

Ignore comments and blank lines within a group of squash/fixup
commands, allowing them to be processed in one go.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Add missing #include to support TIOCGWINSZ on SolarisNguyễn Thái Ngọc Duy Mon, 11 Jan 2010 10:41:01 +0000 (17:41 +0700)

Add missing #include to support TIOCGWINSZ on Solaris

On Linux TIOCGWINSZ is defined somehwere in ioctl.h, which is already
included. On Solaris we also need to include termios.h. Without this
term_columns() in help.c will think TIOCGWINSZ is not supported and
always return 80 columns.

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

Merge branch 'maint-1.6.2' into maintJunio C Hamano Sun, 10 Jan 2010 08:51:54 +0000 (00:51 -0800)

Merge branch 'maint-1.6.2' into maint

* maint-1.6.2:
base85: Make the code more obvious instead of explaining the non-obvious
base85: encode_85() does not use the decode table
base85 debug code: Fix length byte calculation
checkout -m: do not try to fall back to --merge from an unborn branch

Conflicts:
diff.c

Merge branch 'maint-1.6.1' into maint-1.6.2Junio C Hamano Sun, 10 Jan 2010 08:49:47 +0000 (00:49 -0800)

Merge branch 'maint-1.6.1' into maint-1.6.2

* maint-1.6.1:
base85: Make the code more obvious instead of explaining the non-obvious
base85: encode_85() does not use the decode table
base85 debug code: Fix length byte calculation
checkout -m: do not try to fall back to --merge from an unborn branch
branch: die explicitly why when calling "git branch [-a|-r] branchname".
textconv: stop leaking file descriptors
commit: --cleanup is a message option
git count-objects: handle packs bigger than 4G
t7102: make the test fail if one of its check fails

Conflicts:
diff.c

Merge branch 'maint-1.6.0' into maint-1.6.1Junio C Hamano Sun, 10 Jan 2010 08:48:47 +0000 (00:48 -0800)

Merge branch 'maint-1.6.0' into maint-1.6.1

* maint-1.6.0:
base85: Make the code more obvious instead of explaining the non-obvious
base85: encode_85() does not use the decode table
base85 debug code: Fix length byte calculation
checkout -m: do not try to fall back to --merge from an unborn branch
branch: die explicitly why when calling "git branch [-a|-r] branchname".

base85: Make the code more obvious instead of explainin... Andreas Gruenbacher Fri, 8 Jan 2010 13:40:00 +0000 (14:40 +0100)

base85: Make the code more obvious instead of explaining the non-obvious

Here is another cleanup ...

Signed-off-by: Andreas Gruenbacher <agruen@suse.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

base85: encode_85() does not use the decode tableAndreas Gruenbacher Fri, 8 Jan 2010 16:22:18 +0000 (17:22 +0100)

base85: encode_85() does not use the decode table

Signed-off-by: Andreas Gruenbacher <agruen@suse.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

base85 debug code: Fix length byte calculationAndreas Gruenbacher Fri, 8 Jan 2010 13:39:58 +0000 (14:39 +0100)

base85 debug code: Fix length byte calculation

Signed-off-by: Andreas Gruenbacher <agruen@suse.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Documentation: tiny git config manual tweaksJonathan Nieder Sun, 10 Jan 2010 03:01:21 +0000 (21:01 -0600)

Documentation: tiny git config manual tweaks

As a verb, 'setup' is spelled 'set up'. “diff commands such as
diff-files” scans better without a comma. Clarify that shallow
and deep are special non-boolean values for format.thread rather
than boolean values with some other name.

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

Documentation: git gc packs refs by default nowJonathan Nieder Sun, 10 Jan 2010 02:59:41 +0000 (20:59 -0600)

Documentation: git gc packs refs by default now

In commit 56752391 (Make "git gc" pack all refs by default,
2007-05-24), 'git gc' was changed to run pack-refs by default

Versions before v1.5.1.2 cannot clone repos with packed refs over
http, and versions before v1.4.4 cannot handled packed refs at
all, but more recent git should have no problems. Try to make
this more clear in the git-config manual.

The analagous passage in git-gc.txt was updated already with
commit fe2128a (Change git-gc documentation to reflect
gc.packrefs implementation., 2008-01-09).

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

git-rm doc: Describe how to sync index & work treeBjörn Gustavsson Mon, 7 Dec 2009 18:35:42 +0000 (19:35 +0100)

git-rm doc: Describe how to sync index & work tree

Newcomers to git that want to remove from the index only the
files that have disappeared from the working tree will probably
look for a way to do that in the documentation for 'git rm'.

Therefore, describe how that can be done (even though it involves
other commands than 'git rm'). Based on a suggestion by Junio,
but re-arranged and rewritten to better fit into the style of
command reference.

While at it, change a single occurrence of "work tree" to "working
tree" for consistency.

Signed-off-by: Björn Gustavsson <bgustavsson@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

checkout -m: do not try to fall back to --merge from... Junio C Hamano Thu, 7 Jan 2010 07:51:47 +0000 (23:51 -0800)

checkout -m: do not try to fall back to --merge from an unborn branch

If switching from an unborn branch (= empty tree) to a valid commit failed
without -m, it would fail with -m option as well.

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

git-gui: Add hotkeys for "Unstage from commit" and... Vitaly _Vi Shukela Thu, 31 Dec 2009 13:32:53 +0000 (15:32 +0200)

git-gui: Add hotkeys for "Unstage from commit" and "Revert changes"

Signed-off-by: Vitaly _Vi Shukela <public_vi@tut.by>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

git-gui: Makefile: consolidate .FORCE-* targetsJonathan Nieder Wed, 6 Jan 2010 08:16:38 +0000 (02:16 -0600)

git-gui: Makefile: consolidate .FORCE-* targets

Providing multiple targets to force a rebuild is unnecessary
complication.

Avoid using a name that could conflict with future special
targets in GNU make (a leading period followed by uppercase
letters).

Cc: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

checkout -m path: fix recreating conflictsJunio C Hamano Wed, 6 Jan 2010 20:32:02 +0000 (12:32 -0800)

checkout -m path: fix recreating conflicts

We should tell ll_merge() that the 3-way merge between stages #2 and #3 is
an outermost merge, not a virtual-ancestor creation.

Back when this code was originally written, users couldn't write custom
merge drivers easily, so the bug didn't matter, but these days it does.

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

stash: mention --patch in usage string.Matthieu Moy Sat, 2 Jan 2010 16:35:32 +0000 (17:35 +0100)

stash: mention --patch in usage string.

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 Thu, 31 Dec 2009 23:00:14 +0000 (15:00 -0800)

Merge branch 'maint-1.6.0' into maint

* maint-1.6.0:
branch: die explicitly why when calling "git branch [-a|-r] branchname".

branch: die explicitly why when calling "git branch... Matthieu Moy Wed, 30 Dec 2009 14:45:31 +0000 (15:45 +0100)

branch: die explicitly why when calling "git branch [-a|-r] branchname".

The -a and -r options used to be silently ignored in such a command.

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

fast-import: Document author/committer/tagger name... Shawn O. Pearce Wed, 30 Dec 2009 15:03:48 +0000 (07:03 -0800)

fast-import: Document author/committer/tagger name is optional

The fast-import parser does not validate that the author, committer
or tagger name component contains both a name and an email address.
Therefore the name component has always been optional. Correct the
documentation to match the implementation.

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

SubmittingPatches: hints to know the status of a submit... Matthieu Moy Wed, 30 Dec 2009 14:51:22 +0000 (15:51 +0100)

SubmittingPatches: hints to know the status of a submitted patch.

"What happened to my patch" is pretty much a FAQ on the Git mailing list,
it deserves a few paragraphs in SubmittingPatches...

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

bash completion: factor submodules into dirty stateThomas Rast Thu, 31 Dec 2009 11:48:41 +0000 (12:48 +0100)

bash completion: factor submodules into dirty state

In the implementation of GIT_PS1_SHOWDIRTYSTATE in 738a94a (bash:
offer to show (un)staged changes, 2009-02-03), I cut&pasted the
git-diff invocations from dirty-worktree checks elsewhere, carrying
along the --ignore-submodules option.

As pointed out by Kevin Ballard, this doesn't really make sense: to
the _user_, a changed submodule counts towards uncommitted changes.

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

Fix "git remote update" with remotes.defalt setBjörn Gustavsson Thu, 31 Dec 2009 09:43:17 +0000 (10:43 +0100)

Fix "git remote update" with remotes.defalt set

Starting from commit 8db35596, "git remote update" (with no
group name given) will fail with the following message if
remotes.default has been set in the config file:

fatal: 'default' does not appear to be a git repository
fatal: The remote end hung up unexpectedly

The problem is that the --multiple option is not passed to
"git fetch" if no remote or group name is given on the command
line. Fix the problem by always passing the --multiple
option to "git fetch" (which actually simplifies the code).

Reported-by: YONETANI Tomokazu
Signed-off-by: Björn Gustavsson <bgustavsson@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint-1.6.1' into maintJunio C Hamano Wed, 30 Dec 2009 09:24:12 +0000 (01:24 -0800)

Merge branch 'maint-1.6.1' into maint

* maint-1.6.1:
textconv: stop leaking file descriptors
commit: --cleanup is a message option
git count-objects: handle packs bigger than 4G
t7102: make the test fail if one of its check fails

Conflicts:
builtin-commit.c
diff.c

textconv: stop leaking file descriptorsJeff King Wed, 30 Dec 2009 09:02:53 +0000 (04:02 -0500)

textconv: stop leaking file descriptors

We read the output from textconv helpers over a pipe, but we
never actually closed our end of the pipe after using it.

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

reset: unbreak hard resets with GIT_WORK_TREEJeff King Wed, 30 Dec 2009 08:47:03 +0000 (03:47 -0500)

reset: unbreak hard resets with GIT_WORK_TREE

Commit 952dfc6 tried to tighten the safety valves for doing
a "reset --hard" in a bare repository or outside the work
tree, but accidentally broke the case for GIT_WORK_TREE.
This patch unbreaks it.

Most git commands which need a work tree simply use
NEED_WORK_TREE in git.c to die before they get to their
cmd_* function. Reset, however, only needs a work tree in
some cases, and so must handle the work tree itself. The
error that 952dfc6 made was to simply forbid certain
operations if the work tree was not set up; instead, we need
to do the same thing that NEED_WORK_TREE does, which is to
call setup_work_tree(). We no longer have to worry about dying
in the non-worktree case, as setup_work_tree handles that
for us.

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

archive: complain about path specs that don't match... René Scharfe Sat, 12 Dec 2009 15:00:41 +0000 (16:00 +0100)

archive: complain about path specs that don't match anything

Verify that all path specs match at least one path in the specified
tree and reject those that don't.

This would have made the bug fixed by 782a0005 easier to find.

This implementation is simple to the point of being stupid. It walks
the full tree for each path spec until it matches something. It's short
and seems to be fast enough, though.

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

Merge branch 'maint-1.6.0' into maint-1.6.1Junio C Hamano Wed, 30 Dec 2009 04:16:34 +0000 (20:16 -0800)

Merge branch 'maint-1.6.0' into maint-1.6.1

* maint-1.6.0:
commit: --cleanup is a message option
t7102: make the test fail if one of its check fails

commit: --cleanup is a message optionGreg Price Tue, 29 Dec 2009 21:54:49 +0000 (16:54 -0500)

commit: --cleanup is a message option

In the usage message for "git commit", the --cleanup option appeared
at the end, as one of the "contents options":

usage: git commit [options] [--] <filepattern>...
...
Commit message options
...
Commit contents options
...
--allow-empty ok to record an empty change
--cleanup <default> how to strip spaces and #comments from message

This is confusing, in part because it makes it ambiguous whether
--allow-empty, just above, refers to an empty diff or an empty message.

Move --cleanup into the 'message options' group. Also add a pair of
comments to prevent similar oversights in the future.

Signed-off-by: Greg Price <price@ksplice.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git count-objects: handle packs bigger than 4GAndreas Schwab Tue, 29 Dec 2009 19:09:15 +0000 (20:09 +0100)

git count-objects: handle packs bigger than 4G

Use off_t to count sizes of packs and objects to avoid overflow after
4Gb.

Signed-off-by: Andreas Schwab <schwab@linux-m68k.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t7102: make the test fail if one of its check failsNguyễn Thái Ngọc Duy Tue, 29 Dec 2009 08:13:18 +0000 (15:13 +0700)

t7102: make the test fail if one of its check fails

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

Documentation: always respect core.worktree if setNguyễn Thái Ngọc Duy Tue, 29 Dec 2009 07:48:41 +0000 (14:48 +0700)

Documentation: always respect core.worktree if set

The value of core.worktree in a ".git/config" is honored even when it
differs from the directory that has the ".git" directory as its
subdirectory. This is likely to be a misconfiguration, so warn users
about it. Also, drop the part of the documentation that incorrectly
claimed that we ignore such a misconfigured value.

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

Merge branch 'nf/maint-fix-index-ext-len-on-be64' into... Junio C Hamano Sun, 27 Dec 2009 18:42:00 +0000 (10:42 -0800)

Merge branch 'nf/maint-fix-index-ext-len-on-be64' into maint

* nf/maint-fix-index-ext-len-on-be64:
read_index(): fix reading extension size on BE 64-bit archs

read_index(): fix reading extension size on BE 64-bit... Nathaniel W Filardo Sun, 27 Dec 2009 06:11:21 +0000 (01:11 -0500)

read_index(): fix reading extension size on BE 64-bit archs

On big endian platforms with 8-byte unsigned long, the code reads the
size of the index extension section (which is a 4-byte network byte
order integer) incorrectly.

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

Makefile: FreeBSD (both 7 and 8) needs OLD_ICONVJunio C Hamano Sat, 26 Dec 2009 22:32:36 +0000 (14:32 -0800)

Makefile: FreeBSD (both 7 and 8) needs OLD_ICONV

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

Start 1.6.6.X maintenance trackJunio C Hamano Sat, 26 Dec 2009 22:20:09 +0000 (14:20 -0800)

Start 1.6.6.X maintenance track

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

Merge branch 'jc/maint-obsd46' into maintJunio C Hamano Sat, 26 Dec 2009 22:15:55 +0000 (14:15 -0800)

Merge branch 'jc/maint-obsd46' into maint

* jc/maint-obsd46:
t4019 "grep" portability fix
t1200: work around a bug in some implementations of "find"

Add git-http-backend to command-list.Tarmigan Casebolt Sat, 26 Dec 2009 17:01:07 +0000 (12:01 -0500)

Add git-http-backend to command-list.

Signed-off-by: Tarmigan Casebolt <tarmigan+git@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t4019 "grep" portability fixJunio C Hamano Sat, 26 Dec 2009 21:53:17 +0000 (13:53 -0800)

t4019 "grep" portability fix

Input to "grep" is supposed to be "text", but we deliberately feed output
from "git diff --color" to sift it into two sets of lines (ones with
errors, the other without). Some implementations of "grep" only report
matches with the exit status, without showing the matched lines in their
output (e.g. OpenBSD 4.6, which says "Binary file .. matches").

Fortunately, "grep -a" is often a way to force the command to treat its
input as text.

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

t1200: work around a bug in some implementations of... Junio C Hamano Sat, 26 Dec 2009 21:53:45 +0000 (13:53 -0800)

t1200: work around a bug in some implementations of "find"

"find path ..." command should exit with zero status only when all path
operands were traversed successfully. When a non-existent path is given,
however, some implementations of "find" (e.g. OpenBSD 4.6) exit with zero
status and break the last test in t1200.

Rewrite the test to check that there is no regular files in the objects
fan-out directories to work around this bug; it is closer to what we are
testing anyway.

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

Git 1.6.6 v1.6.6Junio C Hamano Wed, 23 Dec 2009 19:58:52 +0000 (11:58 -0800)

Git 1.6.6

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

git svn: add test for a git svn gc followed by a git... Robert Zeh Wed, 23 Dec 2009 17:54:11 +0000 (11:54 -0600)

git svn: add test for a git svn gc followed by a git svn mkdirs

git svn gc will compress the unhandled.log files that git svn mkdirs reads,
causing git svn mkdirs to skip directory creation.

[ew: trivial whitespace cleanups]
Acked-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Robert Zeh <robert.a.zeh@gmail.com>

git svn: branch/tag commands detect username in URLsEric Wong Wed, 23 Dec 2009 06:40:18 +0000 (22:40 -0800)

git svn: branch/tag commands detect username in URLs

svn+ssh:// repositories often have userinfo embedded in the URL
which were stripped out of the "git-svn-id:" trailers. Since
the SVN::Client::copy function takes userinfo into account when
matching URLs for SVN repositories, we need to retrieve the full
URL with embedded userinfo in it to avoid mismatched URLs.

Tested-by: Florian Köberle <florian@fkoeberle.de>
Signed-off-by: Eric Wong <normalperson@yhbt.net>

Merge branch 'maint'Junio C Hamano Tue, 22 Dec 2009 20:32:39 +0000 (12:32 -0800)

Merge branch 'maint'

* maint:
Prevent git blame from segfaulting on a missing author name

git svn: lookup new parents correctly from svn:mergeinfoEric Wong Tue, 22 Dec 2009 20:15:40 +0000 (12:15 -0800)

git svn: lookup new parents correctly from svn:mergeinfo

This appears to be a trivial case where array indices were being
passed to git rev-list, instead of the contents stored in the
array itself.

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

Prevent git blame from segfaulting on a missing author... David Reiss Tue, 22 Dec 2009 18:51:41 +0000 (10:51 -0800)

Prevent git blame from segfaulting on a missing author name

The human-readable author and committer name can be missing from
commits imported from foreign SCM interfaces. Make sure we parse
the "author" and "committer" line a bit more leniently and avoid
segfaulting by assuming the name always exists.

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

git-svn: Remove obsolete MAXPARENT checkAndrew Myrick Mon, 21 Dec 2009 22:22:54 +0000 (14:22 -0800)

git-svn: Remove obsolete MAXPARENT check

Change git-svn not to impose a limit of 16 parents on a merge.

This limit in git-svn artificially prevents cloning svn repositories
that contain commits with more than 16 merge parents.

The limit was removed from builtin-commit-tree.c for git v1.6.0 in commit
ef98c5cafb3e799b1568bb843fcd45920dc62f16, so there is no need to check for it
it in git-svn.

Signed-off-by: Andrew Myrick <amyrick@apple.com>
Acked-by: Eric Wong <normalperson@yhbt.net>

git-svn: detect cherry-picks correctly.Sam Vilain Sat, 19 Dec 2009 16:26:26 +0000 (05:26 +1300)

git-svn: detect cherry-picks correctly.

The old function was incorrect; in some instances it marks a cherry picked
range as a merged branch (because of an incorrect assumption that
'rev-list COMMIT --not RANGE' would work). This is replaced with a
function which should detect them correctly, memoized to limit the expense
of dealing with branches with many cherry picks to one 'merge-base' call
per merge, per branch which used cherry picking.

Signed-off-by: Sam Vilain <sam@vilain.net>
Acked-by: Eric Wong <normalperson@yhbt.net>

git-svn: exclude already merged tips using one rev... Sam Vilain Sat, 19 Dec 2009 16:25:31 +0000 (05:25 +1300)

git-svn: exclude already merged tips using one rev-list call

The old function would have to check all mentioned merge tips, every time
that the mergeinfo ticket changed. This involved 1-2 rev-list operation
for each listed mergeinfo line. If there are a lot of feature branches
being merged into a trunk, this makes for a very expensive operation for
detecting the new parents on every merge.

This new version first uses a single 'rev-list' to figure out which commit
ranges are already reachable from the parents. This is used to eliminate
the already merged branches from the list.

Signed-off-by: Sam Vilain <sam@vilain.net>
Acked-by: Eric Wong <normalperson@yhbt.net>

git-svn: fix some mistakes with interpreting SVN mergei... Sam Vilain Sat, 19 Dec 2009 16:22:42 +0000 (05:22 +1300)

git-svn: fix some mistakes with interpreting SVN mergeinfo commit ranges

SVN's list of commit ranges in mergeinfo tickets is inclusive, whereas
git commit ranges are exclusive on the left hand side. Also, the end
points of the commit ranges may not exist; they simply delineate
ranges of commits which may or may not exist. Fix these two mistakes.

Signed-off-by: Sam Vilain <sam@vilain.net>
Acked-by: Eric Wong <normalperson@yhbt.net>

git-svn: memoize conversion of SVN merge ticket info... Sam Vilain Sat, 19 Dec 2009 11:55:13 +0000 (00:55 +1300)

git-svn: memoize conversion of SVN merge ticket info to git commit ranges

Each time the svn mergeinfo ticket changes, we look it up in the rev_map;
when there are a lot of merged branches, this will result in many repeated
lookups of the same information for subsequent commits. Arrange the slow
part of the function so that it may be memoized, and memoize it. The more
expensive revision walking operation can be memoized separately.

[ew: changed "next" to "return" for function exit]

Signed-off-by: Sam Vilain <sam@vilain.net>
Acked-by: Eric Wong <normalperson@yhbt.net>

git-svn: expand the svn mergeinfo test suite, highlight... Sam Vilain Sat, 19 Dec 2009 16:20:30 +0000 (05:20 +1300)

git-svn: expand the svn mergeinfo test suite, highlighting some failures

As shown, git-svn has some problems; not all svn merges are correctly
detected, and cherry picks may incorrectly be detected as real merges.
These test cases will be marked as _success once the relevant fixes are in.

Signed-off-by: Sam Vilain <sam@vilain.net>
Acked-by: Eric Wong <normalperson@yhbt.net>

update release notes for git svn in 1.6.6Eric Wong Mon, 21 Dec 2009 10:21:33 +0000 (02:21 -0800)

update release notes for git svn in 1.6.6

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

git svn: fix --revision when fetching deleted pathsEric Wong Mon, 21 Dec 2009 10:06:04 +0000 (02:06 -0800)

git svn: fix --revision when fetching deleted paths

When using the -r/--revision argument to fetch deleted history,
calling SVN::Ra::get_log() from an SVN::Ra object initialized
to track the deleted URL will fail.

This regression was introduced in:
commit 4aacaeb3dc82bb6479e70e120053dc27a399460e
"fix shallow clone when upstream revision is too new"

We now ignore errors from SVN::Ra::get_log() here because using
--revision will always override the value of $head here if
(and only if) we're tracking deleted directories.

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

Git 1.6.6-rc4 v1.6.6-rc4Junio C Hamano Sun, 20 Dec 2009 20:15:02 +0000 (12:15 -0800)

Git 1.6.6-rc4

Hopefully the last rc before the final one.

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

Merge branch 'maint'Junio C Hamano Sun, 20 Dec 2009 07:20:16 +0000 (23:20 -0800)

Merge branch 'maint'

* maint:
rebase -i: abort cleanly if the editor fails to launch
technical-docs: document hash API
api-strbuf.txt: fix typos and document launch_editor()

rebase -i: abort cleanly if the editor fails to launchBjörn Gustavsson Sat, 19 Dec 2009 12:04:03 +0000 (13:04 +0100)

rebase -i: abort cleanly if the editor fails to launch

If the user's configured editor is emacsclient, the editor
will fail to launch if emacs is not running and the git
command that tried to lanuch the editor will abort. For most
commands, all you have to do is to start emacs and repeat
the command.

The "git rebase -i" command, however, aborts without cleaning
the "$GIT_DIR/rebase-merge" directory if it fails to launch the
editor, so you'll need to do "git rebase --abort" before
repeating the rebase command.

Change "git rebase -i" to terminate using "die_abort" (instead of
with "die") if the initial launch of the editor fails.

Signed-off-by: Björn Gustavsson <bgustavsson@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t9146: use 'svn_cmd' wrapperEric Wong Sun, 20 Dec 2009 07:05:57 +0000 (23:05 -0800)

t9146: use 'svn_cmd' wrapper

Using 'svn' directly may not work for all users.

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

git svn: make empty directory creation gc-awareEric Wong Sat, 19 Dec 2009 21:49:00 +0000 (13:49 -0800)

git svn: make empty directory creation gc-aware

The "git svn gc" command creates and appends to unhandled.log.gz
files which should be parsed before the uncompressed
unhandled.log files.

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

technical-docs: document hash APIStephen Boyd Fri, 18 Dec 2009 00:05:29 +0000 (16:05 -0800)

technical-docs: document hash API

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

api-strbuf.txt: fix typos and document launch_editor()Stephen Boyd Fri, 18 Dec 2009 00:05:28 +0000 (16:05 -0800)

api-strbuf.txt: fix typos and document launch_editor()

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

Git 1.6.6-rc3 v1.6.6-rc3Junio C Hamano Wed, 16 Dec 2009 20:50:33 +0000 (12:50 -0800)

Git 1.6.6-rc3

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

Merge branch 'maint' to sync with 1.6.5.7Junio C Hamano Wed, 16 Dec 2009 19:09:31 +0000 (11:09 -0800)

Merge branch 'maint' to sync with 1.6.5.7

* maint:
Git 1.6.5.7
worktree: don't segfault with an absolute pathspec without a work tree
ignore unknown color configuration
help.autocorrect: do not run a command if the command given is junk
Illustrate "filter" attribute with an example

Git 1.6.5.7 v1.6.5.7Junio C Hamano Wed, 16 Dec 2009 18:23:54 +0000 (10:23 -0800)

Git 1.6.5.7

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

worktree: don't segfault with an absolute pathspec... Junio C Hamano Wed, 16 Dec 2009 18:50:09 +0000 (10:50 -0800)

worktree: don't segfault with an absolute pathspec without a work tree

If a command is run with an absolute path as a pathspec inside a bare
repository, e.g. "rev-list HEAD -- /home", the code tried to run strlen()
on NULL, which is the result of get_git_work_tree(), and segfaulted. It
should just fail instead.

Currently the function returns NULL even inside .git/ in a repository
with a work tree, but that is a separate issue.

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

ignore unknown color configurationJeff King Sat, 12 Dec 2009 12:25:24 +0000 (07:25 -0500)

ignore unknown color configuration

When parsing the config file, if there is a value that is
syntactically correct but unused, we generally ignore it.
This lets non-core porcelains store arbitrary information in
the config file, and it means that configuration files can
be shared between new and old versions of git (the old
versions might simply ignore certain configuration).

The one exception to this is color configuration; if we
encounter a color.{diff,branch,status}.$slot variable, we
die if it is not one of the recognized slots (presumably as
a safety valve for user misconfiguration). This behavior
has existed since 801235c (diff --color: use
$GIT_DIR/config, 2006-06-24), but hasn't yet caused a
problem. No porcelain has wanted to store extra colors, and
we once a color area (like color.diff) has been introduced,
we've never changed the set of color slots.

However, that changed recently with the addition of
color.diff.func. Now a user with color.diff.func in their
config can no longer freely switch between v1.6.6 and older
versions; the old versions will complain about the existence
of the variable.

This patch loosens the check to match the rest of
git-config; unknown color slots are simply ignored. This
doesn't fix this particular problem, as the older version
(without this patch) is the problem, but it at least
prevents it from happening again in the future.

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

help.autocorrect: do not run a command if the command... Johannes Sixt Tue, 15 Dec 2009 07:57:18 +0000 (08:57 +0100)

help.autocorrect: do not run a command if the command given is junk

If a given command is not found, then help.c tries to guess which one the
user could have meant. If help.autocorrect is 0 or unset, then a list of
suggestions is given as long as the dissimilarity between the given command
and the candidates is not excessively high. But if help.autocorrect was
non-zero (i.e., a delay after which the command is run automatically), the
latter restriction on dissimilarity was not obeyed.

In my case, this happened:

$ git ..daab02
WARNING: You called a Git command named '..daab02', which does not exist.
Continuing under the assumption that you meant 'read-tree'
in 4.0 seconds automatically...

The patch reuses the similarity limit that is also applied when the list of
suggested commands is printed.

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

Illustrate "filter" attribute with an exampleNanako Shiraishi Tue, 15 Dec 2009 03:11:10 +0000 (12:11 +0900)

Illustrate "filter" attribute with an example

The example was taken from aa4ed402c9721170fde2e9e43c3825562070e65e
(Add 'filter' attribute and external filter driver definition).

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

octopus: remove dead codeStephen Boyd Sat, 12 Dec 2009 00:38:59 +0000 (16:38 -0800)

octopus: remove dead code

MSG, PARENT, and CNT are never used, just assigned to.

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

octopus: reenable fast-forward mergesStephen Boyd Sat, 12 Dec 2009 00:38:58 +0000 (16:38 -0800)

octopus: reenable fast-forward merges

The fast-forward logic is never being triggered because $common and
$MRC are never equivalent. $common is initialized to a commit id by
merge-base and MRC is initialized to HEAD. Fix this by initializing
$MRC to the commit id for HEAD so that its possible for $MRC and
$common to be equal.

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

octopus: make merge process simpler to followStephen Boyd Sat, 12 Dec 2009 00:38:57 +0000 (16:38 -0800)

octopus: make merge process simpler to follow

Its not very easy to understand what heads are being merged given
the current output of an octopus merge. Fix this by replacing the
sha1 with the (usually) better description in GITHEAD_<SHA1>.

Suggested-by: Jari Aalto <jari.aalto@cante.net>
Signed-off-by: Stephen Boyd <bebarino@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

bash: Support new 'git fetch' optionsBjörn Gustavsson Sat, 12 Dec 2009 10:21:46 +0000 (11:21 +0100)

bash: Support new 'git fetch' options

Support the new options --all, --prune, and --dry-run for
'git fetch'.

As the --multiple option was primarily introduced to enable
'git remote update' to be re-implemented in terms of 'git fetch'
(16679e37) and is not likely to be used much from the command
line, it does not seems worthwhile to complicate the code
(to support completion of multiple remotes) to handle it.

Signed-off-by: Björn Gustavsson <bgustavsson@gmail.com>
Acked-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Update Release Notes for 1.6.6 to remove old bugfixesJunio C Hamano Fri, 11 Dec 2009 00:22:42 +0000 (16:22 -0800)

Update Release Notes for 1.6.6 to remove old bugfixes

These three have already been backported to 1.6.5.5

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

Sync with 1.6.5.6Junio C Hamano Fri, 11 Dec 2009 00:20:59 +0000 (16:20 -0800)

Sync with 1.6.5.6

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

Git 1.6.5.6 v1.6.5.6Junio C Hamano Thu, 10 Dec 2009 23:42:30 +0000 (15:42 -0800)

Git 1.6.5.6

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

Fix archive format with -- on the command lineJunio C Hamano Thu, 10 Dec 2009 23:27:51 +0000 (15:27 -0800)

Fix archive format with -- on the command line

Giving --format from the command line, or using output file extention to
DWIM the output format, with a pathspec that is disambiguated with an
explicit double-dash on the command line, e.g.

git archive -o file --format=zip HEAD -- path
git archive -o file.zip HEAD -- path

didn't work correctly.

This was because the code reordered (when one was given) or added (when
the format was inferred) a --format argument at the end, effectively
making it to "archive HEAD -- path --format=zip", i.e. an extra pathspec
that is unlikely to match anything.

The command line argument list should always be "options, revs and then
paths", and we should set a good example by inserting the --format at the
beginning instead.

Reported-by: Ilari Liusvaara <ilari.liusvaara@elisanet.fi>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Remove post-upload-hookJunio C Hamano Thu, 10 Dec 2009 20:17:11 +0000 (12:17 -0800)

Remove post-upload-hook

This hook runs after "git fetch" in the repository the objects are
fetched from as the user who fetched, and has security implications.

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