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>

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>

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>

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>

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.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>

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>

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 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>

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>

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>

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>

Remove usernames from all commit messages, not just... Adam Roben Wed, 25 Apr 2007 01:02:07 +0000 (18:02 -0700)

Remove usernames from all commit messages, not just when using svmprops

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

applymbox & quiltimport: typofix.Junio C Hamano Tue, 24 Apr 2007 21:27:00 +0000 (14:27 -0700)

applymbox & quiltimport: typofix.

6777c380 fixed only one of three typos introduced in an earlier
patch 87ab7992. This fixes the other two.

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

Create a sysconfdir variable, and use it for ETC_GITCONFIGJosh Triplett Tue, 24 Apr 2007 07:51:35 +0000 (00:51 -0700)

Create a sysconfdir variable, and use it for ETC_GITCONFIG

ETC_GITCONFIG defaults to $(prefix)/etc/gitconfig, so if you just set
prefix=/usr, you end up with a git that looks in /usr/etc/gitconfig, rather
than /etc/gitconfig as specified by the FHS. Furthermore, setting
ETC_GITCONFIG does not fix the paths to any future system-wide configuration
files.

Factor out the path to the system-wide configuration directory into a variable
sysconfdir, normally set to $(prefix)/etc, but set to /etc when prefix=/usr .
This fixes the prefix=/usr problem for ETC_GITCONFIG, and allows centralized
configuration of any future system-wide configuration files without requiring
further action from package maintainers or other people building and
installing git.

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

Documentation/git-reset.txt: suggest git commit --amend... Gerrit Pape Mon, 23 Apr 2007 12:06:29 +0000 (12:06 +0000)

Documentation/git-reset.txt: suggest git commit --amend in example.

In example 'Undo a commit and redo', refer to 'git commit --amend', as
this is the easier alternative.

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

Build RPM with ETC_GITCONFIG=/etc/gitconfigJunio C Hamano Tue, 24 Apr 2007 06:17:41 +0000 (23:17 -0700)

Build RPM with ETC_GITCONFIG=/etc/gitconfig

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

Ignore all man sections as they are generated files.Brian Gernhardt Tue, 24 Apr 2007 00:02:34 +0000 (20:02 -0400)

Ignore all man sections as they are generated files.

Signed-off-by: Brian Gernhardt <benji@silverinsanity.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Fix typo in git-am: s/Was is/Was it/Josh Triplett Tue, 24 Apr 2007 00:32:04 +0000 (17:32 -0700)

Fix typo in git-am: s/Was is/Was it/

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

Reverse the order of -b and --track in the man page.Brian Gernhardt Mon, 23 Apr 2007 23:56:45 +0000 (19:56 -0400)

Reverse the order of -b and --track in the man page.

Using "-b --track newbranch oldbranch" gives the error:

git checkout: updating paths is incompatible with switching
branches/forcing

However, "--track -b ..." works just fine.

Signed-off-by: Brian Gernhardt <benji@silverinsanity.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

dir.c(common_prefix): Fix two bugsJohannes Schindelin Mon, 23 Apr 2007 08:21:25 +0000 (10:21 +0200)

dir.c(common_prefix): Fix two bugs

The function common_prefix() is used to find the common subdirectory of
a couple of pathnames. When checking if the next pathname matches up with
the prefix, it incorrectly checked the whole path, not just the prefix
(including the slash). Thus, the expensive part of the loop was executed
always.

The other bug is more serious: if the first and the last pathname in the
list have a longer common prefix than the common prefix for _all_ pathnames
in the list, the longer one would be chosen. This bug was probably hidden
by the fact that bash's wildcard expansion sorts the results, and the code
just so happens to work with sorted input.

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

GIT 1.5.1.2 v1.5.1.2Junio C Hamano Sat, 21 Apr 2007 20:57:07 +0000 (13:57 -0700)

GIT 1.5.1.2

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

perl: install private Error.pm if the site version... Eric Wong Sat, 21 Apr 2007 07:55:00 +0000 (00:55 -0700)

perl: install private Error.pm if the site version is older than our own

bdash (on IRC) had a problem with Git.pm (via git-svn) when his
site installation of Error.pm was older than the version we
package.

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

git-clone: fix dumb protocol transport to clone from... Junio C Hamano Sat, 21 Apr 2007 00:25:27 +0000 (17:25 -0700)

git-clone: fix dumb protocol transport to clone from pack-pruned ref

This forward-ports a fix from 2986c022 to git-clone.

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

Update git-config documentationAndrew Ruder Thu, 19 Apr 2007 03:03:37 +0000 (22:03 -0500)

Update git-config documentation

Documentation/git-config.txt: Added documentation for --system
Documentation/builtin-config.c: Added --system to the short usage

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

Fix unmatched emphasis tag in git-tutorialAndrew Ruder Thu, 19 Apr 2007 03:03:31 +0000 (22:03 -0500)

Fix unmatched emphasis tag in git-tutorial

In asciidoc 7.1.2 and prior there is no obvious way to get:

'add'ing

to emphasize only the "add", instead it treats the first apostrophe as the
beginning of an emphasis, and the second apostrophe as a regular
apostrophe and makes the rest of the line an emphasis since there is no
closing apostrophe. In the newer asciidoc you can do it pretty easily
with __add__ing but I'm not sure it would be best to make that a prereq
for something as silly as this.

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

Update git-cherry-pick documentationAndrew Ruder Thu, 19 Apr 2007 03:03:26 +0000 (22:03 -0500)

Update git-cherry-pick documentation

Documentation/git-cherry-pick.txt: Remove --replay as it is not
handled by the code (-r is however).

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

Update git-archive documentationAndrew Ruder Thu, 19 Apr 2007 03:03:14 +0000 (22:03 -0500)

Update git-archive documentation

Documentation/git-archive.txt: Document -v/--verbose option.
Add -l as short form of --list.

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

fix up strtoul_ui error handlingAndy Whitcroft Thu, 19 Apr 2007 02:08:15 +0000 (03:08 +0100)

fix up strtoul_ui error handling

Two scanf() calls were converted to strtoul_ui() but the return
values were not updated to match. scanf() returns the number of
matched "values" which for this usage is 1 on success. strtoul_ui()
return 0 on success. Update these call sites to match.

Signed-off-by: Andy Whitcroft <apw@shadowen.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

git-tar-tree: complete deprecation conversion messageSam Vilain Wed, 18 Apr 2007 23:51:21 +0000 (11:51 +1200)

git-tar-tree: complete deprecation conversion message

The syntax for git-archive is different; warn about it in the
deprecation message on the manual page.

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

git-shortlog: Fix two formatting errors in asciidoc... Frank Lichtenheld Wed, 18 Apr 2007 22:10:22 +0000 (00:10 +0200)

git-shortlog: Fix two formatting errors in asciidoc documentation

First use [verse] in the SYNOPSIS so that the line break actually
shows.

Secondly drop the quotes around '.mailmap' since this exposes
a bug in our toolchain (didn't bother enough yet to find out wether
it is asciidoc's fault or that of the XSL templates) that leads to
the dot not getting escaped correctly in the roff output and thereby
swallowing the line.

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

Fix overwriting of files when applying contextually... Alex Riesen Wed, 18 Apr 2007 21:58:56 +0000 (23:58 +0200)

Fix overwriting of files when applying contextually independent diffs

Noticed by applying two diffs of different contexts to the same file.

The check for existence of a file was wrong: the test assumed it was
a directory and reset the errno (twice: directly and by calling
lstat). So if an entry existed and was _not_ a directory no attempt
was made to rename into it, because the errno (expected by renaming
code) was already reset to 0. This resulted in error:

fatal: unable to write file file mode 100644

For Linux, removing "errno = 0" is enough, as lstat wont modify errno
if it was successful. The behavior should not be depended upon,
though, so modify the "if" as well.

The test simulates this situation.

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

git-svn: don't allow globs to match regular filesEric Wong Wed, 18 Apr 2007 07:17:33 +0000 (00:17 -0700)

git-svn: don't allow globs to match regular files

git only tracks the histories of full directories, not
that of individual files. Sometimes, SVN users will
place[1] a regular file in the directory designated
for subdirectories of branches or tags.

Thanks to jrockway on #git for pointing this out.

[1] mistakenly or otherwise, such as a README

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

Use const qualifier for 'sha1' parameter in delete_ref... Carlos Rica Wed, 18 Apr 2007 03:34:34 +0000 (05:34 +0200)

Use const qualifier for 'sha1' parameter in delete_ref function

delete_ref function does not change the 'sha1' parameter. Non-const pointer
causes a compiler warning if you call to the function using a const argument.

Signed-off-by: Carlos Rica <jasampler@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Start preparing for 1.5.1.2Junio C Hamano Wed, 18 Apr 2007 00:32:23 +0000 (17:32 -0700)

Start preparing for 1.5.1.2

Merge branch 'maint' of git://repo.or.cz/git-gui into... Junio C Hamano Wed, 18 Apr 2007 00:16:41 +0000 (17:16 -0700)

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

* 'maint' of git://repo.or.cz/git-gui:
git-gui: Brown paper bag fix division by 0 in blame

git-svn: quiet some warnings when run only with --versi... Eric Wong Tue, 17 Apr 2007 09:41:43 +0000 (02:41 -0700)

git-svn: quiet some warnings when run only with --version/--help

These are harmless but annoying. They were introduced in
512b620bd9fef7f170562ecad835e37479f051ce

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

git-svn: respect lower bound of -r/--revision when... Eric Wong Sun, 15 Apr 2007 10:01:29 +0000 (03:01 -0700)

git-svn: respect lower bound of -r/--revision when following parent

When an explicit --revision argument is specified, do not fetch
past the specified range into the beginning of history.

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

Have sample update hook not refuse deleting a branch... Gerrit Pape Mon, 16 Apr 2007 08:31:35 +0000 (08:31 +0000)

Have sample update hook not refuse deleting a branch through push.

source ref might be 0000...0000 to delete a branch through git-push,
'git <remote> push :<branch>'. The update hook should not decline this.

Signed-off-by: Gerrit Pape <pape@smarden.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

variable $projectdesc needs to be set before checking... Gerrit Pape Mon, 16 Apr 2007 08:30:42 +0000 (08:30 +0000)

variable $projectdesc needs to be set before checking against unchanged default.

Signed-off-by: Gerrit Pape <pape@smarden.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Update git-annotate/git-blame documentationAndrew Ruder Mon, 16 Apr 2007 06:20:34 +0000 (01:20 -0500)

Update git-annotate/git-blame documentation

Moved options that pertained to both git-blame and git-annotate to a
common file blame-options.txt.

builtin-blame.c: Removed --compatibility, --long, --time from the
short usage as they are not handled in the code.

Documentation/git-blame.txt: Removed common options to git-annotate.
Added documentation for --score-debug. Removed --compatibility.
Adjusted usage at top to not wrap on 80 columns.

Documentation/git-annotate.txt: Using common options blame-options.txt.

Documentation/blame-options.txt: Added -b note about associated config
option, added --root note about associated config option, added
documentation for --show-stats. Removed --long, --time, --rev-file as
those options do not really exist. Added documentation for -M/-C taking
an optional score argument for detection of moved lines.

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

Update git-apply documentationAndrew Ruder Mon, 16 Apr 2007 06:20:40 +0000 (01:20 -0500)

Update git-apply documentation

Document -v (short form of --verbose). Redo usage
to not wrap on 80 column terminal with typical
settings.

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

Update git-applymbox documentationAndrew Ruder Mon, 16 Apr 2007 06:40:06 +0000 (01:40 -0500)

Update git-applymbox documentation

Documentation/git-applymbox.txt: updating -u documentation to include
fact that it encodes to the i18n.commitencoding setting, not just utf-8.
Added documentation of -n option to pass -n to git-mailinfo.

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

Update git-am documentationAndrew Ruder Mon, 16 Apr 2007 07:21:31 +0000 (02:21 -0500)

Update git-am documentation

Documentation/git-am.txt missing several short versions
of options. Added documentation for --resolvemsg=<msg>
command-line option.

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

user-manual: use detached head when rewriting historyJ. Bruce Fields Mon, 16 Apr 2007 04:37:16 +0000 (00:37 -0400)

user-manual: use detached head when rewriting history

This is slightly simpler if we use a detached head. And it's probably
good to have another example that uses this feature.

Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
Signed-off-by: Junio C Hamano <junkio@cox.net>

user-manual: start revising "internals" chapterJ. Bruce Fields Mon, 16 Apr 2007 04:37:15 +0000 (00:37 -0400)

user-manual: start revising "internals" chapter

Minor revisions, cross-references.

Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
Signed-off-by: Junio C Hamano <junkio@cox.net>

user-manual: detached HEADJ. Bruce Fields Mon, 16 Apr 2007 04:37:14 +0000 (00:37 -0400)

user-manual: detached HEAD

Add a brief mention of detached HEADs and .git/HEAD.

Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
Signed-off-by: Junio C Hamano <junkio@cox.net>

user-manual: fix discussion of default cloneJ. Bruce Fields Mon, 16 Apr 2007 04:37:13 +0000 (00:37 -0400)

user-manual: fix discussion of default clone

The name "master" isn't actually quite so special. Also, fix some bad
grammar.

Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Documentation: clarify track/no-track option.J. Bruce Fields Mon, 16 Apr 2007 04:37:12 +0000 (00:37 -0400)

Documentation: clarify track/no-track option.

Fix the description of the --no-track option so it no longer says the
opposite of what was intended. Also mention branch.autosetupmerge
explicitly.

Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Documentation: clarify git-checkout -f, minor editingJ. Bruce Fields Mon, 16 Apr 2007 04:37:11 +0000 (00:37 -0400)

Documentation: clarify git-checkout -f, minor editing

"Force a re-read of everything" doesn't mean much to me.

Also some minor grammar fixes.

Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Documentation: minor edits of git-lost-found manpageJ. Bruce Fields Mon, 16 Apr 2007 04:37:10 +0000 (00:37 -0400)

Documentation: minor edits of git-lost-found manpage

Minor improvements to grammar and clarity of lost-found manpage.

Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Document -g (--walk-reflogs) option of git-logAlex Riesen Sun, 15 Apr 2007 22:36:06 +0000 (00:36 +0200)

Document -g (--walk-reflogs) option of git-log

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

sscanf/strtoul: parse integers robustlyJim Meyering Mon, 9 Apr 2007 23:01:44 +0000 (01:01 +0200)

sscanf/strtoul: parse integers robustly

* builtin-grep.c (strtoul_ui): Move function definition from here, to...
* git-compat-util.h (strtoul_ui): ...here, with an added "base" parameter.
* builtin-grep.c (cmd_grep): Update use of strtoul_ui to include base, "10".
* builtin-update-index.c (read_index_info): Diagnose an invalid mode integer
that is out of range or merely larger than INT_MAX.
(cmd_update_index): Use strtoul_ui, not sscanf.
* convert-objects.c (write_subdirectory): Likewise.

Signed-off-by: Jim Meyering <jim@meyering.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Merge git://git2./pub/scm/gitk/gitk into maintJunio C Hamano Sun, 15 Apr 2007 02:45:16 +0000 (19:45 -0700)

Merge git://git2./pub/scm/gitk/gitk into maint

* git://git2.kernel.org/pub/scm/gitk/gitk:
[PATCH] Improve look-and-feel of the gitk tool.
[PATCH] Teach gitk to use the user-defined UI font everywhere.

git-blame: Fix overrun in fake_working_tree_commit()Michael Spang Sat, 14 Apr 2007 21:26:20 +0000 (17:26 -0400)

git-blame: Fix overrun in fake_working_tree_commit()

git-blame would overflow commit->buffer when annotating files with long paths.

Signed-off-by: Michael Spang <mspang@uwaterloo.ca>
Signed-off-by: Junio C Hamano <junkio@cox.net>

git-quiltimport complaining yet still workingLinus Torvalds Fri, 13 Apr 2007 21:34:18 +0000 (14:34 -0700)

git-quiltimport complaining yet still working

There were two bugs: "stop_here" doesn't exist, but the bug that causes
this code to trigger in the *first* place is the wrong use of "$dotest".
It should be ".dotest"

This is essentially the same bug introduced by 87ab7992, one was
fixed with 0d38ab25 but this was somehow left behind.

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

config.txt: Fix grammatical error in description of... Frank Lichtenheld Fri, 13 Apr 2007 16:02:33 +0000 (18:02 +0200)

config.txt: Fix grammatical error in description of http.noEPSV

s/doesn't/don't/ since "ftp servers" is plural

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

config.txt: Change pserver to server in description... Frank Lichtenheld Fri, 13 Apr 2007 16:02:32 +0000 (18:02 +0200)

config.txt: Change pserver to server in description of gitcvs.*

These variables apply to the SSH access as well, so don't use
pserver here which might confuse users.

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

config.txt: Document core.autocrlfFrank Lichtenheld Fri, 13 Apr 2007 16:02:31 +0000 (18:02 +0200)

config.txt: Document core.autocrlf

Text shamelessly stolen from the 1.5.1 release notes.

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