gitweb.git
Merge branch 'jc/diff-numstat'Junio C Hamano Thu, 19 Oct 2006 05:08:42 +0000 (22:08 -0700)

Merge branch 'jc/diff-numstat'

* jc/diff-numstat:
diff --numstat

Merge branch 'pb/bisect'Junio C Hamano Thu, 19 Oct 2006 05:08:39 +0000 (22:08 -0700)

Merge branch 'pb/bisect'

* pb/bisect:
bisect reset: Leave the tree in usable state if git-checkout failed

Merge branch 'mw/send-email'Junio C Hamano Thu, 19 Oct 2006 05:08:37 +0000 (22:08 -0700)

Merge branch 'mw/send-email'

* mw/send-email:
Add --dry-run option to git-send-email

Merge branch 'rs/rebase'Junio C Hamano Thu, 19 Oct 2006 05:08:31 +0000 (22:08 -0700)

Merge branch 'rs/rebase'

* rs/rebase:
git-rebase: Add a -v option to show a diffstat of the changes upstream at the start of a rebase.
git-rebase: Use --ignore-if-in-upstream option when executing git-format-patch.

Merge branch 'sb/fetch'Junio C Hamano Thu, 19 Oct 2006 05:08:29 +0000 (22:08 -0700)

Merge branch 'sb/fetch'

* sb/fetch:
merge and resolve: Output short hashes and .. in "Updating ..."
fetch: Misc output cleanup

Merge branch 'sk/svn'Junio C Hamano Thu, 19 Oct 2006 05:08:26 +0000 (22:08 -0700)

Merge branch 'sk/svn'

* sk/svn:
git-svnimport.perl: copying directory from original SVN place

Merge branch 'rs/zip'Junio C Hamano Thu, 19 Oct 2006 05:08:24 +0000 (22:08 -0700)

Merge branch 'rs/zip'

* rs/zip:
git-archive --format=zip: add symlink support
git-archive --format=zip: use default version ID

Add revspec documentation for ':path', ':[0-3]:path... pclouds@gmail.com Thu, 19 Oct 2006 03:04:55 +0000 (10:04 +0700)

Add revspec documentation for ':path', ':[0-3]:path' and git-describe

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

Reject hexstring longer than 40-bytes in get_short_sha1()pclouds@gmail.com Thu, 19 Oct 2006 01:34:41 +0000 (08:34 +0700)

Reject hexstring longer than 40-bytes in get_short_sha1()

Such a string can never be a valid object name.

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

reduce delta head inflated sizeNicolas Pitre Wed, 18 Oct 2006 19:56:22 +0000 (15:56 -0400)

reduce delta head inflated size

Supposing that both the base and result sizes were both full size 64-bit
values, their encoding would occupy only 9.2 bytes each. Therefore
inflating 64 bytes is way overkill. Limit it to 20 bytes instead which
should be plenty enough for a couple years to come.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

git-imap-send: Strip smtp From_ header from imap message. v1.4.3Markus Amsler Thu, 12 Oct 2006 22:19:35 +0000 (00:19 +0200)

git-imap-send: Strip smtp From_ header from imap message.

Cyrus imap refuses messages with a 'From ' Header.

[jc: Mike McCormack says this is fine with Courier as well.]

Signed-off-by: Markus Amsler <markus.amsler@oribi.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

add proper dependancies on the xdiff sourceAndy Whitcroft Tue, 17 Oct 2006 18:08:08 +0000 (19:08 +0100)

add proper dependancies on the xdiff source

We are not rebuilding the xdiff library when its header files change.
Add dependancies for those to the main Makefile.

Signed-off-by: Andy Whitcroft <apw@shadowen.org>
Acked-by: Ryan Anderson <ryan@google.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

bisect reset: Leave the tree in usable state if git... Petr Baudis Mon, 16 Oct 2006 00:59:25 +0000 (02:59 +0200)

bisect reset: Leave the tree in usable state if git-checkout failed

I had local modifications in the tree and doing bisect reset required me to
manually edit .git/HEAD.

Signed-off-by: Petr Baudis <pasky@suse.cz>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Merge branch 'maint'Junio C Hamano Tue, 17 Oct 2006 04:58:54 +0000 (21:58 -0700)

Merge branch 'maint'

* maint:
Fix hash function in xdiff library

Fix hash function in xdiff library v1.4.2.4Linus Torvalds Tue, 17 Oct 2006 02:58:54 +0000 (19:58 -0700)

Fix hash function in xdiff library

Jim Mayering noticed that xdiff library took insanely long time
when comparing files with many identical lines.

This was because the hash function used in the library is broken
on 64-bit architectures and caused too many collisions.

http://thread.gmane.org/gmane.comp.version-control.git/28962/focus=28994

Acked-by: Davide Libenzi <davidel@xmaliserver.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

svnimport: Fix broken tags being generatedPetr Baudis Mon, 16 Oct 2006 01:00:37 +0000 (03:00 +0200)

svnimport: Fix broken tags being generated

Currently git-svnimport generates broken tags missing the timespec in the
'tagger' line. This is a random stab at a minimal fix.

Signed-off-by: Petr Baudis <pasky@suse.cz>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Replace open-coded version of hash_sha1_file()Rene Scharfe Sun, 15 Oct 2006 12:02:18 +0000 (14:02 +0200)

Replace open-coded version of hash_sha1_file()

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Make write_sha1_file_prepare() voidRene Scharfe Sun, 15 Oct 2006 12:02:03 +0000 (14:02 +0200)

Make write_sha1_file_prepare() void

Move file name generation from write_sha1_file_prepare() to the one
caller that cares and make it a void function.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Revert "move pack creation to version 3"Junio C Hamano Sun, 15 Oct 2006 06:37:41 +0000 (23:37 -0700)

Revert "move pack creation to version 3"

This reverts commit 16854571aae6302f457c5fbee41ac64669b09595.
Git as recent as v1.1.6 do not understand version 3 delta.

v1.2.0 is Ok and I personally would say it is old enough, but
the improvement between version 2 and version 3 delta is not
bit enough to justify breaking older clients.

We should resurrect this later, but when we do so we shold
make it conditional.

Signed-off-by: Junio C Hamano <junkio@cox.net>

Merge branch 'jc/http' v1.4.3-rc3Junio C Hamano Sun, 15 Oct 2006 01:25:28 +0000 (18:25 -0700)

Merge branch 'jc/http'

* jc/http:
Add WEBDAV timeout to http-fetch.

clone: the given repository dir should be relative... Yasushi SHOJI Sat, 14 Oct 2006 12:02:51 +0000 (21:02 +0900)

clone: the given repository dir should be relative to $PWD

the repository argument for git-clone should be relative to $PWD
instead of the given target directory. The old behavior gave us
surprising success and you need a few minute to know why it worked.

GIT_DIR is already exported so no need to cd into $D. And this makes
$PWD for git-fetch-pack, which is the actual command to take the given
repository dir, the same as git-clone.

Signed-off-by: Yasushi SHOJI <yashi@atmark-techno.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

cvsserver: fix "cvs diff" in a subdirectoryJohannes Schindelin Tue, 10 Oct 2006 22:33:28 +0000 (00:33 +0200)

cvsserver: fix "cvs diff" in a subdirectory

Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>

cvsserver: Show correct letters for modified, removed... Johannes Schindelin Tue, 10 Oct 2006 22:20:43 +0000 (00:20 +0200)

cvsserver: Show correct letters for modified, removed and added files

Earlier, cvsserver showed always an 'U', sometimes even without a space
between the 'U' and the name. Now, the correct letter is shown, with a
space.

Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>

git-svn: reduce memory usage for large commitsEric Wong Sat, 14 Oct 2006 22:48:35 +0000 (15:48 -0700)

git-svn: reduce memory usage for large commits

apply_textdelta and send_stream can use a separate pool from the
rest of the editor interface, so we'll use a separate SVN::Pool
for them and clear the pool after each file is sent to SVN.

This drastically reduces memory usage per-changeset committed,
and makes large commits (and initial imports) of several
thousand files possible.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Fix tracing when GIT_TRACE is set to an empty string.Christian Couder Sat, 14 Oct 2006 14:05:25 +0000 (16:05 +0200)

Fix tracing when GIT_TRACE is set to an empty string.

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Make write_sha1_file_prepare() staticRene Scharfe Sat, 14 Oct 2006 10:45:45 +0000 (12:45 +0200)

Make write_sha1_file_prepare() static

There are no callers of write_sha1_file_prepare() left outside of
sha1_file.c, so make it static.

Signed-off-by: Junio C Hamano <junkio@cox.net>

Add hash_sha1_file()Rene Scharfe Sat, 14 Oct 2006 10:45:36 +0000 (12:45 +0200)

Add hash_sha1_file()

Most callers of write_sha1_file_prepare() are only interested in the
resulting hash but don't care about the returned file name or the header.
This patch adds a simple wrapper named hash_sha1_file() which does just
that, and converts potential callers.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <junkio@cox.net>

git-svn: fix commits over svn+ssh://Eric Wong Sat, 14 Oct 2006 09:02:37 +0000 (02:02 -0700)

git-svn: fix commits over svn+ssh://

Once a get_commit_editor has been called from an SVN session, RA
layer operations are not allowed (well, unless you're using
file:// or http(s)://). So we'll pass an alternate SVN::Ra
object to our editor object for running 'check-path'.

This should fix commits over svnserve (svn:// without ssh, too).

Closes Debian bug #392702, thanks to Pierre Habouzit for
reporting the bug.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>

diff --numstatJunio C Hamano Thu, 12 Oct 2006 10:01:00 +0000 (03:01 -0700)

diff --numstat

[jc: with documentation from Jakub]

Signed-off-by: Junio C Hamano <junkio@cox.net>

t4015: work-around here document problem on Cygwin.Junio C Hamano Fri, 13 Oct 2006 21:20:27 +0000 (14:20 -0700)

t4015: work-around here document problem on Cygwin.

Signed-off-by: Junio C Hamano <junio@twinsun.com>

Documentation: add missing second colons and remove... Rene Scharfe Thu, 12 Oct 2006 16:26:34 +0000 (18:26 +0200)

Documentation: add missing second colons and remove a typo

It takes two colons to mark text as item label.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <junkio@cox.net>

diff: fix 2 whitespace issuesJohannes Schindelin Thu, 12 Oct 2006 12:22:14 +0000 (14:22 +0200)

diff: fix 2 whitespace issues

When whitespace or whitespace change was ignored, the function
xdl_recmatch() returned memcmp() style differences, which is wrong,
since it should return 0 on non-match.

Also, there were three horrible off-by-one bugs, even leading to wrong
hashes in the whitespace special handling.

The issue was noticed by Ray Lehtiniemi.

For good measure, this commit adds a test.

Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>

apply --numstat -z: line termination fix.Junio C Hamano Thu, 12 Oct 2006 09:57:39 +0000 (02:57 -0700)

apply --numstat -z: line termination fix.

Signed-off-by: Junio C Hamano <junkio@cox.net>

git-svn: add a message encouraging use of SVN::* librariesEric Wong Thu, 12 Oct 2006 01:19:55 +0000 (18:19 -0700)

git-svn: add a message encouraging use of SVN::* libraries

I'm using svn 1.4.0-4 in Debian unstable and apparently there's
a regression on the SVN side that prevents a symlink from
becoming a regular file (which git supports, of course).

It's not a noticeable regression for most people, but this broke
the full-svn-tests target in t/Makefile for me.

The SVN::* Perl libraries seem to have matured and improved over
the past year, and git-svn has supported them for several months
now, so with that I encourage all users to start using the
SVN::* Perl libraries with git-svn.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>

commit: fix a segfault when displaying a commit with... Eric Wong Wed, 11 Oct 2006 23:16:02 +0000 (16:16 -0700)

commit: fix a segfault when displaying a commit with unreachable parents

I was running git show on various commits found by fsck-objects
when I found this bug. Since find_unique_abbrev() cannot find
an abbreviation for an object not in the database, it will
return NULL, which is bad to run strlen() on. So instead, we'll
just display the unabbreviated sha1 that we referenced in the
commit.

I'm not sure that this is the best 'fix' for it because the
commit I was trying to show was broken, but I don't think a
program should segfault even if the user tries to do something
stupid.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>

git-svn: -h(elp) message formatting fixesEric Wong Wed, 11 Oct 2006 21:53:36 +0000 (14:53 -0700)

git-svn: -h(elp) message formatting fixes

'graft-branches' is slightly longer than the rest of the
commands, so the text was squished together in the formatted
output. This patch just adds some more whitespace to make
the text look more pleasant.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Documentation/git-svn: document some of the newer featuresEric Wong Wed, 11 Oct 2006 21:53:35 +0000 (14:53 -0700)

Documentation/git-svn: document some of the newer features

I've forgotten to document many of the features added along the
way in the manpages. This fills in some holes in the
documentation and adds updates some outdated information.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>

git-svn: log command fixesEric Wong Wed, 11 Oct 2006 18:53:22 +0000 (11:53 -0700)

git-svn: log command fixes

Change the --verbose flag to more closely match svn. I was
somehow under the impression that --summary included --raw diff
output, but I was wrong. We now pass -r --raw --name-status as
arguments if passed -v/--verbose.

-r (recursive) is passed by default, since users usually want
it, and accepting it causes difficulty with the -r<revision>
option used by svn users. A --non-recursive switch has been
added to disable this.

Of course, --summary, --raw, -p and any other git-log options
can still be passed directly (without --name-status).

Also, several warnings about referencing undefined variables
have been fixed.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>

git-svn: multi-init saves and reuses --tags and --branc... Eric Wong Wed, 11 Oct 2006 18:53:21 +0000 (11:53 -0700)

git-svn: multi-init saves and reuses --tags and --branches arguments

This should make it much easier to track newly added tags and
branches. Re-running multi-init without command-line arguments
should now detect new-tags and branches.

--trunk shouldn't change often, but running multi-init on it
is now idempotent.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>

atomic write for sideband remote messagesNicolas Pitre Wed, 11 Oct 2006 15:49:15 +0000 (11:49 -0400)

atomic write for sideband remote messages

It has been a few times that I ended up with such a confusing display:

|remote: Generating pack...
|remote: Done counting 17 objects.
|remote: Result has 9 objects.
|remote: Deltifying 9 objects.
|remote: 100% (9/9) done
|remote: Unpacking 9 objects
|Total 9, written 9 (delta 8), reused 0 (delta 0)
| 100% (9/9) done

The confusion can be avoided in most cases by writing the remote message
in one go to prevent interleacing with local messages. The buffer
declaration has been moved inside recv_sideband() to avoid extra string
copies.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Add --dry-run option to git-send-emailMatthew Wilcox Tue, 10 Oct 2006 14:58:23 +0000 (08:58 -0600)

Add --dry-run option to git-send-email

Add a --dry-run option to git-send-email due to having made too many
mistakes with it in the past week. I like having a safety catch on my
machine gun.

Signed-off-by: Matthew @ilcox <matthew@wil.cx>
Signed-off-by: Junio C Hamano <junkio@cox.net>

git.spec.in: perl subpackage is installed in perl_vendo... Junio C Hamano Wed, 11 Oct 2006 07:57:17 +0000 (07:57 +0000)

git.spec.in: perl subpackage is installed in perl_vendorlib not vendorarch

Signed-off-by: Junio C Hamano <junio@hera.kernel.org>

git-pull: we say commit X, not X commit.Junio C Hamano Wed, 11 Oct 2006 06:00:29 +0000 (23:00 -0700)

git-pull: we say commit X, not X commit.

Signed-off-by: Junio C Hamano <junkio@cox.net>

git-fetch --update-head-ok typofixJunio C Hamano Wed, 11 Oct 2006 05:29:02 +0000 (22:29 -0700)

git-fetch --update-head-ok typofix

Martin Waitz noticed that one of the case arms had an impossible
choice. It turns out that what it was checking was redundant and
the typo did not have any effect.

Signed-off-by: Junio C Hamano <junkio@cox.net>

paginate git-diff by defaultMartin Waitz Tue, 10 Oct 2006 19:16:25 +0000 (21:16 +0200)

paginate git-diff by default

add commit count options to git-shortlog v1.4.3-rc2Nicolas Pitre Fri, 6 Oct 2006 19:39:09 +0000 (15:39 -0400)

add commit count options to git-shortlog

This patch does 3 things:

1) Output the number of commits along with the name for each author
(nice to know for long lists spending more than a screen worth of
commit lines).

2) Provide a switch (-n) to sort authors according to their number of
commits instead of author alphabetic order.

3) Provide a switch (-s) to supress commit lines and only keep a
summary of authors and the number of commits for each of them.

And for good measure a short usage is displayed with -h.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Fix git-revertJunio C Hamano Tue, 10 Oct 2006 02:19:45 +0000 (19:19 -0700)

Fix git-revert

Defaulting to $replay for the sake of fixing cherry-pick was not
done conditionally, which broke git-revert.

Noticed by Luben.

Signed-off-by: Junio C Hamano <junkio@cox.net>

git-svnimport.perl: copying directory from original... Sasha Khapyorsky Sun, 8 Oct 2006 21:31:18 +0000 (23:31 +0200)

git-svnimport.perl: copying directory from original SVN place

When copying whole directory, if source directory is not in already
imported tree, try to get it from original SVN location. This happens
when source directory is not matched by provided 'trunk' and/or
'tags/branches' templates or when it is not part of specified SVN
sub-project.

Signed-off-by: Sasha Khapyorsky <sashak@voltaire.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Add WEBDAV timeout to http-fetch.Junio C Hamano Sun, 8 Oct 2006 19:56:19 +0000 (12:56 -0700)

Add WEBDAV timeout to http-fetch.

Sean <seanlkml@sympatico.ca> writes:

> On Sat, 07 Oct 2006 21:52:02 -0700
> Junio C Hamano <junkio@cox.net> wrote:
>
>> Using DAV, if it works with the server, has the advantage of not
>> having to keep objects/info/packs up-to-date from repository
>> owner's point of view. But the repository owner ends up keeping
>> up-to-date as a side effect of keeping info/refs up-to-date
>> anyway (as I do not see a code to read that information over
>> DAV), so there is no point doing this over DAV in practice.
>>
>> Perhaps we should remove call to remote_ls() from
>> fetch_indices() unconditionally, not just protected with
>> NO_EXPAT and be done with it?
>
> That makes a lot of sense. A server really has to always provide
> a objects/info/packs anyway, just to be fetchable today by clients
> that are compiled with NO_EXPAT.

And even for an isolated group where everybody knows that
everybody else runs DAV-enabled clients, they need info/refs
prepared for ls-remote and git-fetch script, which means you
will run update-server-info to keep objects/info/packs up to
date.

Nick, do you see holes in my logic?

-- >8 --
http-fetch.c: drop remote_ls()

While doing remote_ls() over DAV potentially allows the server
side not to keep objects/info/pack up-to-date, misconfigured or
buggy servers can silently ignore or not to respond to DAV
requests and makes the client hang.

The server side (unfortunately) needs to run git-update-server-info
even if remote_ls() removes the need to keep objects/info/pack file
up-to-date, because the caller of git-http-fetch (git-fetch) and other
clients that interact with the repository (e.g. git-ls-remote) need to
read from info/refs file (there is no code to make that unnecessary by
using DAV yet).

Perhaps the right solution in the longer-term is to make info/refs
also unnecessary by using DAV, and we would want to resurrect the
code this patch removes when we do so, but let's drop remote_ls()
implementation for now. It is causing problems without really
helping anything yet.

git will keep it for us until we need it next time.

Signed-off-by: Junio C Hamano <junkio@cox.net>

gitweb: Cleanup Git logo and Git logo target generationJakub Narebski Fri, 6 Oct 2006 10:31:05 +0000 (12:31 +0200)

gitweb: Cleanup Git logo and Git logo target generation

Rename $githelp_url and $githelp_label to $logo_url and $logo_label to
be more obvious what they refer to; while at it add commented out
previous contents (git documentation at kernel.org). Add comment about
logo size.

Use $cgi->a(...) to generate Git logo link; it automatically escapes
attribute values when it is needed. Escape href attribute using
esc_url instead of (incorrect!) esc_html.

Move styling of git logo <img> element from "style" attribute to CSS
via setting class to "logo". Perhaps we should set it by id rather
than by class.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

git-tar-tree: don't RUN_SETUPRene Scharfe Sun, 8 Oct 2006 13:44:50 +0000 (15:44 +0200)

git-tar-tree: don't RUN_SETUP

Noted by Jiri Slaby, git-tar-tree --remote doesn't need to be run
from inside of a git archive. Since git-tar-tree is now only a
wrapper for git-archive, which calls setup_git_directory() as
needed, we should drop the flag RUN_SETUP.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <junkio@cox.net>

git-archive --format=zip: add symlink supportRene Scharfe Fri, 6 Oct 2006 23:47:35 +0000 (01:47 +0200)

git-archive --format=zip: add symlink support

Add symlink support to ZIP file creation, and a few tests.

This implementation sets the "version made by" field
(creator_version) to Unix for symlinks, only; regular files and
directories are still marked as originating from FAT/VFAT/NTFS.

Also set "external file attributes" (attr2) to 0 for regular
files and 16 for directories (FAT attribute), and to the file
mode for symlinks.

We could always set the creator_version to Unix and include the
mode, but then Info-ZIP unzip would set the mode of the extracted
files to *exactly* the value stored in attr2. The FAT trick
makes it apply the umask instead. Note: FAT has no executable
bit, so this information is not stored in the ZIP file.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <junkio@cox.net>

git-archive --format=zip: use default version IDRene Scharfe Fri, 6 Oct 2006 23:47:24 +0000 (01:47 +0200)

git-archive --format=zip: use default version ID

Use 10 for the "version needed to extract" field. This is the
default value, and we want to use it because we don't do anything
special. Info-ZIP's zip uses it, too.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <junkio@cox.net>

test-lib: separate individual test better in verbose... Martin Waitz Sat, 7 Oct 2006 19:27:46 +0000 (21:27 +0200)

test-lib: separate individual test better in verbose mode.

When running tests with --verbose it is difficult to see where
one test starts and where it ends because everything is printed
in one big lump.
Fix that by printing one single newline between each test.

Signed-off-by: Martin Waitz <tali@admingilde.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

git-commit: fix coding style.Martin Waitz Sat, 7 Oct 2006 19:07:40 +0000 (21:07 +0200)

git-commit: fix coding style.

git-commit.sh was using a mixture of spaces and tabs for indentation.
This is changed to one tab per indentation level.
No code changes.

Signed-off-by: Martin Waitz <tali@admingilde.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

gitweb: [commit view] Do not suppress commitdiff link... Petr Baudis Fri, 6 Oct 2006 16:59:33 +0000 (18:59 +0200)

gitweb: [commit view] Do not suppress commitdiff link in root commit

There's no reason for that, the commitdiff view is meaningful for the
root commit as well and we link to it everywhere else.

Signed-off-by: Petr Baudis <pasky@suse.cz>
Signed-off-by: Junio C Hamano <junkio@cox.net>

gitweb: Handle commits with empty commit messages more... Petr Baudis Fri, 6 Oct 2006 16:55:04 +0000 (18:55 +0200)

gitweb: Handle commits with empty commit messages more reasonably

Currently those look very weird, you can't get easily at the commit view
etc. This patch makes their title '(no commit message)'.

Signed-off-by: Petr Baudis <pasky@suse.cz>
Signed-off-by: Junio C Hamano <junkio@cox.net>

gitweb: Separate (new) and (deleted) in commitdiff... Petr Baudis Fri, 6 Oct 2006 16:00:17 +0000 (18:00 +0200)

gitweb: Separate (new) and (deleted) in commitdiff by a space

Currently it's pasted to the sha1 of the blob and looks ugly.

Signed-off-by: Petr Baudis <pasky@suse.cz>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Show snapshot link in shortlog only if have_snapshoPetr Baudis Fri, 6 Oct 2006 13:57:52 +0000 (15:57 +0200)

Show snapshot link in shortlog only if have_snapsho

Signed-off-by: Petr Baudis <pasky@suse.cz>
Signed-off-by: Junio C Hamano <junkio@cox.net>

gitweb: refactor decode() for utf8 conversionYasushi SHOJI Sun, 1 Oct 2006 21:21:33 +0000 (06:21 +0900)

gitweb: refactor decode() for utf8 conversion

we already had a few place using decode() to convert perl internal
encode to utf8. added a new thin wrapper to do just that.

Signed-off-by: Yasushi SHOJI <yashi@atmark-techno.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Add default values for --window and --depth to the... Dennis Stosberg Fri, 6 Oct 2006 09:15:03 +0000 (11:15 +0200)

Add default values for --window and --depth to the docs

Currently, you actually have to read the source to find out the
default values. While at it, fix two typos and suggest that these
options actually take a parameter in git-pack-objects.txt.

Signed-off-by: Dennis Stosberg <dennis@stosberg.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>

cherry-pick: make -r the defaultJunio C Hamano Fri, 6 Oct 2006 00:54:14 +0000 (17:54 -0700)

cherry-pick: make -r the default

And introduce -x to expose (possibly) private commit object name
for people who cherry-pick between public branches.

Signed-off-by: Junio C Hamano <junkio@cox.net>

git-send-email: avoid uninitialized variable warning.Junio C Hamano Thu, 5 Oct 2006 23:36:15 +0000 (16:36 -0700)

git-send-email: avoid uninitialized variable warning.

The code took length of $reply_to when it was not even defined,
causing -w to warn.

Signed-off-by: Junio C Hamano <junkio@cox.net>

gitweb: Make the Git logo link target to point to the... Junio C Hamano Sat, 23 Sep 2006 19:36:01 +0000 (12:36 -0700)

gitweb: Make the Git logo link target to point to the homepage

It provides more useful information for causual Git users than the Git docs
(especially about where to get Git and such).

People can override with GITWEB_CONFIG if they want to.

Signed-off-by: Petr Baudis <pasky@suse.cz>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Acked-by: Petr Baudis <pasky@suse.cz>

gitweb: blame: Minimize vertical table row paddingLuben Tuikov Thu, 5 Oct 2006 20:30:31 +0000 (13:30 -0700)

gitweb: blame: Minimize vertical table row padding

Minimize vertical table row padding for blame only. I
discovered this while having the browser's blame output
right next to my editor's window, only to notice how much
vertically stretched the blame output was.

Blame most likely shows source code and is in this way
more "spartan" than the rest of the tables gitweb shows.

This patch makes the blame table more vertically compact,
thus being closer to what you'd see in your editor's window,
as well as reusing more window estate to show more
information (which in turn minimizes scrolling).

Signed-off-by: Luben Tuikov <ltuikov@yahoo.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

gitweb: Do not print "log" and "shortlog" redundantly... Luben Tuikov Thu, 5 Oct 2006 19:22:57 +0000 (12:22 -0700)

gitweb: Do not print "log" and "shortlog" redundantly in commit view

Do not print "log" and "shortlog" redundantly in commit
view. This is passed into the $extra argument of
git_print_page_nav from git_commit, but git_print_page_nav
prints "log" and "shortlog" already with the same head.

Noticed by Junio.

Signed-off-by: Luben Tuikov <ltuikov@yahoo.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

vc-git.el: Switch to using git-blame instead of git... Alexandre Julliard Thu, 5 Oct 2006 09:30:44 +0000 (11:30 +0200)

vc-git.el: Switch to using git-blame instead of git-annotate.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

git.el: Fixed inverted "renamed from/to" message.Alexandre Julliard Thu, 5 Oct 2006 09:29:57 +0000 (11:29 +0200)

git.el: Fixed inverted "renamed from/to" message.

The deleted file should be labeled "renamed to" and the added file
"renamed from", not the other way around (duh!)

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

tar-tree deprecation: we eat our own dog food.Junio C Hamano Thu, 5 Oct 2006 09:26:12 +0000 (02:26 -0700)

tar-tree deprecation: we eat our own dog food.

It is silly to keep using git-tar-tree in dist target when the
command gives a big deprecation warning when called. Instead,
use "git-archive --format=tar" which we recommend to our users.

Update gitweb's snapshot feature to use git-archive for the same
reason.

Signed-off-by: Junio C Hamano <junkio@cox.net>

Add git-upload-archive to the main git man pageFranck Bui-Huu Thu, 5 Oct 2006 08:42:16 +0000 (10:42 +0200)

Add git-upload-archive to the main git man page

Signed-off-by: Franck Bui-Huu <fbuihuu@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

git-rebase: Add a -v option to show a diffstat of the... Robert Shearman Tue, 3 Oct 2006 16:29:31 +0000 (17:29 +0100)

git-rebase: Add a -v option to show a diffstat of the changes upstream at the start of a rebase.

Signed-off-by: Robert Shearman <rob@codeweavers.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

git-rebase: Use --ignore-if-in-upstream option when... Robert Shearman Tue, 3 Oct 2006 16:29:26 +0000 (17:29 +0100)

git-rebase: Use --ignore-if-in-upstream option when executing git-format-patch.

This reduces the number of conflicts when rebasing after a series of
patches to the same piece of code is committed upstream.

Signed-off-by: Robert Shearman <rob@codeweavers.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

git-commit: cleanup unused function.Martin Waitz Tue, 3 Oct 2006 16:38:25 +0000 (18:38 +0200)

git-commit: cleanup unused function.

The report() function is not used anymore. Kill it.

Signed-off-by: Martin Waitz <tali@admingilde.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Fix usage string to match that given in the man pageAlan Chandler Tue, 3 Oct 2006 20:11:25 +0000 (21:11 +0100)

Fix usage string to match that given in the man page

Still not managed to understand git-send-mail sufficiently well to not
accidently miss of this list when I sending it to Junio

Signed-off-by: Alan Chandler <alan@chandlerfamily.org.uk>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Update the gitweb/README file to include setting the... Alan Chandler Tue, 3 Oct 2006 21:48:46 +0000 (22:48 +0100)

Update the gitweb/README file to include setting the GITWEB_CONFIG environment

Signed-off-by: Alan Chandler <alan@chandlerfamily.org.uk>
Signed-off-by: Junio C Hamano <junkio@cox.net>

gitweb: document webserver configuration for common... Martin Waitz Tue, 3 Oct 2006 08:03:28 +0000 (10:03 +0200)

gitweb: document webserver configuration for common gitweb/repo URLs.

Add a small apache configuration which shows how to use apache
to put gitweb and GIT repositories at the same URL.

Signed-off-by: Martin Waitz <tali@admingilde.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

gitweb: Escape ESCAPE (\e) characterLuben Tuikov Mon, 2 Oct 2006 21:54:53 +0000 (14:54 -0700)

gitweb: Escape ESCAPE (\e) character

Take a look at commit 20a3847d8a5032ce41f90dcc68abfb36e6fee9b1
using gitweb before this patch. This patch fixes this.

Signed-off-by: Luben Tuikov <ltuikov@yahoo.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

escape tilde in Documentation/git-rev-parse.txtJunio C Hamano Tue, 3 Oct 2006 05:52:57 +0000 (22:52 -0700)

escape tilde in Documentation/git-rev-parse.txt

Fixes a failure to build the git-rev-parse manpage, seen with
asciidoc 8.0.0

We would love to use nicer quoting $$~$$ but alas asciidoc 7
does not know about it. So use asciidoc.conf and define {tilde}
to be &#126;.

Signed-off-by: Junio C Hamano <junkio@cox.net>
Acked-by: Stefan Richter <stefanr@s5r6.in-berlin.de>

Error in test description of t1200-tutorialRobin Rosenberg Tue, 3 Oct 2006 00:02:15 +0000 (02:02 +0200)

Error in test description of t1200-tutorial

Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

lock_ref_sha1_basic does not remove empty directories... Dennis Stosberg Mon, 2 Oct 2006 17:23:53 +0000 (19:23 +0200)

lock_ref_sha1_basic does not remove empty directories on BSD

lock_ref_sha1_basic relies on errno beeing set to EISDIR by the
call to read() in resolve_ref() to detect directories. But calling
read() on a directory under NetBSD returns EPERM, and even succeeds
for local filesystems on FreeBSD.

Signed-off-by: Dennis Stosberg <dennis@stosberg.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Merge branch 'maint'Junio C Hamano Mon, 2 Oct 2006 07:47:32 +0000 (00:47 -0700)

Merge branch 'maint'

* maint:
git-push: .git/remotes/ file does not require SP after colon
git-mv: invalidate the removed path properly in cache-tree

git-push: .git/remotes/ file does not require SP after... v1.4.2.3Junio C Hamano Mon, 2 Oct 2006 07:43:52 +0000 (00:43 -0700)

git-push: .git/remotes/ file does not require SP after colon

Although most people would have one after colon if only for
readability, we never required it in git-parse-remote, so let's
not require one only in git-push.

Signed-off-by: Junio C Hamano <junkio@cox.net>

git-mv: invalidate the removed path properly in cache... Junio C Hamano Mon, 2 Oct 2006 05:22:07 +0000 (22:22 -0700)

git-mv: invalidate the removed path properly in cache-tree

The command updated the cache without invalidating the cache
tree entries while removing an existing entry.

Signed-off-by: Junio C Hamano <junkio@cox.net>

Makefile: install and clean merge-recur, still.Junio C Hamano Mon, 2 Oct 2006 04:41:46 +0000 (21:41 -0700)

Makefile: install and clean merge-recur, still.

We advertised git-merge-recur for some time, and we planned to
support it for one release after we made it the 'recursive'.

However we forgot to install it nor have "make clean" clean it.

Signed-off-by: Junio C Hamano <junkio@cox.net>

GIT 1.4.3-rc1 v1.4.3-rc1Junio C Hamano Sun, 1 Oct 2006 10:08:55 +0000 (03:08 -0700)

GIT 1.4.3-rc1

Signed-off-by: Junio C Hamano <junkio@cox.net>

Merge branch 'maint'Junio C Hamano Sun, 1 Oct 2006 08:10:03 +0000 (01:10 -0700)

Merge branch 'maint'

* maint:
git-diff -B output fix.
Fix git-am safety checks
Fix duplicate xmalloc in builtin-add

Merge branch 'jc/gitpm'Junio C Hamano Sun, 1 Oct 2006 06:38:24 +0000 (23:38 -0700)

Merge branch 'jc/gitpm'

* jc/gitpm: (52 commits)
Remove -fPIC which was only needed for Git.xs
Git.pm: Kill Git.xs for now
Revert "Make it possible to set up libgit directly (instead of from the environment)"
Revert "Git.pm: Introduce fast get_object() method"
Revert "Convert git-annotate to use Git.pm"
Fix compilation with Sun CC
pass DESTDIR to the generated perl/Makefile
Eliminate Scalar::Util usage from private-Error.pm
Convert git-annotate to use Git.pm
Git.pm: Introduce fast get_object() method
Make it possible to set up libgit directly (instead of from the environment)
Work around sed and make interactions on the backslash at the end of line.
Git.pm: Introduce ident() and ident_person() methods
Convert git-send-email to use Git.pm
Git.pm: Add config() method
Use $GITPERLLIB instead of $RUNNING_GIT_TESTS and centralize @INC munging
INSTALL: a tip for running after building but without installing.
Perly Git: make sure we do test the freshly built one.
Git.pm: Don't #define around die
Git.xs: older perl do not know const char *
...

merge and resolve: Output short hashes and .. in "Updat... Santi Béjar Sun, 1 Oct 2006 03:34:17 +0000 (05:34 +0200)

merge and resolve: Output short hashes and .. in "Updating ..."

Signed-off-by: Santi Béjar <sbejar@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

fetch: Misc output cleanupSanti B\e,Ai\e(Bjar Sun, 1 Oct 2006 03:33:05 +0000 (05:33 +0200)

fetch: Misc output cleanup

In particular it removes duplicate information, uses short hashes (as
git-log and company) and uses .. for fast forwarding commits and ... for
not-fast-forwarding commits (shorter, easier to copy&paste). It also
reformat the output as:

1. the ones we store in our local ref (either branches or tags):

1a) fast-forward

* refs/heads/origin: fast forward to branch 'master' of ../git/
old..new: 1ad7a06..bc1a580

1b) same (only shown under -v)

* refs/heads/next: same as branch 'origin/next' of ../git/
commit: ce47b9f

1c) non-fast-forward, forced

* refs/heads/pu: forcing update to non-fast forward branch 'pu' of ../git/
old...new: 7c733a8...5faa935

1d) non-fast-forward, did not update because not forced

* refs/heads/po: not updating to non-fast forward branch 'po' of ../git/
old...new: 7c733a8...5faa935

1e) creating a new local ref to store

* refs/tags/v1.4.2-rc4: storing tag 'v1.4.2-rc4' of ../git/
tag: 8c7a107
* refs/heads/next: storing branch 'next' of ../git/
commit: f8a20ae

2. the ones we do not store in our local ref (only shown under -v):

* fetched branch 'master' of ../git
commit: 695dffe
* fetched tag 'v1.4.2-rc4' of ../git
tag: 8c7a107

Signed-off-by: Santi B\e.A\eNijar <sbejar@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Merge branch 'jc/diff-stat'Junio C Hamano Sun, 1 Oct 2006 04:29:18 +0000 (21:29 -0700)

Merge branch 'jc/diff-stat'

* jc/diff-stat:
diff --stat: ensure at least one '-' for deletions, and one '+' for additions
diff --stat=width[,name-width]: allow custom diffstat output width.
diff --stat: color output.
diff --stat: allow custom diffstat output width.

Merge branch 'lt/web'Junio C Hamano Sun, 1 Oct 2006 04:27:51 +0000 (21:27 -0700)

Merge branch 'lt/web'

* lt/web:
gitweb: tree view: hash_base and hash are now context sensitive
gitweb: History: blob and tree are first, then commitdiff, etc
gitweb: Remove redundant "commit" from history
gitweb: Don't use quotemeta on internally generated strings
gitweb: Add snapshot to shortlog
gitweb: Factor out gitweb_have_snapshot()
gitweb: Remove redundant "commit" link from shortlog
gitweb: "alternate" starts with shade (i.e. 1)
gitweb: Add history and blame to git_difftree_body()
gitweb: Remove excessively redundant entries from git_difftree_body
Revert "gitweb: extend blame to show links to diff and previous"
gitweb: Quote filename in HTTP Content-Disposition: header
gitweb: Add git_url subroutine, and use it to quote full URLs
gitweb: Split validate_input into validate_pathname and validate_refname
gitweb: Use "return" instead of "return undef" for some subs
gitweb: Strip trailing slashes from $path in git_get_hash_by_path
gitweb: extend blame to show links to diff and previous
gitweb: Remove redundant "tree" link
gitweb: tree view: eliminate redundant "blob"

gitweb: tree view: hash_base and hash are now context... Luben Tuikov Fri, 29 Sep 2006 16:57:43 +0000 (09:57 -0700)

gitweb: tree view: hash_base and hash are now context sensitive

In tree view, by default, hash_base is HEAD and hash is the
entry equivalent. Else the user had selected a hash_base or
hash, say by clicking on a revision or commit, in which case
those values are used.

Signed-off-by: Luben Tuikov <ltuikov@yahoo.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

git-diff -B output fix. v1.4.2.2Junio C Hamano Fri, 29 Sep 2006 09:06:24 +0000 (02:06 -0700)

git-diff -B output fix.

Geert noticed that complete rewrite diff missed the usual a/ and b/
leading paths. Pickaxe says it never worked, ever.

Embarrassing.

Signed-off-by: Junio C Hamano <junkio@cox.net>
(cherry picked from bc1a5807575b2f34538d4158834da6524a4fc1f7 commit)

fetch: Reset remote refs list each time fetch_main... Santi Béjar Fri, 29 Sep 2006 18:05:40 +0000 (20:05 +0200)

fetch: Reset remote refs list each time fetch_main is called

This prevents the fetch of the heads again in the second call of fetch_main.

Signed-off-by: Santi Béjar <sbejar@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Remove -fPIC which was only needed for Git.xsJunio C Hamano Fri, 29 Sep 2006 07:34:51 +0000 (00:34 -0700)

Remove -fPIC which was only needed for Git.xs

The distinction between BASIC_ vs ALL_ is still kept, since it
is not Git.xs specific -- we could face the same issue when we
do other language bindings (e.g. Python).

Signed-off-by: Junio C Hamano <junkio@cox.net>

Fix approxidate() to understand 12:34 AM/PM are 00... Linus Torvalds Fri, 29 Sep 2006 19:36:13 +0000 (12:36 -0700)

Fix approxidate() to understand 12:34 AM/PM are 00:34 and 12:34

It just simplifies the whole thing to say

"hour = (hour % 12) + X"

where X is 12 for PM and 0 for AM.

It also fixes the "exact date" parsing, which didn't parse AM at all, and
as such would do the same "12:30 AM" means "12:30 24-hour-format" bug. Of
course, I hope that no exact dates use AM/PM anyway, but since we support
the PM format, let's just get it right.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

git-diff -B output fix.Junio C Hamano Fri, 29 Sep 2006 09:06:24 +0000 (02:06 -0700)

git-diff -B output fix.

Geert noticed that complete rewrite diff missed the usual a/ and b/
leading paths. Pickaxe says it never worked, ever.

Embarrassing.

Signed-off-by: Junio C Hamano <junkio@cox.net>

Make cvsexportcommit remove files.Robin Rosenberg Thu, 28 Sep 2006 23:28:55 +0000 (01:28 +0200)

Make cvsexportcommit remove files.

Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

diff --stat: ensure at least one '-' for deletions... Johannes Schindelin Thu, 28 Sep 2006 15:37:39 +0000 (17:37 +0200)

diff --stat: ensure at least one '-' for deletions, and one '+' for additions

The number of '-' and '+' is still linear. The idea is that
scaled-length := floor(a * length + b) with the following constraints: if
length == 1, scaled-length == 1, and the combined length of plusses
and minusses should not be larger than the width by a small margin. Thus,

a + b == 1

and
a * max_plusses + b + a * max_minusses + b = width + 1

The solution is

a * x + b = ((width - 1) * (x - 1) + max_change - 1)
/ (max_change - 1)

Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>

diff --stat=width[,name-width]: allow custom diffstat... Linus Torvalds Thu, 28 Sep 2006 22:07:16 +0000 (15:07 -0700)

diff --stat=width[,name-width]: allow custom diffstat output width.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>