gitweb.git
Fix markup in git-svn man pageKarl Hasselström Fri, 4 May 2007 07:03:22 +0000 (09:03 +0200)

Fix markup in git-svn man page

Some of the existing markup was just plain broken, and some subcommand
options weren't indented properly.

Signed-off-by: Karl Hasselström <kha@treskal.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

git-tag(1): -v option is a subcommand; fix code blockJonas Fonseca Tue, 1 May 2007 07:24:59 +0000 (09:24 +0200)

git-tag(1): -v option is a subcommand; fix code block

When the -v is passed, git-tag will exit after it is processed like it
does with the -d and -l options. Additionally, missing code block caused
wrong rendering of an option example.

Signed-off-by: Jonas Fonseca <fonseca@diku.dk>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Improve request-pull to handle non-rebased branchesShawn O. Pearce Tue, 1 May 2007 06:08:23 +0000 (02:08 -0400)

Improve request-pull to handle non-rebased branches

This is actually a few different changes to request-pull,
making it slightly smarter:

1) Minor cleanup of revision->base variable names, making it
follow the head/headrev naming convention that is already
in use.

2) Compute the merge-base between the two revisions upfront
and reuse that selected merge-base to create the diffstat.

3) Refuse to generate a pull request for branches that have no
existing relationship. These aren't very common and would mess
up our diffstat generation.

4) Disable the PAGER when running shortlog and diff, as these
would otherwise activate the pager for each command when
git-request-pull is run on a tty. Instead users can get the
entire output paged (if desired) using `git -p request-pull`.

5) Use shortlog rather than `git log | git shortlog` now that
recent shortlog versions are able to run the revision listing
internally.

6) Attempt to resolve the input URL using the user's configured
remotes. This is useful if the URL you want the recipient to
see is also the one you used to push your changes. If not a
config-file remote could easily be setup for the public URL
and request-pull could be passed that name instead.

7) Automatically guess and include the remote branch name in the
body of the message. We list the branch name immediately after
the URL, making it easy for the recipient to copy and paste
the entire line onto a `git pull` command line. Rumor has it
Linus likes this format, for exactly that reason.

If multiple branches at the remote match $headrev we take the
first one returned by peek-remote and assume it is suitable.

If no branches are available we warn the user about the problem,
but insert a static string that is not a valid branch name
and would be obvious to anyone reading the message as being
totally incorrect. This allows users to still generate a
template message without network access (for example) and
hand-correct the bits that cannot be verified.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Merge branch 'maint'Junio C Hamano Fri, 4 May 2007 06:26:54 +0000 (23:26 -0700)

Merge branch 'maint'

* maint:
gitweb: use decode_utf8 directly
posix compatibility for t4200
Document 'opendiff' value in config.txt and git-mergetool.txt
Allow PERL_PATH="/usr/bin/env perl"
Make xstrndup common
diff.c: fix "size cache" handling.
http-fetch: Disable use of curl multi support for libcurl < 7.16.

gitweb: use decode_utf8 directlyIsmail Dönmez Tue, 1 May 2007 21:12:13 +0000 (00:12 +0300)

gitweb: use decode_utf8 directly

Using decode() tries to decode data that is already UTF-8 and
borks, but decode_utf8 from Encode.pm has a built-in safety
against that.

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

posix compatibility for t4200Bryan Larsen Wed, 2 May 2007 21:53:23 +0000 (17:53 -0400)

posix compatibility for t4200

Fix t4200 so that it also works on OS X by not relying on gnu
extensions to sed.

Signed-off-by: Bryan Larsen <bryan@larsen.st>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Document 'opendiff' value in config.txt and git-mergeto... Arjen Laarhoven Thu, 3 May 2007 18:29:15 +0000 (20:29 +0200)

Document 'opendiff' value in config.txt and git-mergetool.txt

Signed-off-by: Arjen Laarhoven <arjen@yaph.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Allow PERL_PATH="/usr/bin/env perl"Bryan Larsen Thu, 3 May 2007 22:58:56 +0000 (18:58 -0400)

Allow PERL_PATH="/usr/bin/env perl"

There is a mechanism PERL_PATH in the Makefile to specify path to
Perl binary, but sometimes it is convenient to let 'env' figure
out where Perl comes from, with PERL_PATH="/usr/bin/env perl".

Allowing this would make things easier to MacPorts, where we wish
to work with the MacPorts perl if it is installed, but fall back
to the system perl if it isn't.

Signed-off-by: Bryan Larsen <bryan@larsen.st>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Make xstrndup commonDaniel Barkalow Thu, 3 May 2007 02:49:41 +0000 (22:49 -0400)

Make xstrndup common

This also improves the implementation to match how strndup is
specified (by GNU): if the length given is longer than the string,
only the string's length is allocated and copied, but the string need
not be null-terminated if it is at least as long as the given length.

Signed-off-by: Daniel Barkalow <barkalow@iabervon.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

diff.c: fix "size cache" handling.Junio C Hamano Thu, 3 May 2007 20:00:43 +0000 (13:00 -0700)

diff.c: fix "size cache" handling.

We broke the size-cache handling when we changed the function
signature of sha1_object_info() in 21666f1a. We obviously
wanted to cache the size we obtained when sha1_object_info()
succeeded, not when it failed.

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

http-fetch: Disable use of curl multi support for libcu... Alexandre Julliard Wed, 2 May 2007 12:53:23 +0000 (14:53 +0200)

http-fetch: Disable use of curl multi support for libcurl < 7.16.

curl_multi_remove_handle() is broken in libcurl < 7.16, in that it
doesn't correctly update the active handles count when a request is
aborted. This causes the transfer to hang forever waiting for the
handle count to become less than the number of active requests.

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

blame: use .mailmap unconditionallyJunio C Hamano Thu, 3 May 2007 06:58:14 +0000 (23:58 -0700)

blame: use .mailmap unconditionally

There really isn't any point in turning off .mailmap. The
number of mailmap lookups are bounded by number of lines in the
target file, and the real blame processing is much more
expensive. If it turns out to be too costly, we should optimize
the mailmap lookup itself, instead of avoiding the call.

If the author information of commits of the project are
relatively clean, .mailmap would have only small number of
entries, and the overhead of looking it up will not be high. On
the other hand, if the author information is really screwed up
that a good .mailmap needs to be maintained to run shortlog,
giving uncleaned names in blame output is not helpful at all
either.

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

Merge branch 'maint'Junio C Hamano Wed, 2 May 2007 18:27:31 +0000 (11:27 -0700)

Merge branch 'maint'

* maint:
cvsserver: Handle re-added files correctly
Fix compilation of test-delta

Merge branch 'maint' of git://repo.or.cz/git/fastimport... Junio C Hamano Wed, 2 May 2007 18:00:16 +0000 (11:00 -0700)

Merge branch 'maint' of git://repo.or.cz/git/fastimport into maint

* 'maint' of git://repo.or.cz/git/fastimport:
Teach import-tars about GNU tar's @LongLink extension.

cvsserver: Handle re-added files correctlyFrank Lichtenheld Wed, 2 May 2007 00:43:14 +0000 (02:43 +0200)

cvsserver: Handle re-added files correctly

We can't unconditionally assign revision 1.1 to
newly added files. In case the file did exist in the
past and was deleted we need to honor the old
revision number.

Signed-off-by: Frank Lichtenheld <frank@lichtenheld.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Don't use seq in tests, not everyone has itShawn O. Pearce Wed, 2 May 2007 16:59:55 +0000 (12:59 -0400)

Don't use seq in tests, not everyone has it

For example Mac OS X lacks the seq command. So we cannot use it
there. A good old while loop works just as good.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

Reuse fixup_pack_header_footer in index-packShawn O. Pearce Wed, 2 May 2007 16:14:15 +0000 (12:14 -0400)

Reuse fixup_pack_header_footer in index-pack

Now that fast-import is using a "library function" to handle
correcting its packfile's object count and trailing SHA-1 we
should reuse the same function in index-pack, to reduce the
size of the code we must maintain.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

Create pack-write.c for common pack writing codeDana L. How Wed, 2 May 2007 16:13:14 +0000 (12:13 -0400)

Create pack-write.c for common pack writing code

Include a generalized fixup_pack_header_footer() in this new file.
Needed by git-repack --max-pack-size feature in a later patchset.

[sp: Moved close(pack_fd) to callers, to support index-pack, and
changed name to better indicate it is for packfiles.]

Signed-off-by: Dana L. How <danahow@gmail.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

Merge branch 'gfi-maint' into gfi-masterShawn O. Pearce Wed, 2 May 2007 17:24:10 +0000 (13:24 -0400)

Merge branch 'gfi-maint' into gfi-master

* gfi-maint:
Teach import-tars about GNU tar's @LongLink extension.

Teach import-tars about GNU tar's @LongLink extension.Johannes Schindelin Tue, 1 May 2007 21:42:44 +0000 (23:42 +0200)

Teach import-tars about GNU tar's @LongLink extension.

This extension allows GNU tar to process file names in excess of the 100
characters defined by the original tar standard. It does this by faking a
file, named '././@LongLink' containing the true file name, and then adding
the file with a truncated name. The idea is that tar without this
extension will write out a file with the long file name, and write the
contents into a file with truncated name.

Unfortunately, GNU tar does a lousy job at times. When truncating results
in a _directory_ name, it will happily use _that_ as a truncated name for
the file.

An example where this actually happens is gcc-4.1.2, where the full path
of the file WeThrowThisExceptionHelper.java truncates _exactly_ before the
basename. So, we have to support that ad-hoc extension.

This bug was noticed by Chris Riddoch on IRC.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

git-gui: Track our own embedded values and rebuild... Shawn O. Pearce Sun, 29 Apr 2007 07:02:10 +0000 (03:02 -0400)

git-gui: Track our own embedded values and rebuild when they change

Like core-Git we now track the values that we embed into our shell
script wrapper, and we "recompile" that wrapper if they are changed.
This concept was lifted from git.git's Makefile, where a similar
thing was done by Eygene Ryabinkin. Too bad it wasn't just done
here in git-gui from the beginning, as the git.git Makefile support
for GIT-GUI-VARS was really just because git-gui doesn't do it on
its own.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

git-gui: Refactor to use our git proc more oftenShawn O. Pearce Sun, 29 Apr 2007 05:54:57 +0000 (01:54 -0400)

git-gui: Refactor to use our git proc more often

Whenever we want to execute a git subcommand from the plumbing
layer (and on rare occasion, the more porcelain-ish layer) we
tend to use our proc wrapper, just to make the code slightly
cleaner at the call sites. I wasn't doing that in a couple of
places, so this is a simple cleanup to correct that.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

git-gui: Use option database defaults to set the fontShawn O. Pearce Sun, 29 Apr 2007 03:14:08 +0000 (23:14 -0400)

git-gui: Use option database defaults to set the font

Rather than passing "-font font_ui" to every widget that we
create we can instead reconfigure the option database for
all widget classes to use our font_ui as the default widget
font. This way Tk will automatically setup their defaults
for us, and we can reduce the size of the application.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

git-gui: Cleanup common font handling for font_uiShawn O. Pearce Sun, 29 Apr 2007 02:00:02 +0000 (22:00 -0400)

git-gui: Cleanup common font handling for font_ui

An earlier change tossed these optionMenu font configurations
all over the code, when really we can just rename the proc to
a hidden internal name and provide our own wrapper to install
the font configuration we really want.

We also don't need to set these option database entries in all
of the procedures that open dialogs; instead we should just set
one time, them after we have the font configuration ready for use.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

git-gui: Correct line wrapping for too many branch... Shawn O. Pearce Sun, 29 Apr 2007 01:32:27 +0000 (21:32 -0400)

git-gui: Correct line wrapping for too many branch message

Since Tk automatically wraps lines for us in tk_messageBox
widgets we don't need to try to wrap them ourselves. Its
actually worse that we linewrapped this here in the script,
as not all fonts will render this dialog nicely.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

git-gui: Warn users before making an octopus mergeShawn O. Pearce Sun, 29 Apr 2007 01:26:27 +0000 (21:26 -0400)

git-gui: Warn users before making an octopus merge

A coworker who was new to git-gui recently tried to make an octopus
merge when he did not quite mean to. Unfortunately in his case the
branches had file level conflicts and failed to merge with the octopus
strategy, and he didn't quite know why this happened. Since most users
really don't want to perform an octopus merge this additional safety
valve in front of the merge process is a good thing.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

git-gui: Include the subject in the status bar after... Shawn O. Pearce Sun, 29 Apr 2007 00:49:22 +0000 (20:49 -0400)

git-gui: Include the subject in the status bar after commit

Now that the command line git-commit has made displaying
the subject (first line) of the newly created commit popular
we can easily do the same thing here in git-gui, without the
ugly part of forking off a child process to obtain that first
line.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

Merge branch 'maint'Shawn O. Pearce Wed, 2 May 2007 16:45:31 +0000 (12:45 -0400)

Merge branch 'maint'

* maint:
git-gui: Allow spaces in path to 'wish'

git-gui: Allow spaces in path to 'wish'Shawn O. Pearce Wed, 2 May 2007 16:44:44 +0000 (12:44 -0400)

git-gui: Allow spaces in path to 'wish'

If the path of our wish executable that are running under
contains spaces we need to make sure they are escaped in
a proper Tcl list, otherwise we are unable to start gitk.

Reported by Randal L. Schwartz on #git.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

Fix compilation of test-deltaMartin Koegler Tue, 1 May 2007 09:47:55 +0000 (11:47 +0200)

Fix compilation of test-delta

The code used write_in_full() without pulling its declarations from the
header file. When header is included, usage[] collides with usage()
function.

Signed-off-by: Martin Koegler <mkoegler@auto.tuwien.ac.at>
Signed-off-by: Junio C Hamano <junkio@cox.net>

GIT v1.5.2-rc1 v1.5.2-rc1Junio C Hamano Tue, 1 May 2007 00:30:02 +0000 (17:30 -0700)

GIT v1.5.2-rc1

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

Merge branch 'maint'Junio C Hamano Tue, 1 May 2007 00:16:19 +0000 (17:16 -0700)

Merge branch 'maint'

* maint:
GIT v1.5.1.3
send-email documentation: clarify --smtp-server
git.7: Mention preformatted html doc location
Clarify SubmittingPatches Checklist
git-svn: Add 'find-rev' command
Fix symlink handling in git-svn, related to PerlIO

GIT v1.5.1.3 v1.5.1.3Junio C Hamano Tue, 1 May 2007 00:09:48 +0000 (17:09 -0700)

GIT v1.5.1.3

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

Include mailmap.h in mailmap.c to catch mailmap interfa... Alex Riesen Mon, 30 Apr 2007 22:31:52 +0000 (00:31 +0200)

Include mailmap.h in mailmap.c to catch mailmap interface changes

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Remove pointless calls to access(2) when checking for... Alex Riesen Mon, 30 Apr 2007 22:27:05 +0000 (00:27 +0200)

Remove pointless calls to access(2) when checking for .mailmap

read_mailmap already returns not 0 in case of error, and nothing
seem to be interested in it. It also is silent about the fact
(read_mailmap being to chatty would justify the call to access,
but there is no point for it to be and it isn't).

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Fix read_mailmap to handle a caller uninterested in... Alex Riesen Mon, 30 Apr 2007 22:26:36 +0000 (00:26 +0200)

Fix read_mailmap to handle a caller uninterested in repo abbreviation

The only such a caller builtin-blame.c would pass NULL as the place
where to store the abbreviation.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Use strlcpy instead of strncpy in mailmap.cAlex Riesen Mon, 30 Apr 2007 22:22:53 +0000 (00:22 +0200)

Use strlcpy instead of strncpy in mailmap.c

strncpy does not NUL-terminate output in case of output buffer too short,
and map_email prototype (and usage) does not allow for figuring out
what the length of the name is.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

send-email documentation: clarify --smtp-serverJari Aalto Mon, 30 Apr 2007 12:37:28 +0000 (15:37 +0300)

send-email documentation: clarify --smtp-server

It can be either hostname/address, or a full path to a
local executable.

Signed-off-by: Jari Aalto <jari.aalto@cante.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>

git.7: Mention preformatted html doc locationJari Aalto Mon, 30 Apr 2007 11:21:38 +0000 (14:21 +0300)

git.7: Mention preformatted html doc location

Signed-off-by: Jari Aalto <jari.aalto@cante.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Clarify SubmittingPatches ChecklistJari Aalto Mon, 30 Apr 2007 16:04:25 +0000 (19:04 +0300)

Clarify SubmittingPatches Checklist

Separate things to be checked when making commits, and things
to be checked when sending patches.

Signed-off-by: Jari Aalto <jari.aalto@cante.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>

git-svn: Add 'find-rev' commandAdam Roben Sun, 29 Apr 2007 08:35:27 +0000 (01:35 -0700)

git-svn: Add 'find-rev' command

This patch adds a new 'find-rev' command to git-svn that lets you easily
translate between SVN revision numbers and git tree-ish.

Signed-off-by: Adam Roben <aroben@apple.com>
Acked-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Fix symlink handling in git-svn, related to PerlIOJunio C Hamano Sun, 29 Apr 2007 21:05:54 +0000 (14:05 -0700)

Fix symlink handling in git-svn, related to PerlIO

After reading the leading contents from a symlink data obtained
from subversion, which we expect to begin with 'link ', the code
forked to hash the remainder (which should match readlink()
result) using git-hash-objects, by redirecting its STDIN from
the filehandle we read that 'link ' from. This was Ok with Perl
on modern Linux, but on Mac OS, the read in the parent process
slurped more than we asked for in stdio buffer, and the child
did not correctly see the "remainder".

This attempts to fix the issue by using lower level sysseek and
sysread instead of seek and read to bypass the stdio buffer.

Signed-off-by: Junio C Hamano <junkio@cox.net>
Acked-by: Eric Wong <normalperson@yhbt.net>
Acked-by: Seth Falcon <sethfalcon@gmail.com>

Merge branch 'jc/attr'Junio C Hamano Sun, 29 Apr 2007 18:01:27 +0000 (11:01 -0700)

Merge branch 'jc/attr'

* jc/attr:
Add 'filter' attribute and external filter driver definition.
Add 'ident' conversion.

Make sure test-genrandom and test-chmtime are builtas... Junio C Hamano Sat, 28 Apr 2007 22:32:49 +0000 (15:32 -0700)

Make sure test-genrandom and test-chmtime are builtas part of the main build.

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

Make macros to prevent double-inclusion in headers... Junio C Hamano Sun, 29 Apr 2007 06:38:52 +0000 (23:38 -0700)

Make macros to prevent double-inclusion in headers consistent.

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

Apply mailmap in git-blame output.Junio C Hamano Fri, 27 Apr 2007 07:42:15 +0000 (00:42 -0700)

Apply mailmap in git-blame output.

This makes git-blame to use the same mailmap used by
git-shortlog.

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

Split out mailmap handling out of shortlogJunio C Hamano Fri, 27 Apr 2007 07:41:15 +0000 (00:41 -0700)

Split out mailmap handling out of shortlog

This splits out a few functions to deal with mailmap from
shortlog and makes it a bit more usable from other programs.
Most notably, it does not clobber input e-mail address anymore.

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

blame -s: suppress author name and time.Junio C Hamano Thu, 12 Apr 2007 22:50:45 +0000 (15:50 -0700)

blame -s: suppress author name and time.

With this "git blame -b -s HEAD~n..HEAD" becomes a nicer way to
review the result of recent changes in context.

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

Fall back to $EMAIL for missing GIT_AUTHOR_EMAIL and... Josh Triplett Sun, 29 Apr 2007 01:40:28 +0000 (18:40 -0700)

Fall back to $EMAIL for missing GIT_AUTHOR_EMAIL and GIT_COMMITTER_EMAIL

Some other programs get the user's email address from $EMAIL, so fall back to
that if we don't have a Git-specific email address.

Signed-off-by: Josh Triplett <josh@freedesktop.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Merge commit 'gfi/master'Junio C Hamano Sun, 29 Apr 2007 08:54:28 +0000 (01:54 -0700)

Merge commit 'gfi/master'

* commit 'gfi/master':

Merge branch 'maint'Junio C Hamano Sun, 29 Apr 2007 08:52:43 +0000 (01:52 -0700)

Merge branch 'maint'

* maint:
http.c: Fix problem with repeated calls of http_init
Add missing reference to GIT_COMMITTER_DATE in git-commit-tree documentation
Fix import-tars fix.
Update .mailmap with "Michael"
Do not barf on too long action description
Catch empty pathnames in trees during fsck
Don't allow empty pathnames in fast-import
import-tars: be nice to wrong directory modes
git-svn: Added 'find-rev' command
git shortlog documentation: add long options and fix a typo

http.c: Fix problem with repeated calls of http_initJulian Phillips Sun, 29 Apr 2007 02:46:42 +0000 (03:46 +0100)

http.c: Fix problem with repeated calls of http_init

Calling http_init after calling http_cleanup causes a segfault. This
is due to the pragma_header curl_slist being freed but not being set
to NULL. The subsequent call to http_init tries to setup the slist
again, but it now points to an invalid memory location.

Signed-off-by: Julian Phillips <julian@quantumfyre.co.uk>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Add missing reference to GIT_COMMITTER_DATE in git... Josh Triplett Sun, 29 Apr 2007 01:40:12 +0000 (18:40 -0700)

Add missing reference to GIT_COMMITTER_DATE in git-commit-tree documentation

Signed-off-by: Josh Triplett <josh@freedesktop.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Fix import-tars fix.Junio C Hamano Sun, 29 Apr 2007 07:31:14 +0000 (00:31 -0700)

Fix import-tars fix.

This heeds advice from our resident Perl expert to make sure
the script is not confused with a string that ends with /\n

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

Update .mailmap with "Michael"Junio C Hamano Sun, 29 Apr 2007 07:22:00 +0000 (00:22 -0700)

Update .mailmap with "Michael"

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

Do not barf on too long action descriptionJunio C Hamano Sat, 28 Apr 2007 07:15:48 +0000 (00:15 -0700)

Do not barf on too long action description

Reflog message is primarily about easier identification, and
leaving truncated entry is much better than dying.

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

Merge branch 'maint' of git://repo.or.cz/git/fastimport... Junio C Hamano Sun, 29 Apr 2007 01:15:00 +0000 (18:15 -0700)

Merge branch 'maint' of git://repo.or.cz/git/fastimport into maint

* 'maint' of git://repo.or.cz/git/fastimport:
Don't allow empty pathnames in fast-import
import-tars: be nice to wrong directory modes

Catch empty pathnames in trees during fsckShawn O. Pearce Sun, 29 Apr 2007 00:29:23 +0000 (20:29 -0400)

Catch empty pathnames in trees during fsck

Released versions of fast-import have been able to create a tree that
contains files or subtrees that contain no name. Unfortunately these
trees aren't valid, but people may have actually tried to create them
due to bugs in import-tars.perl or their own fast-import frontend.

We now look for this unusual condition and warn the user if at
least one of their tree objects contains the problem.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Merge branch 'gfi-maint' into gfi-masterShawn O. Pearce Sun, 29 Apr 2007 00:05:58 +0000 (20:05 -0400)

Merge branch 'gfi-maint' into gfi-master

* gfi-maint:
Don't allow empty pathnames in fast-import
import-tars: be nice to wrong directory modes

Merge commit 'jc/maint' into gfi-maintShawn O. Pearce Sun, 29 Apr 2007 00:05:20 +0000 (20:05 -0400)

Merge commit 'jc/maint' into gfi-maint

* commit 'jc/maint': (35 commits)
Update git-http-fetch documentation
Update git-local-fetch documentation
Update git-http-push documentation
Update -L documentation for git-blame/git-annotate
Update git-grep documentation
Update git-fmt-merge documentation
Document additional options for git-fetch
Removing -n option from git-diff-files documentation
Start preparing for 1.5.1.3
Sanitize @to recipients.
git-svn: Ignore usernames in URLs in find_by_url
Document --dry-run and envelope-sender for git-send-email.
Allow users to optionally specify their envelope sender.
Ensure clean addresses are always used with Net::SMTP
Validate @recipients before using it for sendmail and Net::SMTP.
Perform correct quoting of recipient names.
Change the scope of the $cc variable as it is not needed outside of send_message.
Debugging cleanup improvements
Prefix Dry- to the message status to denote dry-runs.
Document --dry-run parameter to send-email.
...

Don't allow empty pathnames in fast-importShawn O. Pearce Sun, 29 Apr 2007 00:01:27 +0000 (20:01 -0400)

Don't allow empty pathnames in fast-import

riddochc on #git noticed corruption caused by import-tars. This
was fixed in the prior commit by Dscho, but fast-import was wrong
to have allowed a tree to be created with an empty string as the
filename. No operating system allows this, and Git itself doesn't
accept this into the index.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

import-tars: be nice to wrong directory modesJohannes Schindelin Sat, 28 Apr 2007 23:59:47 +0000 (01:59 +0200)

import-tars: be nice to wrong directory modes

Some tars seem to have modes 0755 for directories, not 01000755. Do
not generate an empty object for them, but ignore them.

Noticed by riddochc on IRC.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

git-svn: Added 'find-rev' commandAdam Roben Fri, 27 Apr 2007 18:57:53 +0000 (11:57 -0700)

git-svn: Added 'find-rev' command

This patch adds a new 'find-rev' command to git-svn that lets you easily
translate between SVN revision numbers and git tree-ish.

Signed-off-by: Adam Roben <aroben@apple.com>
Acked-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>

git shortlog documentation: add long options and fix... Michele Ballabio Fri, 27 Apr 2007 19:56:47 +0000 (21:56 +0200)

git shortlog documentation: add long options and fix a typo

Signed-off-by: Michele Ballabio <barra_cuda@katamail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Merge branch 'maint'Junio C Hamano Fri, 27 Apr 2007 06:29:09 +0000 (23:29 -0700)

Merge branch 'maint'

* maint:
Update git-http-fetch documentation
Update git-local-fetch documentation
Update git-http-push documentation
Update -L documentation for git-blame/git-annotate
Update git-grep documentation
Update git-fmt-merge documentation
Document additional options for git-fetch
Removing -n option from git-diff-files documentation

Update git-http-fetch documentationAndrew Ruder Fri, 27 Apr 2007 04:59:02 +0000 (23:59 -0500)

Update git-http-fetch documentation

Documentation/git-http-fetch.txt: --recover to resume a failed fetch
operation.

Signed-off-by: Andrew Ruder <andy@aeruder.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Update git-local-fetch documentationAndrew Ruder Fri, 27 Apr 2007 04:59:01 +0000 (23:59 -0500)

Update git-local-fetch documentation

Documentation/git-local-fetch.txt: -s to use
symbolic links instead of file-to-file copy, -l
to use hardlinks, -n to never use file-to-file
copies, --recover to resume a failed fetch.

Signed-off-by: Andrew Ruder <andy@aeruder.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Update git-http-push documentationAndrew Ruder Fri, 27 Apr 2007 04:59:00 +0000 (23:59 -0500)

Update git-http-push documentation

Documentation/git-http-push.txt: Changing --complete to --all. Added
documentation for -d and -D to remote remote refs.

Signed-off-by: Andrew Ruder <andy@aeruder.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Update -L documentation for git-blame/git-annotateAndrew Ruder Fri, 27 Apr 2007 04:58:59 +0000 (23:58 -0500)

Update -L documentation for git-blame/git-annotate

Documenting alternate ways to use -L:

-L /regex/,end
-L start,+offset

Signed-off-by: Andrew Ruder <andy@aeruder.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Update git-grep documentationAndrew Ruder Fri, 27 Apr 2007 04:58:58 +0000 (23:58 -0500)

Update git-grep documentation

Documentation/git-grep.txt: Document -F/--fixed-strings to
search for non-regexp patterns. Document -I to not search
binary files. Document -<num> as a shortcut for -C<num>.

Signed-off-by: Andrew Ruder <andy@aeruder.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Update git-fmt-merge documentationAndrew Ruder Fri, 27 Apr 2007 04:58:57 +0000 (23:58 -0500)

Update git-fmt-merge documentation

Documentation/git-fmt-merge-msg.txt:
--summary to list commit summaries on merge
--no-summary
--file to take merged objects from a file.
Configuration option merge.summary

Signed-off-by: Andrew Ruder <andy@aeruder.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Document additional options for git-fetchAndrew Ruder Fri, 27 Apr 2007 04:58:56 +0000 (23:58 -0500)

Document additional options for git-fetch

Document --quiet/-q and --verbose/-v
Add -n as an alternate for --no-tags
Fix some whitespace issues

Signed-off-by: Andrew Ruder <andy@aeruder.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Removing -n option from git-diff-files documentationAndrew Ruder Fri, 27 Apr 2007 04:58:55 +0000 (23:58 -0500)

Removing -n option from git-diff-files documentation

-n is not a short form of --no-index as the documentation
suggests. Removing it from the documentation and command
usage string.

Signed-off-by: Andrew Ruder <andy@aeruder.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>

post-receive-email example hook: sed command for gettin... Andy Parkins Thu, 26 Apr 2007 21:37:16 +0000 (22:37 +0100)

post-receive-email example hook: sed command for getting description was wrong

The sed command that extracted the first line of the project description
didn't include the -n switch and hence the project name was being
printed twice. This was ruining the email header generation because it
was assumed that the description was only one line and was included in
the subject. This turned the subject into a two line item and
prematurely finished the header.

Signed-off-by: Andy Parkins <andyparkins@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

post-receive-email example hook: detect rewind-only... Andy Parkins Thu, 26 Apr 2007 21:36:24 +0000 (22:36 +0100)

post-receive-email example hook: detect rewind-only updates and output sensible message

Sometimes a non-fast-forward update doesn't add new commits, it merely
removes old commits. This patch adds support for detecting that and
outputting a more correct message.

Signed-off-by: Andy Parkins <andyparkins@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

post-receive-email example hook: fastforward should... Andy Parkins Thu, 26 Apr 2007 21:35:39 +0000 (22:35 +0100)

post-receive-email example hook: fastforward should have been fast_forward

Signed-off-by: Andy Parkins <andyparkins@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Ignore merged status of the file-level mergeAlex Riesen Thu, 26 Apr 2007 19:13:49 +0000 (21:13 +0200)

Ignore merged status of the file-level merge

as it is not relevant for whether the result should be written.
Even if no real merge happened, there might be _no_ reason to
rewrite the working tree file. Maybe even more so.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Add a test for merging changed and rename-changed branchesAlex Riesen Wed, 25 Apr 2007 20:07:45 +0000 (22:07 +0200)

Add a test for merging changed and rename-changed branches

Also leave a warning for future merge-recursive explorers.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Avoid excessive rewrites in merge-recursiveAlex Riesen Wed, 25 Apr 2007 20:06:59 +0000 (22:06 +0200)

Avoid excessive rewrites in merge-recursive

If a file is changed in one branch, and renamed and changed to the
same content in another branch than we can skip the rewrite of this
file in the working directory, as the content does not change.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Merge branch 'maint'Junio C Hamano Thu, 26 Apr 2007 06:31:45 +0000 (23:31 -0700)

Merge branch 'maint'

* maint:
Start preparing for 1.5.1.3
Sanitize @to recipients.
git-svn: Ignore usernames in URLs in find_by_url
Document --dry-run and envelope-sender for git-send-email.
Allow users to optionally specify their envelope sender.
Ensure clean addresses are always used with Net::SMTP
Validate @recipients before using it for sendmail and Net::SMTP.
Perform correct quoting of recipient names.
Change the scope of the $cc variable as it is not needed outside of send_message.
Debugging cleanup improvements
Prefix Dry- to the message status to denote dry-runs.
Document --dry-run parameter to send-email.
git-svn: Don't rely on $_ after making a function call
Fix handle leak in write_tree
Actually handle some-low memory conditions

Conflicts:

RelNotes
git-send-email.perl

Start preparing for 1.5.1.3Junio C Hamano Thu, 26 Apr 2007 06:27:07 +0000 (23:27 -0700)

Start preparing for 1.5.1.3

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

Sanitize @to recipients.Robin H. Johnson Thu, 26 Apr 2007 04:53:22 +0000 (21:53 -0700)

Sanitize @to recipients.

We need to sanitize @to as well to ensure that names are properly quoted.

Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

git-svn: Ignore usernames in URLs in find_by_urlAdam Roben Wed, 25 Apr 2007 19:42:58 +0000 (12:42 -0700)

git-svn: Ignore usernames in URLs in find_by_url

Usernames don't matter for the purposes of find_by_url, so always remove them
before doing any comparisons.

Signed-off-by: Adam Roben <aroben@apple.com>
Acked-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Add --date={local,relative,default}Junio C Hamano Wed, 25 Apr 2007 06:36:22 +0000 (23:36 -0700)

Add --date={local,relative,default}

This adds --date={local,relative,default} option to log family of commands,
to allow displaying timestamps in user's local timezone, relative time, or
the default format.

Existing --relative-date option is a synonym of --date=relative; we could
probably deprecate it in the long run.

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

Document --dry-run and envelope-sender for git-send... Robin H. Johnson Thu, 26 Apr 2007 02:37:23 +0000 (19:37 -0700)

Document --dry-run and envelope-sender for git-send-email.

Catch the documentation up with the rest of this patchset.

Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Allow users to optionally specify their envelope sender.Robin H. Johnson Thu, 26 Apr 2007 02:37:22 +0000 (19:37 -0700)

Allow users to optionally specify their envelope sender.

If your normal user is not the same user you are subscribed to a list with,
then the default envelope sender used will cause your messages to bounce or
silently vanish into the ether.

This patch provides an optional parameter to set the envelope sender.
To use it with the sendmail binary, you must have privileges to use the -f
parameter!

Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Ensure clean addresses are always used with Net::SMTPRobin H. Johnson Thu, 26 Apr 2007 02:37:21 +0000 (19:37 -0700)

Ensure clean addresses are always used with Net::SMTP

Always pass in clean addresses to Net::SMTP for the MAIL FROM, and use them on
the SMTP non-quiet output as well.

Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Validate @recipients before using it for sendmail and... Robin H. Johnson Thu, 26 Apr 2007 02:37:20 +0000 (19:37 -0700)

Validate @recipients before using it for sendmail and Net::SMTP.

Ensure that @recipients is only raw addresses when it is handed to the sendmail
binary OR Net::SMTP, otherwise BCC cases might get an extra <, or wierd stuff
might be passed to the exec.

Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Perform correct quoting of recipient names.Robin H. Johnson Thu, 26 Apr 2007 02:37:19 +0000 (19:37 -0700)

Perform correct quoting of recipient names.

Always perform quoting of the recipient names if they contain periods,
previously only the author's address was treated this way. This stops sendmail
binaries from exploding the name into bad addresses.

Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Change the scope of the $cc variable as it is not neede... Robin H. Johnson Thu, 26 Apr 2007 02:37:18 +0000 (19:37 -0700)

Change the scope of the $cc variable as it is not needed outside of send_message.

$cc is only used inside the send_message scope, so lets clean it out of the global scope.

Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Debugging cleanup improvementsRobin H. Johnson Thu, 26 Apr 2007 02:37:17 +0000 (19:37 -0700)

Debugging cleanup improvements

The debug output is much more helpful if it has the parameters that were used.
Pull the sendmail parameters into a seperate array for that, and also include
similar data during the Net::SMTP case.

Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Prefix Dry- to the message status to denote dry-runs.Robin H. Johnson Thu, 26 Apr 2007 02:37:16 +0000 (19:37 -0700)

Prefix Dry- to the message status to denote dry-runs.

While doing testing, it's useful to see that a dry run was actually done,
instead of a real one.

Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Document --dry-run parameter to send-email.Robin H. Johnson Thu, 26 Apr 2007 02:37:15 +0000 (19:37 -0700)

Document --dry-run parameter to send-email.

Looks like --dry-run was added to the code, but never to the --help output.

Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

git-svn: Don't rely on $_ after making a function callAdam Roben Wed, 25 Apr 2007 18:50:32 +0000 (11:50 -0700)

git-svn: Don't rely on $_ after making a function call

Many functions and operators in perl set $_, so its value cannot be relied upon
after calling arbitrary functions. The solution is simply to copy the value of
$_ into a local variable that will not get overwritten.

Signed-off-by: Adam Roben <aroben@apple.com>
Acked-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Fix handle leak in write_treeAlex Riesen Wed, 25 Apr 2007 22:28:17 +0000 (00:28 +0200)

Fix handle leak in write_tree

This is a quick and dirty fix for the broken "git cherry-pick -n" on
some broken OS, which does not remove the directory entry after unlink
succeeded(!) if the file is still open somewher.
The entry is left but "protected": no open, no unlink, no stat.
Very annoying.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Actually handle some-low memory conditionsShawn O. Pearce Wed, 25 Apr 2007 08:02:27 +0000 (04:02 -0400)

Actually handle some-low memory conditions

Tim Ansell discovered his Debian server didn't permit git-daemon to
use as much memory as it needed to handle cloning a project with
a 128 MiB packfile. Filtering the strace provided by Tim of the
rev-list child showed this gem of a sequence:

open("./objects/pack/pack-*.pack", O_RDONLY|O_LARGEFILE <unfinished ...>
<... open resumed> ) = 5

OK, so the packfile is fd 5...

mmap2(NULL, 33554432, PROT_READ, MAP_PRIVATE, 5, 0 <unfinished ...>
<... mmap2 resumed> ) = 0xb5e2d000

and we mapped one 32 MiB window from it at position 0...

mmap2(NULL, 31020635, PROT_READ, MAP_PRIVATE, 5, 0x6000 <unfinished ...>
<... mmap2 resumed> ) = -1 ENOMEM (Cannot allocate memory)

And we asked for another window further into the file. But got
denied. In Tim's case this was due to a resource limit on the
git-daemon process, and its children.

Now where are we in the code? We're down inside use_pack(),
after we have called unuse_one_window() enough times to make sure
we stay within our allowed maximum window size. However since we
didn't unmap the prior window at 0xb5e2d000 we aren't exceeding
the current limit (which probably was just the defaults).

But we're actually down inside xmmap()...

So we release the window we do have (by calling release_pack_memory),
assuming there is some memory pressure...

munmap(0xb5e2d000, 33554432 <unfinished ...>
<... munmap resumed> ) = 0
close(5 <unfinished ...>
<... close resumed> ) = 0

And that was the last window in this packfile. So we closed it.
Way to go us. Our xmmap did not expect release_pack_memory to
close the fd its about to map...

mmap2(NULL, 31020635, PROT_READ, MAP_PRIVATE, 5, 0x6000 <unfinished ...>
<... mmap2 resumed> ) = -1 EBADF (Bad file descriptor)

And so the Linux kernel happily tells us f' off.

write(2, "fatal: ", 7 <unfinished ...>
<... write resumed> ) = 7
write(2, "Out of memory? mmap failed: Bad "..., 47 <unfinished ...>
<... write resumed> ) = 47

And we report the bad file descriptor error, and not the ENOMEM,
and die, claiming we are out of memory. But actually that mmap
should have succeeded, as we had enough memory for that window,
seeing as how we released the prior one.

Originally when I developed the sliding window mmap feature I had
this exact same bug in fast-import, and I dealt with it by handing
in the struct packed_git* we want to open the new window for, as the
caller wasn't prepared to reopen the packfile if unuse_one_window
closed it. The same is true here from xmmap, but the caller doesn't
have the struct packed_git* handy. So I'm using the file descriptor
instead to perform the same test.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

init_buffer(): Kill buf pointerLuiz Fernando N. Capitulino Wed, 25 Apr 2007 14:18:41 +0000 (11:18 -0300)

init_buffer(): Kill buf pointer

We don't need it, it's possible to assign the block of memory to bufp

Signed-off-by: Luiz Fernando N. Capitulino <lcapitulino@mandriva.com.br>
Signed-off-by: Junio C Hamano <junkio@cox.net>

core-tutorial: minor fixesLuiz Fernando N. Capitulino Wed, 25 Apr 2007 14:18:28 +0000 (11:18 -0300)

core-tutorial: minor fixes

- Do not break the line when it's not needed
- s/Your/You

Signed-off-by: Luiz Fernando N. Capitulino <lcapitulino@mandriva.com.br>
Signed-off-by: Junio C Hamano <junkio@cox.net>

read_cache_from(): small simplificationLuiz Fernando N. Capitulino Wed, 25 Apr 2007 14:18:17 +0000 (11:18 -0300)

read_cache_from(): small simplification

This change 'opens' the code block which maps the index file into
memory, making the code clearer and easier to read.

Signed-off-by: Luiz Fernando N. Capitulino <lcapitulino@mandriva.com.br>
Signed-off-by: Junio C Hamano <junkio@cox.net>

entry.c: Use const qualifier for 'struct checkout'... Luiz Fernando N. Capitulino Wed, 25 Apr 2007 14:18:08 +0000 (11:18 -0300)

entry.c: Use const qualifier for 'struct checkout' parameters

Signed-off-by: Luiz Fernando N. Capitulino <lcapitulino@mandriva.com.br>
Signed-off-by: Junio C Hamano <junkio@cox.net>