gitweb.git
Merge branch 'jc/maint-1.6.0-keep-pack' into maint... Junio C Hamano Sun, 3 May 2009 22:01:31 +0000 (15:01 -0700)

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

* 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
is_kept_pack(): final clean-up
Simplify is_kept_pack()
Consolidate ignore_packed logic more
has_sha1_kept_pack(): take "struct rev_info"
has_sha1_pack(): refactor "pretend these packs do not exist" interface
git-repack: resist stray environment variable

Merge branch 'jc/maint-1.6.0-diff-borrow-carefully... Junio C Hamano Sun, 3 May 2009 22:01:26 +0000 (15:01 -0700)

Merge branch 'jc/maint-1.6.0-diff-borrow-carefully' into maint-1.6.1

* jc/maint-1.6.0-diff-borrow-carefully:
diff --cached: do not borrow from a work tree when a path is marked as assume-unchanged

Merge branch 'bs/maint-1.6.0-tree-walk-prefix' into... Junio C Hamano Sun, 3 May 2009 22:01:19 +0000 (15:01 -0700)

Merge branch 'bs/maint-1.6.0-tree-walk-prefix' into maint-1.6.1

* bs/maint-1.6.0-tree-walk-prefix:
match_tree_entry(): a pathspec only matches at directory boundaries
tree_entry_interesting: a pathspec only matches at directory boundary

GIT 1.6.3-rc4 v1.6.3-rc4Junio C Hamano Sat, 2 May 2009 06:31:00 +0000 (23:31 -0700)

GIT 1.6.3-rc4

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

honor repack.usedeltabaseoffset when fetching packsNicolas Pitre Sat, 2 May 2009 00:18:02 +0000 (20:18 -0400)

honor repack.usedeltabaseoffset when fetching packs

If the local receiving repository has disabled the use of delta base
offset, for example to retain compatibility with older versions of
Git that predate OFS_DELTA, we shouldn't ask for ofs-delta support
when we obtain a pack from the remote server.

[ issue noticed by Shawn Pearce ]

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

Merge git://repo.or.cz/git-guiJunio C Hamano Sat, 2 May 2009 05:11:57 +0000 (22:11 -0700)

Merge git://repo.or.cz/git-gui

* git://repo.or.cz/git-gui:
git-gui: Fixes for Mac OS X TkAqua
git-gui: Update Russian translation
git-gui: run post-checkout hook after clone
git-gui: Ensure consistent usage of mergetool.keepBackup
git-gui: fix use of undeclared variable diff_empty_count
git-gui (Win): make starting via "Git GUI Here" on .git/ possible
git-gui (Win): make "Explore Working Copy" more robust
git-gui: run post-checkout hook on checkout
git-gui: When calling post-commit hook wrong variable was cleared.
git-gui: use `git --html-path` to get the location of installed HTML docs
git-gui: fix deleting from the context menu with empty selection
git-gui: minor spelling fix and string factorisation.
git-gui: various French translation fixes
git-gui: Fix merge conflict display error when filename contains spaces
git-gui: don't hide the Browse button when resizing the repo chooser
Append ampersand to "Target" of lnk files created by do_cygwin_shortcut
git-gui: Support more git version notations.
git-gui: Avoid an infinite rescan loop in handle_empty_diff.
git-gui: Fix post-commit status with subject in non-locale encoding

allow OFS_DELTA objects during a pushNicolas Pitre Fri, 1 May 2009 20:56:47 +0000 (16:56 -0400)

allow OFS_DELTA objects during a push

The fetching of OFS_DELTA objects has been negotiated between both peers
since git version 1.4.4. However, this was missing from the push side
where every OFS_DELTA objects were always converted to REF_DELTA objects
causing an increase in transferred data.

To fix this, both the client and the server processes have to be
modified: the former to invoke pack-objects with --delta-base-offset
when the server provides the ofs-delta capability, and the later to send
that capability when OFS_DELTA objects are allowed as already indicated
by the repack.usedeltabaseoffset config variable which is TRUE by
default since git v1.6.0.

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

ctype.c: fix typo in commentRené Scharfe Fri, 1 May 2009 20:03:07 +0000 (22:03 +0200)

ctype.c: fix typo in comment

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

Fix a bunch of pointer declarations (codestyle)Felipe Contreras Fri, 1 May 2009 09:06:36 +0000 (12:06 +0300)

Fix a bunch of pointer declarations (codestyle)

Essentially; s/type* /type */ as per the coding guidelines.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-gui: Fixes for Mac OS X TkAquaDaniel A. Steffen Sat, 16 Aug 2008 01:20:09 +0000 (03:20 +0200)

git-gui: Fixes for Mac OS X TkAqua

- detect more Tk.framework variants
- fix apple menu setup, use native preferences menu item
- don't set menu font

Signed-off-by: Daniel A. Steffen <das@users.sourceforge.net>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

Merge git://git.kernel.org/pub/scm/gitk/gitkJunio C Hamano Fri, 1 May 2009 02:56:28 +0000 (19:56 -0700)

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

* git://git.kernel.org/pub/scm/gitk/gitk:
gitk: Add Russian translation
gitk: Fix compare-commits function when we have local changes
gitk: Avoid crash if closed while reading references
gitk: Handle external diff tool with spaces in the path
gitk: Remember and restore the window state with the geometry
gitk: Map KP_Divide to focus the search box
gitk: Mark some more strings for translation
gitk: Mark forgotten string for translation
gitk: Make .gitk a hidden file under windows
gitk: Add a command to compare two strings of commits
gitk: Add a way to mark a commit, plus a "find descendant" command
gitk: Fixes for Mac OS X TkAqua
gitk: Provide a 32x32 window icon based on the git logo
gitk: Provide a window icon if possible
gitk: Handle blobs containing a DOS end-of-file marker

gitk: Add Russian translationAlex Riesen Mon, 27 Apr 2009 18:04:27 +0000 (20:04 +0200)

gitk: Add Russian translation

Thanks go to Dmitry Potapov for proofreading and suggested translation
of the word 'merge'.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>

Clarify kind of conflict in merge-one-file helperAlex Riesen Wed, 29 Apr 2009 21:40:50 +0000 (23:40 +0200)

Clarify kind of conflict in merge-one-file helper

Not as verbose as the recursive merge driver, but better still.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

improve error message in config.cAlex Riesen Wed, 29 Apr 2009 21:27:54 +0000 (23:27 +0200)

improve error message in config.c

Show errno if opening a lockfile fails.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

print unlink(2) errno in copy_or_link_directoryAlex Riesen Wed, 29 Apr 2009 21:24:52 +0000 (23:24 +0200)

print unlink(2) errno in copy_or_link_directory

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

replace direct calls to unlink(2) with unlink_or_warnAlex Riesen Wed, 29 Apr 2009 21:22:56 +0000 (23:22 +0200)

replace direct calls to unlink(2) with unlink_or_warn

This helps to notice when something's going wrong, especially on
systems which lock open files.

I used the following criteria when selecting the code for replacement:
- it was already printing a warning for the unlink failures
- it is in a function which already printing something or is
called from such a function
- it is in a static function, returning void and the function is only
called from a builtin main function (cmd_)
- it is in a function which handles emergency exit (signal handlers)
- it is in a function which is obvously cleaning up the lockfiles

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Introduce an unlink(2) wrapper which gives warning... Alex Riesen Wed, 29 Apr 2009 21:21:46 +0000 (23:21 +0200)

Introduce an unlink(2) wrapper which gives warning if unlink failed

This seem to be a very common pattern in the current code.

The function prints a generic removal failure message, the file name
which failed and readable errno presentation. The function preserves
errno and always returns the value unlink(2) returned, but prints
no message for ENOENT, as it was the most often filtered out in the
code calling unlink. Besides, removing a file is anyway the purpose of
calling unlink.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint'Junio C Hamano Wed, 29 Apr 2009 23:50:31 +0000 (16:50 -0700)

Merge branch 'maint'

* maint:
diff -c -p: do not die on submodules

Conflicts:
combine-diff.c

daemon.c: fix segfault on OS XBenjamin Kramer Mon, 27 Apr 2009 13:59:49 +0000 (15:59 +0200)

daemon.c: fix segfault on OS X

On OS X (and maybe other unices), getaddrinfo(3) returns NULL
in the ai_canonname field if it's called with an IP address for
the hostname. We'll now use the IP address for the hostname if
ai_canonname was NULL, this also matches the behaviour on Linux.

steps to reproduce:
$ git daemon --export-all
$ git clone git://127.0.0.1/frotz
=> git daemon's fork (silently) segfaults.

Remove the pointless loop while at it. There is only one iteration
because of the break; on the last line and there are no continues.

Signed-off-by: Benjamin Kramer <benny.kra@googlemail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

merge-recursive: do not die on a conflicting submoduleJunio C Hamano Wed, 29 Apr 2009 18:08:18 +0000 (11:08 -0700)

merge-recursive: do not die on a conflicting submodule

We cannot represent the 3-way conflicted state in the work tree
for these entries, but it is normal not to have commit objects
for them in our repository. Just update the index and the life
will be good.

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

git config: error when editing a repo config and not... Felipe Contreras Wed, 29 Apr 2009 22:49:47 +0000 (01:49 +0300)

git config: error when editing a repo config and not being in one

Let's throw an error on this specific case. If the user specifies the
config file, he must know what he is doing.

Teemu Likonen pointed this out.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

parseopt: fix documentation for --keep-dashdashUwe Kleine-König Tue, 28 Apr 2009 20:29:24 +0000 (22:29 +0200)

parseopt: fix documentation for --keep-dashdash

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Rename core.unreliableHardlinks to core.createObjectJohannes Schindelin Mon, 27 Apr 2009 22:32:25 +0000 (00:32 +0200)

Rename core.unreliableHardlinks to core.createObject

"Unreliable hardlinks" is a misleading description for what is happening.
So rename it to something less misleading.

Suggested by Linus Torvalds.

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

Merge branch 'maint-1.6.1' into maintJunio C Hamano Wed, 29 Apr 2009 22:40:33 +0000 (15:40 -0700)

Merge branch 'maint-1.6.1' into maint

* maint-1.6.1:
diff -c -p: do not die on submodules

Merge branch 'maint-1.6.0' into maint-1.6.1Junio C Hamano Wed, 29 Apr 2009 20:43:13 +0000 (13:43 -0700)

Merge branch 'maint-1.6.0' into maint-1.6.1

* maint-1.6.0:
diff -c -p: do not die on submodules

diff -c -p: do not die on submodulesJunio C Hamano Wed, 29 Apr 2009 19:49:52 +0000 (12:49 -0700)

diff -c -p: do not die on submodules

The combine diff logic knew only about blobs (and their checked-out form
in the work tree, either regular files or symlinks), and barfed when fed
submodules. This "externalizes" gitlinks in the same way as the normal
patch generation codepath does (i.e. "Subproject commit Xxx\n") to fix the
issue.

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

git-gui: Update Russian translationAlex Riesen Wed, 29 Apr 2009 05:56:06 +0000 (07:56 +0200)

git-gui: Update Russian translation

Also, the previous translations of the words 'tag' and 'merge' were
changed. Added translation of the 'Tool' submenu.

Thanks go to Alexander Gavrilov and Dmitry Potapov for proofreading
and suggestions.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

doc: consistently use ASCIIDOC_EXTRAEric Blake Tue, 28 Apr 2009 12:28:32 +0000 (06:28 -0600)

doc: consistently use ASCIIDOC_EXTRA

For all uses of $(ASCIIDOC) in Documentation/Makefile, supply the same
options via $(ASCIIDOC_EXTRA).

Signed-off-by: Eric Blake <ebb9@byu.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Makefile: installing git in cygwin 1.7.0Eric Blake Tue, 28 Apr 2009 12:28:31 +0000 (06:28 -0600)

Makefile: installing git in cygwin 1.7.0

On platforms with $X, make removes any leftover scripts 'a' from
earlier builds if a new binary 'a.exe' is now built. However, on
cygwin 1.7.0, 'git' and 'git.exe' now consistently name the same file.
Test for file equality before attempting a remove, in order to avoid
nuking just-built binaries.

This repeats commit 0d768f7 for the installation destdir.

Signed-off-by: Eric Blake <ebb9@byu.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint'Junio C Hamano Tue, 28 Apr 2009 07:46:39 +0000 (00:46 -0700)

Merge branch 'maint'

* maint:
grep: fix segfault when "git grep '('" is given
Documentation: fix a grammatical error in api-builtin.txt
builtin-merge: fix a typo in an error message

Merge branch 'maint-1.6.1' into maintJunio C Hamano Tue, 28 Apr 2009 07:46:25 +0000 (00:46 -0700)

Merge branch 'maint-1.6.1' into maint

* maint-1.6.1:
grep: fix segfault when "git grep '('" is given
Documentation: fix a grammatical error in api-builtin.txt
builtin-merge: fix a typo in an error message

Merge branch 'maint-1.6.0' into maint-1.6.1Junio C Hamano Tue, 28 Apr 2009 07:46:20 +0000 (00:46 -0700)

Merge branch 'maint-1.6.0' into maint-1.6.1

* maint-1.6.0:
grep: fix segfault when "git grep '('" is given
Documentation: fix a grammatical error in api-builtin.txt
builtin-merge: fix a typo in an error message

SubmittingPatches: itemize and reflect upon well writte... Sam Vilain Mon, 27 Apr 2009 14:38:47 +0000 (02:38 +1200)

SubmittingPatches: itemize and reflect upon well written changes

The SubmittingPatches file was trimmed down from a somewhat
overwhelming set of requirements from the Linux Kernel equivalent;
however perhaps a little of it can be returned without making the
text too long.

Signed-off-by: Sam Vilain <sam@vilain.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Makefile: fix NO_PERL bug with gitwebJeff King Tue, 28 Apr 2009 03:34:24 +0000 (23:34 -0400)

Makefile: fix NO_PERL bug with gitweb

When the user has defined NO_PERL, we want to skip building
gitweb entirely. However, the conditional to add
gitweb/gitweb.cgi to OTHER_PROGRAMS was evaluated before we
actually parsed the user's config.mak. This meant that "make
NO_PERL=NoThanks" worked fine, but putting "NO_PERL=NoThanks"
into your config.mak broke the build (it wanted gitweb.cgi
to satisfy "all", but the rule to build it was conditionally
ignored, so it complained).

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

t3702: fix reliance on SHELL_PATH being '/bin/sh'Johannes Schindelin Mon, 27 Apr 2009 17:51:42 +0000 (19:51 +0200)

t3702: fix reliance on SHELL_PATH being '/bin/sh'

Trying to be lazy and comparing files with fake-editor.sh to avoid
having to provide another example text does not work well: the blob
name changes when SHELL_PATH changes, and so does the 'index' line
in the diff.

Therefore provide a second example text.

Noticed by Mike Ralphson.

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

grep: fix segfault when "git grep '('" is givenLinus Torvalds Mon, 27 Apr 2009 18:10:24 +0000 (11:10 -0700)

grep: fix segfault when "git grep '('" is given

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

t5701: do not get stuck in empty-push/Johannes Schindelin Mon, 27 Apr 2009 22:12:31 +0000 (00:12 +0200)

t5701: do not get stuck in empty-push/

A test might happen to be the last one in the script, but other people
later may want to add more tests after your test is done.

Do not surprise them by going in a subdirectory to run a part of your test
and never coming out of it. This fixes a162e78 in that respect.

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

NetBSD compilation fixPatrick Welche Sun, 26 Apr 2009 13:49:00 +0000 (14:49 +0100)

NetBSD compilation fix

Similar to other BSD variants, it needs USE_ST_TIMESPEC.

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

Documentation: fix a grammatical error in api-builtin.txtAllan Caffee Mon, 13 Apr 2009 18:11:21 +0000 (14:11 -0400)

Documentation: fix a grammatical error in api-builtin.txt

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

builtin-merge: fix a typo in an error messageAllan Caffee Mon, 13 Apr 2009 18:10:08 +0000 (14:10 -0400)

builtin-merge: fix a typo in an error message

Signed-off-by: Allan Caffee <allan.caffee@gmail.com>
Acked-by: Miklos Vajna <vmiklos@frugalware.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Add semicolon to curly brace group in main MakefileMark Drago Mon, 27 Apr 2009 02:36:48 +0000 (22:36 -0400)

Add semicolon to curly brace group in main Makefile

This semicolon is technically required by POSIX shell and indeed causes a
syntax error with e.g. bash-2.04.0. Cf.

http://www.opengroup.org/onlinepubs/000095399/utilities/xcu_chap02.html#tag_02_09_04_01

Signed-off-by: Mark Drago <markdrago@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

prune-packed: advanced progress even for non-existing... Johannes Sixt Mon, 27 Apr 2009 07:44:58 +0000 (09:44 +0200)

prune-packed: advanced progress even for non-existing fan-out directories

A progress indicator is used to count through the 256 object fan-out
directories while unused object files are removed. (However, it becomes
visible only if this process takes long enough.)

Previously, display_progress() was only called if object files were
actually removed. But if directories towards the end (fd/, fe/, ff/) did
not exist, this could leave a strange line

Removing duplicate objects: 99% (255/256), done.

in the terminal instead of the expected "100% (256/256)".

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

t4202: fix typo v1.6.3-rc3Linus Torvalds Sun, 26 Apr 2009 19:29:13 +0000 (12:29 -0700)

t4202: fix typo

While I did a

make -j64 test > ~/t.out

to check my previous patch (in case some test actually tested 'trustctime'
or something), I noticed this one. Somebody has speeling trouble:

t4202-log.sh: line 345: test_expect_sucess: command not found

Fixed thus.

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

diff: do not color --stat output like patch contextMarkus Heidelberg Fri, 24 Apr 2009 22:06:47 +0000 (00:06 +0200)

diff: do not color --stat output like patch context

The diffstat used the color.diff.plain slot (context text) for coloring
filenames and the whole summary line. This didn't look nice and the
affected text isn't patch context at all.

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

Add an option not to use link(src, dest) && unlink... Johannes Schindelin Sat, 25 Apr 2009 09:57:14 +0000 (11:57 +0200)

Add an option not to use link(src, dest) && unlink(src) when that is unreliable

It seems that accessing NTFS partitions with ufsd (at least on my EeePC)
has an unnerving bug: if you link() a file and unlink() it right away,
the target of the link() will have the correct size, but consist of NULs.

It seems as if the calls are simply not serialized correctly, as single-stepping
through the function move_temp_to_file() works flawlessly.

As ufsd is "Commertial software" (sic!), I cannot fix it, and have to work
around it in Git.

At the same time, it seems that this fixes msysGit issues 222 and 229 to
assume that Windows cannot handle link() && unlink().

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

connect: replace inet_ntop with getnameinfoBenjamin Kramer Fri, 24 Apr 2009 12:16:41 +0000 (14:16 +0200)

connect: replace inet_ntop with getnameinfo

inet_ntop is not protocol independent.
getnameinfo(3) is part of POSIX and is available when getaddrinfo(3) is.
This code is only compiled when NO_IPV6 isn't defined.

The old method was buggy anyway, not every ipv6 address was converted
properly because the buffer (addr) was too small.

Signed-off-by: Benjamin Kramer <benny.kra@googlemail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Documentation: git-clean: make description more readableWesley J. Landaker Sat, 25 Apr 2009 15:13:41 +0000 (09:13 -0600)

Documentation: git-clean: make description more readable

The existing text is a little bit awkward. This rewrites the description
section to be more readable and friendly.

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

Documentation: git-clean: fix minor grammatical errorsWesley J. Landaker Sat, 25 Apr 2009 15:13:40 +0000 (09:13 -0600)

Documentation: git-clean: fix minor grammatical errors

There were a few minor grammatical errors that made this paragraph hard
to read. This patch fixes the errors in a very minimal manner.

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

Remove obsolete bug warning in man git-update-server... Sitaram Chamarty Sat, 25 Apr 2009 10:56:52 +0000 (16:26 +0530)

Remove obsolete bug warning in man git-update-server-info

The bug referred to was fixed in 60d0526

Signed-off-by: Sitaram Chamarty <sitaramc@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t7700-repack: repack -a now works properly, expect... Brandon Casey Fri, 24 Apr 2009 23:18:53 +0000 (18:18 -0500)

t7700-repack: repack -a now works properly, expect success from test

Since the recent rework of the object listing mechanism of
pack-objects/rev-list, git-repack now properly packs objects from alternate
repositories even when the local repository contains packs.

Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t9001: use older Getopt::Long boolean prefix '--no... Brandon Casey Fri, 24 Apr 2009 23:18:52 +0000 (18:18 -0500)

t9001: use older Getopt::Long boolean prefix '--no' rather than '--no-'

The '--no-thread' option is a Getopt::Long boolean option. The '--no-'
prefix (as in --no-thread) for boolean options is not supported in
Getopt::Long version 2.32 which was released with Perl 5.8.0. This version
only supports '--no' as in '--nothread'. More recent versions of
Getopt::Long, such as version 2.34, support either prefix. So use the older
form in the tests.

Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

progress bar: round to the nearest instead of truncatin... Nicolas Pitre Fri, 24 Apr 2009 21:46:15 +0000 (17:46 -0400)

progress bar: round to the nearest instead of truncating down

Often the throughput output is requested when the data read so far is
one smaller than multiple of 1024; because 1023/1024 is ~0.999, it often
shows up as 0.99 because the code currently truncates.

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

bash completion: show-branch color supportMarkus Heidelberg Sat, 25 Apr 2009 11:46:14 +0000 (13:46 +0200)

bash completion: show-branch color support

This implements completion of --color and --no-color for "git
show-branch" and color.showbranch for "git config".

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

GIT 1.6.3-rc2 v1.6.3-rc2Junio C Hamano Sat, 25 Apr 2009 05:54:40 +0000 (22:54 -0700)

GIT 1.6.3-rc2

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

Merge branch 'maint'Junio C Hamano Sat, 25 Apr 2009 05:59:08 +0000 (22:59 -0700)

Merge branch 'maint'

* maint:
test-genrandom: Add newline to usage string

Merge branch 'maint-1.6.1' into maintJunio C Hamano Sat, 25 Apr 2009 05:58:31 +0000 (22:58 -0700)

Merge branch 'maint-1.6.1' into maint

* maint-1.6.1:
test-genrandom: Add newline to usage string

Merge branch 'maint-1.6.0' into maint-1.6.1Junio C Hamano Sat, 25 Apr 2009 05:49:34 +0000 (22:49 -0700)

Merge branch 'maint-1.6.0' into maint-1.6.1

* maint-1.6.0:
test-genrandom: Add newline to usage string

t7800: respect NO_PERLJeff King Fri, 24 Apr 2009 13:56:14 +0000 (09:56 -0400)

t7800: respect NO_PERL

Difftool is written in perl, so we don't build it if NO_PERL
is set.

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

remote.c: do not trigger remote.<name>.<var> codepath... Johannes Sixt Thu, 23 Apr 2009 13:49:05 +0000 (15:49 +0200)

remote.c: do not trigger remote.<name>.<var> codepath for two-level names

If the config file contains a section like this:

[remote]
default = foo

(it should be '[remotes]') then commands like

git status
git checkout
git branch -v

fail even though they are not obviously related to remotes. (These
commands write "ahead, behind" information and, therefore, access the
per-remote information).

Unknown configuration keys should be ignored, not trigger errors.

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

builtin-help: silently tolerate unknown keysJohannes Sixt Thu, 23 Apr 2009 13:49:06 +0000 (15:49 +0200)

builtin-help: silently tolerate unknown keys

If for some reason the config file contains a key without a subkey like

[man]
foo = bar

then even a plain

git help

produces an error message. With this patch such an entry is ignored.

Additionally, the warning about unknown sub-keys is removed. It could
become annoying if new sub-keys are introduced in the future, and then
the configuration is read by an old version of git that does not know
about it.

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

Explain seemingly pointless use of system in difftoolAlex Riesen Thu, 23 Apr 2009 19:18:09 +0000 (21:18 +0200)

Explain seemingly pointless use of system in difftool

Portability reasons.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Makefile: ignore perl/ subdirectory under NO_PERLJunio C Hamano Thu, 23 Apr 2009 05:42:28 +0000 (22:42 -0700)

Makefile: ignore perl/ subdirectory under NO_PERL

The install target still descends into perl subdirectory when NO_PERL is
requested. Fix this.

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

config.txt: Make configuration paragraph more consistentStephen Boyd Thu, 23 Apr 2009 09:38:02 +0000 (02:38 -0700)

config.txt: Make configuration paragraph more consistent

By renaming 'information' to 'configuration' we capture more clearly
what a configuration file holds.

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

config.txt: clarify sentences in the configuration... Stephen Boyd Thu, 23 Apr 2009 09:38:01 +0000 (02:38 -0700)

config.txt: clarify sentences in the configuration and syntax sections

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

config.txt: add missing 'the's and make words pluralStephen Boyd Thu, 23 Apr 2009 09:38:00 +0000 (02:38 -0700)

config.txt: add missing 'the's and make words plural

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

git-format-patch.txt: general rewordings and cleanupsStephen Boyd Thu, 23 Apr 2009 16:16:52 +0000 (09:16 -0700)

git-format-patch.txt: general rewordings and cleanups

Clarify --no-binary description using some words from the original
commit 37c22a4b (add --no-binary, 2008-05-9). Cleanup --suffix
description. Add --thread style option to synopsis and reorganize it a
bit. Clarify renaming patches example and the configuration paragraph.

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

git-show-branch.txt: cleanup example descriptionStephen Boyd Thu, 23 Apr 2009 09:37:58 +0000 (02:37 -0700)

git-show-branch.txt: cleanup example description

Add a missing quote and properly escape the ' character so docs don't
look odd. Add 'the' to make some sentences more gramatically correct.

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

Documentation: use lowercase for shallow and deep threadingStephen Boyd Thu, 23 Apr 2009 09:37:57 +0000 (02:37 -0700)

Documentation: use lowercase for shallow and deep threading

Even when a sentence is started with 'shallow' or 'deep' use the
lowercase version to maintain consistency.

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

config.txt: add missing format.{subjectprefix,cc,attach... Stephen Boyd Thu, 23 Apr 2009 09:37:56 +0000 (02:37 -0700)

config.txt: add missing format.{subjectprefix,cc,attach} variables

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

test-genrandom: Add newline to usage stringStephen Boyd Thu, 23 Apr 2009 07:25:33 +0000 (00:25 -0700)

test-genrandom: Add newline to usage string

A minor fix to place the terminal input on a new line if test-genrandom
is run with no arguments.

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

Merge branch 'jc/maint-read-tree-multi'Junio C Hamano Thu, 23 Apr 2009 02:36:19 +0000 (19:36 -0700)

Merge branch 'jc/maint-read-tree-multi'

* jc/maint-read-tree-multi:
checkout branch: prime cache-tree fully
read-tree -m A B: prime cache-tree from the switched-to tree
Move prime_cache_tree() to cache-tree.c
read-tree A B: do not corrupt cache-tree

Add parsing of elm aliases to git-send-emailBill Pemberton Wed, 22 Apr 2009 13:41:29 +0000 (09:41 -0400)

Add parsing of elm aliases to git-send-email

elm stores a text file version of the aliases that is
<alias> = <comment> = <email address>

This adds the parsing of this file to git-send-email

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Convert to use quiet option when availableDan Loewenherz Thu, 23 Apr 2009 01:46:02 +0000 (21:46 -0400)

Convert to use quiet option when available

A minor fix that eliminates usage of "2>/dev/null" when --quiet or
-q has already been implemented.

Signed-off-by: Dan Loewenherz <daniel.loewenherz@yale.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Fix more typos/spelling in commentsMichael J Gruber Wed, 22 Apr 2009 21:15:56 +0000 (23:15 +0200)

Fix more typos/spelling in comments

A few more fixes on top of the automatic spell checker generated ones.

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

Fix typos / spelling in commentsMike Ralphson Fri, 17 Apr 2009 18:13:30 +0000 (19:13 +0100)

Fix typos / spelling in comments

Signed-off-by: Mike Ralphson <mike@abacus.co.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Documentation: git-svn: fix a grammatical error without... Wesley J. Landaker Wed, 22 Apr 2009 15:48:58 +0000 (09:48 -0600)

Documentation: git-svn: fix a grammatical error without awkwardness

The way the sentence is currently written, there needs to be an "its",
but this leads to: "however the remote wildcard may be anywhere as long
as it's its own" which is awkward to read.

Instead, this patch fixes he grammar in a simpler way.

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

Documentation: git-svn: fix spurious bolding that mangl... Wesley J. Landaker Wed, 22 Apr 2009 15:48:57 +0000 (09:48 -0600)

Documentation: git-svn: fix spurious bolding that mangles the output

Without this fix, the output looks like:

"Keep in mind that the (asterisk) wildcard of the local ref (right of
the :) *must be the ..." -- with half the sentence spuriously bold.

This fixes the problem by simply escaping asciidoc syntax as suggested
by Jeff King <peff@peff.net>.

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

Wait for git diff to finish in git difftoolAlex Riesen Wed, 22 Apr 2009 07:27:22 +0000 (09:27 +0200)

Wait for git diff to finish in git difftool

In ActivetState Perl, exec does not wait for the started program. This
breaks difftool tests and may cause unexpected behaviour: git difftool
has returned, but the rest of code (diff and possibly the interactive
program are still running in the background.

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

show-branch: color the commit status signsMarkus Heidelberg Wed, 22 Apr 2009 21:41:25 +0000 (23:41 +0200)

show-branch: color the commit status signs

Make it possible to color the status character ('*' '!' '+' '-') of each
commit corresponding to the branch it's in. This makes it easier to
follow a particular branch, especially if there are larger gaps in the
output.

Add the config option color.showbranch and the command line options
--color and --no-color to control the colored output.

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

graph API: Use horizontal lines for more compact graphsAllan Caffee Tue, 21 Apr 2009 12:47:01 +0000 (08:47 -0400)

graph API: Use horizontal lines for more compact graphs

Use horizontal lines instead of long diagonal lines during the
collapsing state of graph rendering. For example what used to be:

| | | | |
| | | |/
| | |/|
| |/| |
|/| | |
| | | |

is now

| | | | |
| |_|_|/
|/| | |
| | | |

This results in more compact and legible graphs.

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

graph API: fix a bug in the rendering of octopus mergesAllan Caffee Wed, 22 Apr 2009 21:27:59 +0000 (17:27 -0400)

graph API: fix a bug in the rendering of octopus merges

An off by one error was causing octopus merges with 3 parents to not be
rendered correctly. This regression was introduced by 427fc5.

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

graph API: fix extra space during pre_commit_line stateAllan Caffee Wed, 22 Apr 2009 19:52:13 +0000 (15:52 -0400)

graph API: fix extra space during pre_commit_line state

An extra space is being inserted between the "commit" column and all of
the successive edges. Remove this space. This regression was
introduced by 427fc5b.

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

t4202-log: extend test coverage of graphingAllan Caffee Wed, 22 Apr 2009 21:27:15 +0000 (17:27 -0400)

t4202-log: extend test coverage of graphing

Extend this test to cover the rendering of graphs with octopus merges
and pre_commit lines.

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

Revert "stat_tracking_info(): only count real commits"Junio C Hamano Tue, 21 Apr 2009 23:32:18 +0000 (16:32 -0700)

Revert "stat_tracking_info(): only count real commits"

This reverts commit 19de5d6913b9681d2bde533bccc8445c9236a648.
It produces a misleading output to decide if a merge can fast-forward.

test-lib.sh: Help test_create_repo() find the templates dirMichael J Gruber Tue, 21 Apr 2009 09:21:59 +0000 (11:21 +0200)

test-lib.sh: Help test_create_repo() find the templates dir

Currently, test_create_repo() expects that templates can be found below
`pwd`/.. This assumption fails when tests are run against a git
installed somewhere else or test_create_repo() is called from
subdirectiories (several tests do this).
Therefore, use $TEST_DIRECTORY as introduced in 2d84e9fb and expect
templates to be present in $TEST_DIRECTORY/.. which should be the root
dir of the git checkout.

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

gitk: Fix compare-commits function when we have local... Paul Mackerras Tue, 21 Apr 2009 12:22:31 +0000 (22:22 +1000)

gitk: Fix compare-commits function when we have local changes

This fixes a bug in the compare-commits function added in commit
010509f2 ("gitk: Add a command to compare two strings of commits")
where gitk would show an error dialog if the comparison of commits
got to a fake commit (one showing local changes). It extends
getpatchid to handle these fake commits by using [diffcmd] to get
the git diff command variant to use, and also handles the situation
where an error occurs.

Now that we can have the fake commit IDs showing up, which are
00..00 and 00..01, the short ID is ambiguous. To make sure the links
point to the right commit, this adds a new [appendshortlink] procedure
which takes the full link destination, and uses that rather than
appendwithlinks.

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

Merge branch 'mk/maint-apply-swap'Junio C Hamano Tue, 21 Apr 2009 07:16:09 +0000 (00:16 -0700)

Merge branch 'mk/maint-apply-swap'

* mk/maint-apply-swap:
tests: make test-apply-criss-cross-rename more robust
builtin-apply: keep information about files to be deleted
tests: test applying criss-cross rename patch

Conflicts:
t/t4130-apply-criss-cross-rename.sh

fetch: Strip usernames from url's before storing themAndreas Ericsson Fri, 17 Apr 2009 08:20:11 +0000 (10:20 +0200)

fetch: Strip usernames from url's before storing them

When pulling from a remote, the full URL including username
is by default added to the commit message. Since it adds
very little value but could be used by malicious people to
glean valid usernames (with matching hostnames), we're far
better off just stripping the username before storing the
remote URL locally.

Note that this patch has no lasting visible effect when
"git pull" does not create a merge commit. It simply
alters what gets written to .git/FETCH_HEAD, which is used
by "git merge" to automagically create its messages.

Signed-off-by: Andreas Ericsson <ae@op5.se>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint'Junio C Hamano Tue, 21 Apr 2009 07:00:40 +0000 (00:00 -0700)

Merge branch 'maint'

* maint:
gitcvs-migration: Link to git-cvsimport documentation
Fix off-by-one in read_tree_recursive

grep: don't support "grep.color"-like config optionsMarkus Heidelberg Mon, 20 Apr 2009 22:58:15 +0000 (00:58 +0200)

grep: don't support "grep.color"-like config options

color.grep and color.grep.* is the official and documented way to
highlight grep matches. Comparable options like diff.color.* and
status.color.* exist for backward compatibility reasons only and are not
documented any more.

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

Documentation: fix typos / spelling mistakesMike Ralphson Fri, 17 Apr 2009 18:13:28 +0000 (19:13 +0100)

Documentation: fix typos / spelling mistakes

Signed-off-by: Mike Ralphson <mike@abacus.co.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

builtin-remote: fix typo in option descriptionMike Ralphson Fri, 17 Apr 2009 18:13:29 +0000 (19:13 +0100)

builtin-remote: fix typo in option description

Signed-off-by: Mike Ralphson <mike@abacus.co.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

clone: add test for push on an empty clone.Matthieu Moy Mon, 20 Apr 2009 11:09:37 +0000 (13:09 +0200)

clone: add test for push on an empty clone.

Commit 55f0566 (get_local_heads(): do not return random pointer if
there is no head, 2009-04-17) fixed a segfault for git push, this
patch adds a test-case to avoid future regressions.

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

tests: make test-apply-criss-cross-rename more robustMichał Kiedrowicz Sat, 18 Apr 2009 21:03:57 +0000 (23:03 +0200)

tests: make test-apply-criss-cross-rename more robust

I realized that this test does check if git-apply succeeds, but doesn't
tell if it applies patches correctly. So I added test_cmp to check it.

I also added a test which checks swapping three files.

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

builtin-apply: keep information about files to be deletedMichał Kiedrowicz Sat, 11 Apr 2009 19:31:00 +0000 (21:31 +0200)

builtin-apply: keep information about files to be deleted

Example correct diff generated by `diff -M -B' might look like this:

diff --git a/file1 b/file2
similarity index 100%
rename from file1
rename to file2
diff --git a/file2 b/file1
similarity index 100%
rename from file2
rename to file1

Information about removing `file2' comes after information about creation
of new `file2' (renamed from `file1'). Existing implementation isn't able to
apply such patch, because it has to know in advance which files will be
removed.

This patch populates fn_table with information about removal of files
before calling check_patch() for each patch to be applied.

Signed-off-by: Michał Kiedrowicz <michal.kiedrowicz@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

tests: test applying criss-cross rename patchMichał Kiedrowicz Sat, 11 Apr 2009 15:26:24 +0000 (17:26 +0200)

tests: test applying criss-cross rename patch

Originally reported by Linus in $gmane/116198

Signed-off-by: Michał Kiedrowicz <michal.kiedrowicz@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

gitcvs-migration: Link to git-cvsimport documentationFrank Lichtenheld Sat, 18 Apr 2009 14:38:42 +0000 (16:38 +0200)

gitcvs-migration: Link to git-cvsimport documentation

Signed-off-by: Frank Lichtenheld <flichtenheld@astaro.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Fix off-by-one in read_tree_recursiveJohannes Schindelin Mon, 20 Apr 2009 17:44:53 +0000 (19:44 +0200)

Fix off-by-one in read_tree_recursive

Found by valgrind.

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

Windows: Skip fstat/lstat optimization in write_entry()Johannes Sixt Mon, 20 Apr 2009 08:17:00 +0000 (10:17 +0200)

Windows: Skip fstat/lstat optimization in write_entry()

Commit e4c72923 (write_entry(): use fstat() instead of lstat() when file
is open, 2009-02-09) introduced an optimization of write_entry().
Unfortunately, we cannot take advantage of this optimization on Windows
because there is no guarantee that the time stamps are updated before the
file is closed:

"The only guarantee about a file timestamp is that the file time is
correctly reflected when the handle that makes the change is closed."

(http://msdn.microsoft.com/en-us/library/ms724290(VS.85).aspx)

The failure of this optimization on Windows can be observed most easily by
running a 'git checkout' that has to update several large files. In this
case, 'git checkout' will report modified files, but infact only the
timestamps were incorrectly recorded in the index, as can be verified by a
subsequent 'git diff', which shows no change.

Dmitry Potapov reports the same fix needs on Cygwin; this commit contains
his updates for that.

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

checkout branch: prime cache-tree fullyJunio C Hamano Mon, 20 Apr 2009 10:58:20 +0000 (03:58 -0700)

checkout branch: prime cache-tree fully

When switching to another branch, the earlier code relied on incremental
invalidation of cache-tree entries to degrade it. While it is not wrong
per-se, we know that the resulting index must fully match the branch we
are switching to unless the -m (merge) option is used.

We should simply fully re-prime the cache-tree using the new tree object
in such a case. And for safety, invalidate the cache-tree as a whole in
other cases.

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