gitweb.git
git-gui: Allow users to browse any branch, not just... Shawn O. Pearce Wed, 18 Jul 2007 05:39:27 +0000 (01:39 -0400)

git-gui: Allow users to browse any branch, not just the current one

We now allow users to pick which commit they want to browse through
our revision picking mega-widget. This opens up in a dialog first,
and then opens a tree browser for that selected commit. It is a very
simple approach and requires minimal code changes.

I also clarified the language a bit in the Repository menu, to show
that these actions will access files. Just in case a user is not
quite sure what specific action they are looking for, but they know
they want some sort of file thing.

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

git-gui: Allow browser subcommand to start in subdirectoryShawn O. Pearce Wed, 18 Jul 2007 04:53:14 +0000 (00:53 -0400)

git-gui: Allow browser subcommand to start in subdirectory

Like our blame subcommand the browser subcommand now accepts both
a revision and a path, just a revision or just a path. This way
the user can start the subcommand on any branch, or on any subtree.

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

git-gui: Allow blame/browser subcommands on bare reposi... Shawn O. Pearce Wed, 18 Jul 2007 03:58:56 +0000 (23:58 -0400)

git-gui: Allow blame/browser subcommands on bare repositories

A long time ago Linus Torvalds tried to run git-gui on a bare
repository to look at the blame viewer, but it failed to start
because we required that the user run us only from within a
working directory that had a normal git repository associated
with it.

This change relaxes that requirement so that you can start the
tree browser or the blame viewer against a bare repository. In
the latter case we do require that you provide a revision and a
pathname if we cannot find the pathname in the current working
directory.

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

git-gui: Move feature option selection before GIT_DIR... Shawn O. Pearce Wed, 18 Jul 2007 03:23:56 +0000 (23:23 -0400)

git-gui: Move feature option selection before GIT_DIR init

By moving our feature option determination up before we look for GIT_DIR
we can make a decision about whether or not we need a working tree up
front, before we look for GIT_DIR. A future change could then allow
us to start in a bare Git repository if we only need access to the ODB.

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

git-gui: Delay the GC hint until after we are runningShawn O. Pearce Wed, 18 Jul 2007 03:20:56 +0000 (23:20 -0400)

git-gui: Delay the GC hint until after we are running

I'm moving the code related to looking to see if we should GC now
into a procedure closer to where it belongs, the database module.
This reduces our script by a few lines for the single commit case
(aka citool). But really it just is to help organize the code.

We now perform the check after we have been running for at least
1 second. This way the main window has time to open up and our
dialog (if we open it) will attach to the main window, instead of
floating out in no-mans-land like it did before on Mac OS X.

I had to use a wait of a full second here as a wait of 1 millisecond
made our console install itself into the main window. Apparently we
had a race condition with the console code where both the console and
the main window thought they were the main window.

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

git-gui: Let the user continue even if we cannot unders... Shawn O. Pearce Wed, 18 Jul 2007 03:09:31 +0000 (23:09 -0400)

git-gui: Let the user continue even if we cannot understand git version

Some users may do odd things, like tag their own private version of
Git with an annotated tag such as 'testver', then compile that git
and try to use it with git-gui. In such a case `git --version` will
give us 'git version testver', which is not a numeric argument that
we can pass off to our version comparsion routine.

We now check that the cleaned up git version is a going to pass the
version comparsion routine without failure. If it has a non-numeric
component, or lacks at least a minor revision then we ask the user to
confirm they really want to use this version of git within git-gui.
If they do we shall assume it is git 1.5.0 and run with only the code
that will support.

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

git-gui: Change our initial GC hint to be an estimateShawn O. Pearce Wed, 18 Jul 2007 02:49:44 +0000 (22:49 -0400)

git-gui: Change our initial GC hint to be an estimate

Instead of running a full git-count-objects to count all of the loose
objects we can get a reasonably close approximation by counting the
number of files in the .git/objects/42 subdirectory. This works out
reasonably well because the SHA-1 hash has a fairly even distribution,
so every .git/objects/?? subdirectory should get a relatively equal
number of files. If we have at least 8 files in .git/objects/42 than it
is very likely there is about 8 files in every other directory, leaving
us with around 2048 loose objects.

This check is much faster, as we need to only perform a readdir of
a single directory, and we can do it directly from Tcl and avoid the
costly fork+exec.

All of the credit on how clever this is goes to Linus Torvalds; he
suggested using this trick in a post commit hook to repack every so
often.

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

git-gui: Don't crash in ask_popup if we haven't mapped... Shawn O. Pearce Wed, 18 Jul 2007 02:45:53 +0000 (22:45 -0400)

git-gui: Don't crash in ask_popup if we haven't mapped main window yet

If we have more than our desired number of objects and we try to
open the "Do you want to repack now?" dialog we cannot include a
-parent . argument if the main window has not been mapped yet.
On Mac OS X it appears this window isn't mapped right away, so we
had better hang avoid including it.

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

git-gui: Delay searching for 'nice' until its really... Shawn O. Pearce Wed, 18 Jul 2007 02:31:16 +0000 (22:31 -0400)

git-gui: Delay searching for 'nice' until its really asked for

Not every caller of 'git' or 'git_pipe' wants to use nice to lower the
priority of the process its executing. In many cases we may never use
the nice process to launch git. So we can avoid searching our $PATH
to locate a suitable nice if we'll never actually use it.

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

git-gui: Handle git versions of the form n.n.n.GITJulian Phillips Tue, 17 Jul 2007 21:14:06 +0000 (22:14 +0100)

git-gui: Handle git versions of the form n.n.n.GIT

The git-gui version check doesn't handle versions of the form
n.n.n.GIT which you can get by installing from an tarball produced by
git-archive.

Without this change you get an error of the form:
'Error in startup script: expected version number but got "1.5.3.GIT"'

Signed-off-by: Julian Phillips <julian@quantumfyre.co.uk>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

Update INSTALLJunio C Hamano Tue, 17 Jul 2007 06:59:54 +0000 (23:59 -0700)

Update INSTALL

We haven't used bignum in rev-list from openssl nor elsewhere
for a long time. Also git-gui is now part of git.git itself,
and depends on wish.

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

git-p4: input to "p4 files" by stdin instead of argumentsScott Lamb Mon, 16 Jul 2007 03:58:11 +0000 (20:58 -0700)

git-p4: input to "p4 files" by stdin instead of arguments

This approach, suggested by Alex Riesen, bypasses the need for xargs-style
argument list handling. The handling in question looks broken in a corner
case with SC_ARG_MAX=4096 and final argument over 96 characters.

Signed-off-by: Scott Lamb <slamb@slamb.org>
Signed-off-by: Simon Hausmann <simon@lst.de>

git-p4: use subprocess in p4CmdListScott Lamb Mon, 16 Jul 2007 03:58:10 +0000 (20:58 -0700)

git-p4: use subprocess in p4CmdList

This allows bidirectional piping - useful for "-x -" to avoid commandline
arguments - and is a step toward bypassing the shell.

Signed-off-by: Scott Lamb <slamb@slamb.org>
Signed-off-by: Simon Hausmann <simon@lst.de>

git-gui: Always disable the Tcl EOF character when... Shawn O. Pearce Tue, 17 Jul 2007 05:50:10 +0000 (01:50 -0400)

git-gui: Always disable the Tcl EOF character when reading

On Windows (which includes Cygwin) Tcl defaults to leaving the EOF
character of input file streams set to the ASCII EOF character, but
if that character were to appear in the data stream then Tcl will
close the channel early. So we have to disable eofchar on Windows.
Since the default is disabled on all platforms except Windows, we
can just disable it everywhere to prevent any sort of read problem.

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

Fix git-branch documentation when using remote refsFrancis Moreau Mon, 16 Jul 2007 11:38:47 +0000 (13:38 +0200)

Fix git-branch documentation when using remote refs

Signed-off-by: Francis Moreau <francis.moro@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-gui: Brown paper bag "dirty git version fix"Shawn O. Pearce Mon, 16 Jul 2007 22:44:23 +0000 (18:44 -0400)

git-gui: Brown paper bag "dirty git version fix"

My prior change to allow git-gui to run with a version of Git
that was built from a working directory that had uncommitted
changes didn't account for the pattern starting with -, and
that confused Tcl.

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

git-gui: Skip -dirty suffix on core git versionsShawn O. Pearce Mon, 16 Jul 2007 06:39:07 +0000 (02:39 -0400)

git-gui: Skip -dirty suffix on core git versions

If the user is running a 'dirty' version of git (one compiled in a
working directory with modified files) we want to just assume it
was a committed version, as we really only look at the part that
came from a real annotated tag anyway.

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

git-svn: fix commiting renames over DAV with funky... Eric Wong Mon, 16 Jul 2007 04:53:50 +0000 (21:53 -0700)

git-svn: fix commiting renames over DAV with funky file names

Renaming files with non-URI friendly characters caused
breakage when committing to DAV repositories (over http(s)).

Even if I try leaving out the $self->{url} from the return value
of url_path(), a partial (without host), unescaped path name
does not work.

Filenames for DAV repos need to be URI-encoded before being
passed to the library. Since this bug did not affect file://
and svn:// repos, the git-svn test library needed to be expanded
to include support for starting Apache with mod_dav_svn enabled.

This new test is not enabled by default, but can be enabled by
setting SVN_HTTPD_PORT to any available TCP/IP port on
127.0.0.1.

Additionally, for running this test, the following variables
(with defaults shown) can be changed for the suitable system.
The default values are set for Debian systems:

SVN_HTTPD_MODULE_PATH=/usr/lib/apache2/modules
SVN_HTTPD_PATH=/usr/sbin/apache2

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

contrib/emacs/Makefile: Also install .el files.David Kastrup Sun, 15 Jul 2007 09:46:11 +0000 (11:46 +0200)

contrib/emacs/Makefile: Also install .el files.

Signed-off-by: David Kastrup <dak@gnu.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

GIT v1.5.3-rc2 v1.5.3-rc2Junio C Hamano Sun, 15 Jul 2007 23:41:17 +0000 (16:41 -0700)

GIT v1.5.3-rc2

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

Demote git-p4import to contrib status.Sean Sun, 15 Jul 2007 19:52:32 +0000 (15:52 -0400)

Demote git-p4import to contrib status.

Move git-p4import.py and Documentation/git-p4import.txt into
a contrib/p4import directory. Add a README there directing
people to contrib/fast-import/git-p4 as a better alternative.

Signed-off-by: Sean Estabrooks <seanlkml@sympatico.ca>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Remove p4 rpm from git.spec.in.Sean Sun, 15 Jul 2007 19:51:01 +0000 (15:51 -0400)

Remove p4 rpm from git.spec.in.

Signed-off-by: Sean Estabrooks <seanlkml@sympatico.ca>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Remove "WITH_P4IMPORT" knob from the MakefileSean Sun, 15 Jul 2007 19:49:33 +0000 (15:49 -0400)

Remove "WITH_P4IMPORT" knob from the Makefile

Signed-off-by: Sean Estabrooks <seanlkml@sympatico.ca>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-cvsserver: detect/diagnose write failure, etc.Jim Meyering Sat, 14 Jul 2007 18:48:42 +0000 (20:48 +0200)

git-cvsserver: detect/diagnose write failure, etc.

There were many operations that did not notice and report errors
to the CVS client, which would have resulted in corrupt working
tree.

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

Use $(RM) in Makefiles instead of 'rm -f'Emil Medve Sat, 14 Jul 2007 17:51:44 +0000 (12:51 -0500)

Use $(RM) in Makefiles instead of 'rm -f'

Signed-off-by: Emil Medve <Emilian.Medve@Freescale.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'master' of git://repo.or.cz/git/fastimportJunio C Hamano Sun, 15 Jul 2007 05:57:47 +0000 (22:57 -0700)

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

* 'master' of git://repo.or.cz/git/fastimport:
Teach fast-import to recursively copy files/directories
Fix git-p4 on Windows to not use the Posix sysconf function.
Correct trivial typo in fast-import documentation

Documentation/git-commit-tree: remove description of... Junio C Hamano Sun, 15 Jul 2007 05:56:47 +0000 (22:56 -0700)

Documentation/git-commit-tree: remove description of a nonexistent limitation

Noticed by Geoff Richards.

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

Make every builtin-*.c file #include "builtin.h"Peter Hagervall Sat, 14 Jul 2007 23:14:45 +0000 (01:14 +0200)

Make every builtin-*.c file #include "builtin.h"

Make every builtin-*.c file #include "builtin.h".

Also takes care of some declaration/definition mismatches.

Signed-off-by: Peter Hagervall <hager@cs.umu.se>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Teach fast-import to recursively copy files/directoriesShawn O. Pearce Sun, 15 Jul 2007 05:40:37 +0000 (01:40 -0400)

Teach fast-import to recursively copy files/directories

Some source material (e.g. Subversion dump files) perform directory
renames by telling us the directory was copied, then deleted in the
same revision. This makes it difficult for a frontend to convert
such data formats to a fast-import stream, as all the frontend has
on hand is "Copy a/ to b/; Delete a/" with no details about what
files are in a/, unless the frontend also kept track of all files.

The new 'C' subcommand within a commit allows the frontend to make a
recursive copy of one path to another path within the branch, without
needing to keep track of the individual file paths. The metadata
copy is performed in memory efficiently, but is implemented as a
copy-immediately operation, rather than copy-on-write.

With this new 'C' subcommand frontends could obviously implement an
'R' (rename) on their own as a combination of 'C' and 'D' (delete),
but since we have already offered up 'R' in the past and it is a
trivial thing to keep implemented I'm not going to deprecate it.

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

Fix git-p4 on Windows to not use the Posix sysconf... Marius Storm-Olsen Fri, 13 Jul 2007 12:39:05 +0000 (14:39 +0200)

Fix git-p4 on Windows to not use the Posix sysconf function.

Add condition for Windows, since it doesn't support the os.sysconf module.
We hardcode the commandline limit to 2K, as that should work on most
Windows platforms.

Signed-off-by: Marius Storm-Olsen <marius@trolltech.com>
Acked-by: Simon Hausmann <simon@lst.de>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

git-svn: remove leading slashes from fetch lines in... Eric Wong Sat, 14 Jul 2007 19:40:32 +0000 (12:40 -0700)

git-svn: remove leading slashes from fetch lines in the generate config

We were previously sensitive to leading slashes in the fetch
lines and incorrectly writing them to the config if the user
used them (needlessly) in the command-line.

This fixes the issue and allows us to play nicely with legacy
configs that have leading slashes in fetch lines.

Thanks to Bradford Smith for figuring this out for me:
>
> This works:
>
> git-svn clone https://my.server.net/repos/path/ -Ttrunk/testing
> -ttags/testing -bbranches/testing testing
>
> This doesn't:
>
> git-svn clone https://my.server.net/repos/path -T/trunk/testing
> -t/tags/testing -b/branches/testing testing

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Update .mailmapJunio C Hamano Sat, 14 Jul 2007 20:44:58 +0000 (13:44 -0700)

Update .mailmap

The script "contrib/stats/mailmap.pl" found a few missed ones.

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

Add contrib/stats/mailmap.pl scriptJunio C Hamano Sat, 14 Jul 2007 20:43:09 +0000 (13:43 -0700)

Add contrib/stats/mailmap.pl script

This script reads the existing commit log and .mailmap file,
and outputs author e-mail addresses that would map to more
than one names (most likely due to difference in the way they
are spelled, but some are due to ancient botched commits).

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

Remove useless uses of cat, and replace with filename... Josh Triplett Sat, 14 Jul 2007 08:05:43 +0000 (01:05 -0700)

Remove useless uses of cat, and replace with filename arguments

Replace uses of cat that do nothing but writing the contents of
a single file to another command via pipe.

[jc: Original patch from Josh was somewhat buggy and rewrote
"cat $file | wc -l" to "wc -l $file", but this one should be Ok.]

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

More permissive "git-rm --cached" behavior without -f.Matthieu Moy Fri, 13 Jul 2007 17:41:38 +0000 (19:41 +0200)

More permissive "git-rm --cached" behavior without -f.

In the previous behavior, "git-rm --cached" (without -f) had the same
restriction as "git-rm". This forced the user to use the -f flag in
situations which weren't actually dangerous, like:

$ git add foo # oops, I didn't want this
$ git rm --cached foo # back to initial situation

Previously, the index had to match the file *and* the HEAD. With
--cached, the index must now match the file *or* the HEAD. The behavior
without --cached is unchanged, but provides better error messages.

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

Document new --date=<format>Junio C Hamano Sat, 14 Jul 2007 06:48:03 +0000 (23:48 -0700)

Document new --date=<format>

Now, git-log family can take full range of internally supported date format
to their --date=<format> argument. Document it.

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

Wire new date formats to --date=<format> parser.Junio C Hamano Sat, 14 Jul 2007 06:03:37 +0000 (23:03 -0700)

Wire new date formats to --date=<format> parser.

Now we can use all internally supported date formats with

git log --date=<format>

syntax. Earlier, we only allowed relative/local/default.

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

Make show_rfc2822_date() just another date output format.Junio C Hamano Sat, 14 Jul 2007 06:14:52 +0000 (23:14 -0700)

Make show_rfc2822_date() just another date output format.

These days, show_date() takes a date_mode parameter to specify
the output format, and a separate specialized function for dates
in E-mails does not make much sense anymore.

This retires show_rfc2822_date() function and make it just
another date output format.

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

Support output ISO 8601 format datesRobin Rosenberg Fri, 13 Jul 2007 23:00:42 +0000 (01:00 +0200)

Support output ISO 8601 format dates

Support output of full ISO 8601 style dates in e.g. git log
and other places that use interpolation for formatting.

Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'master' of git://git./gitk/gitkJunio C Hamano Sat, 14 Jul 2007 05:37:42 +0000 (22:37 -0700)

Merge branch 'master' of git://git./gitk/gitk

* 'master' of git://git.kernel.org/pub/scm/gitk/gitk:
gitk: Fix bug introduced by previous commit

Fix git-rebase -i to allow squashing of fast-forwardabl... Alex Riesen Thu, 12 Jul 2007 22:30:35 +0000 (00:30 +0200)

Fix git-rebase -i to allow squashing of fast-forwardable commits

Without this change the commits will be left standalone, with
duplicated commit message.

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

lockfile.c: schedule remove_lock_file only once.Sven Verdoolaege Fri, 13 Jul 2007 14:14:50 +0000 (16:14 +0200)

lockfile.c: schedule remove_lock_file only once.

Removing a lockfile once should be enough.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

send-email: discard blank around address in extract_val... Stephen Rothwell Fri, 13 Jul 2007 15:54:06 +0000 (08:54 -0700)

send-email: discard blank around address in extract_valid_address as well.

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

gitk: Show changes in index and changes in working... Paul Mackerras Fri, 13 Jul 2007 09:49:37 +0000 (19:49 +1000)

gitk: Show changes in index and changes in working directory separately

This makes gitk show up to two fake commits when there are local changes
in the repository; one to represent the state of the index and one to
represent the state of the working directory. The commit representing
the working directory is colored red as before; the commit representing
the index state is colored magenta (as being between red and blue in
some sense).

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

make git-send-email.perl handle email addresses with... Greg KH Fri, 13 Jul 2007 04:17:49 +0000 (21:17 -0700)

make git-send-email.perl handle email addresses with no names when Email::Valid is present

When using git-send-email.perl on a changeset that has:
Cc: <stable@kernel.org>
in the body of the description, and the Email::Valid perl module is
installed on the system, the email address will be deemed "invalid" for
some reason (Email::Valid isn't smart enough to handle this?) and
complain and not send the address the email.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

gitk: Fix bug introduced by previous commitPaul Mackerras Fri, 13 Jul 2007 03:45:55 +0000 (13:45 +1000)

gitk: Fix bug introduced by previous commit

When I added the "--" case to the code scanning the arguments, I missed
the fact that since the switch statement uses -regexp, the "--" case
will match any argument containing "--", e.g. "--all". This fixes it
by taking out the -regexp (since we don't actually need regular
expression matching) and adjusting the match strings.

A side effect of this is that previously any argument starting with
"-d" would be taken to indicate date mode; now the argument has to be
exactly "-d" if you want date mode.

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

Document git commit --untracked-files and --verboseJakub Narebski Thu, 12 Jul 2007 23:54:08 +0000 (01:54 +0200)

Document git commit --untracked-files and --verbose

Documentation based on description of commit 443f8338 which added
'-u'|'--untracked-files' option to git-status, and on git-runstatus(1)
man page.

Note that those options apply also to git-status.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Document long options '--message=<msg>' and '--no-commit'Jakub Narebski Thu, 12 Jul 2007 23:54:07 +0000 (01:54 +0200)

Document long options '--message=<msg>' and '--no-commit'

Document that '--message=<msg>' is long version of '-m <msg>' in
git-commit, and that '--no-checkout' is long version of '-n' in
git-clone.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Update git-merge documentation.Jakub Narebski Thu, 12 Jul 2007 23:54:06 +0000 (01:54 +0200)

Update git-merge documentation.

Add "Configuration" section to describe merge.summary
configuration variable (which is mentioned in git-fmt-merge-msg(1)
man page, but it is a plumbing command), and merge.verbosity
configuration variable (so there is a place to make reference
from "Environment Variables" section of git(7) man page) to the
git-merge(1) man page. Also describe GIT_MERGE_VERBOSITY
environment.

The configuration variable merge.verbosity and environment variable
GIT_MERGE_VERBOSITY were introduced in commit 8c3275ab, which also
documented configuration variable but not environment variable.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Pack-objects: properly initialize the depth valueNicolas Pitre Fri, 13 Jul 2007 02:27:12 +0000 (22:27 -0400)

Pack-objects: properly initialize the depth value

Commit 5a235b5e was missing this little detail. Otherwise your pack
will explode.

Problem noted by Brian Downing.

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

GIT v1.5.3-rc1 v1.5.3-rc1Junio C Hamano Thu, 12 Jul 2007 21:54:33 +0000 (14:54 -0700)

GIT v1.5.3-rc1

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

Merge branch 'master' of git://git./gitk/gitkJunio C Hamano Thu, 12 Jul 2007 21:50:57 +0000 (14:50 -0700)

Merge branch 'master' of git://git./gitk/gitk

* 'master' of git://git.kernel.org/pub/scm/gitk/gitk:
gitk: Improve handling of -- and ambiguous arguments
gitk: Use git log and add support for --left-right
gitk: Fix bug causing "can't read commitrow(0,n)" error
[PATCH] gitk: Fix for tree view ending in nested directories
gitk: Remove the unused stopfindproc function
gitk: Fix bug in the anc_or_desc routine
gitk: Fix the find and highlight functions

gitweb: new cgi parameter: optMiklos Vajna Thu, 12 Jul 2007 18:39:27 +0000 (20:39 +0200)

gitweb: new cgi parameter: opt

Currently the only supported value is '--no-merges' for the 'rss', 'atom',
'log', 'shortlog' and 'history' actions, but it can be easily extended to allow
other parameters for other actions.

Signed-off-by: Miklos Vajna <vmiklos@frugalware.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Add missing functions to contrib/emacs/vc-git.elDavid Kastrup Thu, 12 Jul 2007 14:48:48 +0000 (16:48 +0200)

Add missing functions to contrib/emacs/vc-git.el

This is necessary to make several editing functions work, like
C-u C-x v =

Signed-off-by: David Kastrup <dak@gnu.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Documentation for git-log --followSteven Walter Thu, 12 Jul 2007 14:52:30 +0000 (10:52 -0400)

Documentation for git-log --follow

After vainly searching the Documentation for how to follow renames, I
finally broke down and grepped the source. It would appear that Linus
didn't add write and docs for this feature when he wrote it. The
following patch rectifies that, hopefully sparing future users from
resorting to the source code.

Signed-off-by: Steven Walter <stevenrwalter@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

reduce git-pack-objects memory usage a little moreNicolas Pitre Thu, 12 Jul 2007 21:07:59 +0000 (17:07 -0400)

reduce git-pack-objects memory usage a little more

The delta depth doesn't have to be stored in the global object array
structure since it is only used during the deltification pass.

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

Add documentation for --window-memory, pack.windowMemoryBrian Downing Thu, 12 Jul 2007 12:55:52 +0000 (07:55 -0500)

Add documentation for --window-memory, pack.windowMemory

Signed-off-by: Brian Downing <bdowning@lavos.net>
Acked-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Add --window-memory option to git-repackBrian Downing Thu, 12 Jul 2007 12:55:51 +0000 (07:55 -0500)

Add --window-memory option to git-repack

Signed-off-by: Brian Downing <bdowning@lavos.net>
Acked-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Add pack-objects window memory usage limitBrian Downing Thu, 12 Jul 2007 13:07:46 +0000 (08:07 -0500)

Add pack-objects window memory usage limit

This adds an option (--window-memory=N) and configuration variable
(pack.windowMemory = N) to limit the memory size of the pack-objects
delta search window. This works by removing the oldest unpacked objects
whenever the total size goes above the limit. It will always leave
at least one object, though, so as not to completely eliminate the
possibility of computing deltas.

This is an extra limit on top of the normal window size (--window=N);
the window will not dynamically grow above the fixed number of entries
specified to fill the memory limit.

With this, repacking a repository with a mix of large and small objects
is possible even with a very large window.

Cleaner and correct circular buffer handling courtesy of Nicolas Pitre.

Signed-off-by: Brian Downing <bdowning@lavos.net>
Acked-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Add functions for parsing integers with size suffixesBrian Downing Thu, 12 Jul 2007 13:32:26 +0000 (08:32 -0500)

Add functions for parsing integers with size suffixes

Split out the nnn{k,m,g} parsing code from git_config_int into
git_parse_long, so command-line parameters can enjoy the same
functionality. Also add get_parse_ulong for unsigned values.

Make git_config_int use git_parse_long, and add get_config_ulong
as well.

Signed-off-by: Brian Downing <bdowning@lavos.net>
Acked-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Support fetching the memory usage of a delta indexBrian Downing Thu, 12 Jul 2007 12:55:48 +0000 (07:55 -0500)

Support fetching the memory usage of a delta index

Delta indices, at least on 64-bit platforms, tend to be larger than
the actual uncompressed data. As such, keeping track of this storage
is important if you want to successfully limit the memory size of your
pack window.

Squirrel away the total allocation size inside the delta_index struct,
and add an accessor "sizeof_delta_index" to access it.

Signed-off-by: Brian Downing <bdowning@lavos.net>
Acked-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Don't try to delta if target is much smaller than sourceBrian Downing Thu, 12 Jul 2007 12:55:47 +0000 (07:55 -0500)

Don't try to delta if target is much smaller than source

Add a new try_delta heuristic. Don't bother trying to make a delta if
the target object size is much smaller (currently 1/32) than the source,
as it's very likely not going to get a match. Even if it does, you will
have to read at least 32x the size of the new file to reassemble it,
which isn't such a good deal. This leads to a considerable performance
improvement when deltifying a mix of small and large files with a very
large window, because you don't have to wait for the large files to
percolate out of the window before things start going fast again.

Signed-off-by: Brian Downing <bdowning@lavos.net>
Acked-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Correct shebang line for contrib/stats/packinfo.plBrian Downing Thu, 12 Jul 2007 14:16:11 +0000 (09:16 -0500)

Correct shebang line for contrib/stats/packinfo.pl

"/bin/perl"? What was I thinking?

Signed-off-by: Brian Downing <bdowning@lavos.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

script to display a distribution of longest common... Nicolas Pitre Thu, 12 Jul 2007 07:40:18 +0000 (03:40 -0400)

script to display a distribution of longest common hash prefixes

This script was originally posted on the git mailing list by
Randal L. Schwartz <merlyn@stonehenge.com>.

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

apply delta depth bias to already deltified objectsNicolas Pitre Thu, 12 Jul 2007 18:33:21 +0000 (14:33 -0400)

apply delta depth bias to already deltified objects

We already apply a bias on the initial delta attempt with max_size being
a function of the base object depth. This has the effect of favoring
shallower deltas even if deeper deltas could be smaller, and therefore
creating a wider delta tree (see commits 4e8da195 and c3b06a69).

This principle should also be applied to all delta attempts for the same
object and not only the first attempt. With this the criteria for the
best delta is not only its size but also its depth, so that a shallower
delta might be selected even if it is larger than a deeper one. Even if
some deltas get larger, they allow for wider delta trees making the
depth limit less quickly reached and therefore better deltas can be
subsequently found, keeping the resulting pack size even smaller.
Runtime access to the pack should also benefit from shallower deltas.

Testing on different repositories showed slighter faster repacks,
smaller resulting packs, and a much nicer curve for delta depth
distribution with no more peak at the maximum depth level.
Improvements are even more significant with smaller depth limits.

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

Update list of older git docsJunio C Hamano Thu, 12 Jul 2007 21:17:26 +0000 (14:17 -0700)

Update list of older git docs

Merge commit 'git-gui/master'Junio C Hamano Thu, 12 Jul 2007 21:14:51 +0000 (14:14 -0700)

Merge commit 'git-gui/master'

* commit 'git-gui/master': (36 commits)
git-gui: Change prior tree SHA-1 verification to use git_read
git-gui: Include a space in Cygwin shortcut command lines
git-gui: Use sh.exe in Cygwin shortcuts
git-gui: Paper bag fix for Cygwin shortcut creation
git-gui: Improve the Windows and Mac OS X shortcut creators
git-gui: Teach console widget to use git_read
git-gui: Perform our own magic shbang detection on Windows
git-gui: Treat `git version` as `git --version`
git-gui: Assume unfound commands are known by git wrapper
git-gui: Correct gitk installation location
git-gui: Always use absolute path to all git executables
git-gui: Show a progress meter for checking out files
git-gui: Change the main window progress bar to use status_bar
git-gui: Extract blame viewer status bar into mega-widget
git-gui: Allow double-click in checkout dialog to start checkout
git-gui: Default selection to first matching ref
git-gui: Unabbreviate commit SHA-1s prior to display
git-gui: Refactor branch switch to support detached head
git-gui: Refactor our ui_status_value update technique
git-gui: Better handling of detached HEAD
...

Merge branch 'maint'Junio C Hamano Thu, 12 Jul 2007 21:12:38 +0000 (14:12 -0700)

Merge branch 'maint'

* maint:
GIT 1.5.2.4
Teach read-tree 2-way merge to ignore intermediate symlinks
git-gui: Work around bad interaction between Tcl and cmd.exe on ^{tree}
git-gui: Don't linewrap within console windows
git-gui: Correct ls-tree buffering problem in browser
git-gui: Skip nicknames when selecting author initials
git-gui: Ensure windows shortcuts always have .bat extension
git-gui: Include a Push action on the left toolbar
git-gui: Bind M1-P to push action
git-gui: Don't bind F5/M1-R in all windows
git-gui: Unlock the index when cancelling merge dialog
git-gui: properly popup error if gitk should be started but is not installed

GIT 1.5.2.4 v1.5.2.4Junio C Hamano Thu, 12 Jul 2007 19:01:47 +0000 (12:01 -0700)

GIT 1.5.2.4

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

gitk: Improve handling of -- and ambiguous argumentsPaul Mackerras Thu, 12 Jul 2007 12:29:49 +0000 (22:29 +1000)

gitk: Improve handling of -- and ambiguous arguments

This makes gitk more consistent with git rev-list and git log in its
handling of arguments that could be either a revision or a filename;
now gitk displays an error message and quits, rather than treating it
as a revision and getting an error in the underlying git log. Now
gitk always passes "--" to git log even if no filenames are being
specified.

It also makes gitk display errors in invoking git log in a window
rather than on stderr, and makes gitk stop looking for a -d flag
when it sees a "--" argument.

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

Teach read-tree 2-way merge to ignore intermediate... Junio C Hamano Thu, 12 Jul 2007 08:04:16 +0000 (01:04 -0700)

Teach read-tree 2-way merge to ignore intermediate symlinks

Earlier in 16a4c61, we taught "read-tree -m -u" not to be
confused when switching from a branch that has a path frotz/filfre
to another branch that has a symlink frotz that points at xyzzy/
directory. The fix was incomplete in that it was still confused
when coming back (i.e. switching from a branch with frotz -> xyzzy/
to another branch with frotz/filfre).

This fix is rather expensive in that for a path that is created
we would need to see if any of the leading component of that
path exists as a symbolic link in the filesystem (in which case,
we know that path itself does not exist, and the fact we already
decided to check it out tells us that in the index we already
know that symbolic link is going away as there is no D/F
conflict).

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

Merge branch 'maint' of git://repo.or.cz/git-gui into... Junio C Hamano Thu, 12 Jul 2007 08:45:56 +0000 (01:45 -0700)

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

* 'maint' of git://repo.or.cz/git-gui:
git-gui: Work around bad interaction between Tcl and cmd.exe on ^{tree}
git-gui: Don't linewrap within console windows
git-gui: Correct ls-tree buffering problem in browser
git-gui: Skip nicknames when selecting author initials
git-gui: Ensure windows shortcuts always have .bat extension
git-gui: Include a Push action on the left toolbar
git-gui: Bind M1-P to push action
git-gui: Don't bind F5/M1-R in all windows
git-gui: Unlock the index when cancelling merge dialog
git-gui: properly popup error if gitk should be started but is not installed

git-gui: Change prior tree SHA-1 verification to use... Shawn O. Pearce Thu, 12 Jul 2007 06:45:23 +0000 (02:45 -0400)

git-gui: Change prior tree SHA-1 verification to use git_read

This cat-file was done on maint, where we did not have git_read
available to us. But here on master we do, so we should make
use of it.

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

Merge branch 'maint'Shawn O. Pearce Thu, 12 Jul 2007 06:40:54 +0000 (02:40 -0400)

Merge branch 'maint'

* maint:
git-gui: Work around bad interaction between Tcl and cmd.exe on ^{tree}

git-gui: Work around bad interaction between Tcl and... gitgui-0.7.5Shawn O. Pearce Thu, 12 Jul 2007 06:31:28 +0000 (02:31 -0400)

git-gui: Work around bad interaction between Tcl and cmd.exe on ^{tree}

From Johannes Sixt <J.Sixt@eudaptics.com>:
> It seems that MSYS's wish does some quoting for Bourne shells,
> in particular, escape the first '{' of the "^{tree}" suffix, but
> then it uses cmd.exe to run "git rev-parse". However, cmd.exe does
> not remove the backslash, so that the resulting rev expression
> ends up in git's guts as unrecognizable garbage: rev-parse fails,
> and git-gui hickups in a way that it must be restarted.

Johannes originally submitted a patch to this section of commit.tcl
to use `git rev-parse $PARENT:`, but not all versions of Git will
accept that format. So I'm just taking the really simple approach
here of scanning the first line of the commit to grab its tree.
About the same cost, but works everywhere.

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

Re-code builtin-branch.c in UTF-8Junio C Hamano Thu, 12 Jul 2007 05:52:45 +0000 (22:52 -0700)

Re-code builtin-branch.c in UTF-8

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

Function stripspace now gets a buffer instead file... Carlos Rica Wed, 11 Jul 2007 18:50:34 +0000 (20:50 +0200)

Function stripspace now gets a buffer instead file descriptors.

An implementation easier to call from builtins. It is designed
to be used from the upcoming builtin-tag.c and builtin-commit.c,
because both need to remove unwanted spaces from messages.

Signed-off-by: Carlos Rica <jasampler@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Pack information toolBrian Downing Thu, 12 Jul 2007 03:02:25 +0000 (22:02 -0500)

Pack information tool

This tool will print vaguely pretty information about a pack. It
expects the output of "git-verify-pack -v" as input on stdin.

$ git-verify-pack -v | packinfo.pl

See the documentation in the script (contrib/stats/packinfo.pl)
for more information.

Signed-off-by: Brian Downing <bdowning@lavos.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

branch --track: code cleanup and saner handling of... Johannes Schindelin Tue, 10 Jul 2007 17:50:44 +0000 (18:50 +0100)

branch --track: code cleanup and saner handling of local branches

This patch cleans up some complicated code, and replaces it with a
cleaner version, using code from remote.[ch], which got extended a
little in the process. This also enables us to fix two cases:

The earlier "fix" to setup tracking only when the original ref started
with "refs/remotes" is wrong. You are absolutely allowed to use a
separate layout for your tracking branches. The correct fix, of course,
is to set up tracking information only when there is a matching
remote.<nick>.fetch line containing a colon.

Another corner case was not handled properly. If two remotes write to
the original ref, just warn the user and do not set up tracking.

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

Add for_each_remote() function, and extend remote_find_... Johannes Schindelin Tue, 10 Jul 2007 17:48:40 +0000 (18:48 +0100)

Add for_each_remote() function, and extend remote_find_tracking()

The function for_each_remote() does exactly what the name
suggests.

The function remote_find_tracking() was extended to be able to
search remote refs for a given local ref. The caller sets
either src or dst (but not both) in the refspec parameter, and
remote_find_tracking() will fill in the other and return 0.

Both changes are required for the next step: simplification of
git-branch's --track functionality.

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

t7004: Add tests for the git tag -n option.Carlos Rica Tue, 10 Jul 2007 23:11:53 +0000 (01:11 +0200)

t7004: Add tests for the git tag -n option.

These tests check the syntax for the git tag -n option
and its output when one, none or many lines of the
message are requested.

Also this commit adds a missing && in the test
that checks the sorted output of git tag -l.

Signed-off-by: Carlos Rica <jasampler@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t0030: Add tests with consecutive text lines and others... Carlos Rica Tue, 10 Jul 2007 21:59:43 +0000 (23:59 +0200)

t0030: Add tests with consecutive text lines and others with spaces added.

Previous tests only had paragraphs of one line. This commit adds some
tests to check when many consecutive text lines are given.

Also, it adds tests for checking that many lines between paragraphs are
correctly reduced to one when there are tabs and spaces in those lines.

Signed-off-by: Carlos Rica <jasampler@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t0030: Remove repeated instructions and add missing &&Carlos Rica Tue, 10 Jul 2007 21:53:45 +0000 (23:53 +0200)

t0030: Remove repeated instructions and add missing &&

Moved some tests to another test_expect_success block.

Many tests now reuse the same "expect" file. Also replacing
many printf "" >expect with one >expect instruction.

Added missing && which concatenated tests in some
test_expect_success blocks.

Signed-off-by: Carlos Rica <jasampler@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Fix --cherry-pick with given pathsJohannes Schindelin Tue, 10 Jul 2007 13:50:49 +0000 (14:50 +0100)

Fix --cherry-pick with given paths

If you say --cherry-pick, you do not want to see patches which are
in the upstream. If you specify paths with that, what you usually
expect is that only those parts of the patches are looked at which
actually touch the given paths.

With this patch, that expectation is met.

Noticed by Sam Vilain.

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

Fix core.sharedRepository = 2Johannes Schindelin Wed, 11 Jul 2007 14:18:17 +0000 (15:18 +0100)

Fix core.sharedRepository = 2

For compatibility reasons, "git init --shared=all" does not write
"all" into the config, but a number. In the shared setup, you
really have to support even older clients on the _same_ repository.

But git_config_perm() did not pick up on it.

Also, "git update-server-info" failed to pick up on the shared
permissions.

This patch fixes both issues, and adds a test to prove it.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Tested-by: martin f krafft <madduck@madduck.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

gitweb: configurable width for the projects list Descri... Michael Hendricks Thu, 5 Jul 2007 00:36:48 +0000 (18:36 -0600)

gitweb: configurable width for the projects list Description column

This allows gitweb users to set $projects_list_description_width
in their gitweb.conf to determine how many characters of a project
description are displayed before being truncated with an ellipsis.

Signed-off-by: Michael Hendricks <michael@ndrix.org>
Acked-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Correct trivial typo in fast-import documentationShawn O. Pearce Tue, 10 Jul 2007 13:51:42 +0000 (09:51 -0400)

Correct trivial typo in fast-import documentation

Rogan Dawes noticed I meant `filerename` here and not `filename`.

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

Merge branch 'bd/delta'Junio C Hamano Tue, 10 Jul 2007 06:44:45 +0000 (23:44 -0700)

Merge branch 'bd/delta'

* bd/delta:
pack-objects: Prefer shallower deltas if the size is equal

Some cosmetic changes to remote libraryDaniel Barkalow Tue, 10 Jul 2007 04:47:26 +0000 (00:47 -0400)

Some cosmetic changes to remote library

Functions for managing ref lists were named based on their use in
match_refs (for push). For fetch, they will be used for other purposes, so
rename them as a separate patch to make the future code readable.

Signed-off-by: Daniel Barkalow <barkalow@iabervon.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Add allocation and freeing functions for struct refsDaniel Barkalow Tue, 10 Jul 2007 04:47:23 +0000 (00:47 -0400)

Add allocation and freeing functions for struct refs

Instead of open-coding allocation wherever it happens, have a function.
Also, add a function to free a list of refs, which we currently never
actually do.

Signed-off-by: Daniel Barkalow <barkalow@iabervon.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Makefile: rebuild git.o on version change, clean up... Matt McCutchen Tue, 10 Jul 2007 01:30:39 +0000 (21:30 -0400)

Makefile: rebuild git.o on version change, clean up git$X flags

Commit 334d28ae factored out git.o as an intermediate stage between
git.c and git$X. However:

- It left some no-longer-relevant flags in the rule for git$X.

- It failed to replace git$X with git.o in the list of files that
record GIT_VERSION. This broke incorporation of a changed
GIT_VERSION into git$X because, when GIT_VERSION changes, git.o isn't
remade and git$X is relinked from the git.o that still contains the
old GIT_VERSION.

This patch removes the irrelevant flags and fixes incorporation of a
changed GIT_VERSION into git$X.

Signed-off-by: Matt McCutchen <hashproduct@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

rerere: record resolution even if file is not in merge... Johannes Schindelin Mon, 9 Jul 2007 13:47:24 +0000 (14:47 +0100)

rerere: record resolution even if file is not in merge base

Two-file merges were rare enough that they were dropped outside of the
radar. This fix is a trivial change to builtin-rerere.c::find_conflict().
It is still sane to insist that we do not do rerere for symlinks, and
require to have stages #2 and #3, but we can drop the requirement to have
stage #1. rerere does not use information from there anyway.

This fix is from Junio, together with two tests to verify that it works
as expected.

Acked-by: Uwe Kleine-König <ukleinek@informatik.uni-freiburg.de>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Support wholesale directory renames in fast-importShawn O. Pearce Tue, 10 Jul 2007 02:58:23 +0000 (22:58 -0400)

Support wholesale directory renames in fast-import

Some source material (e.g. Subversion dump files) perform directory
renames without telling us exactly which files in that subdirectory
were moved. This makes it hard for a frontend to convert such data
formats to a fast-import stream, as all the frontend has on hand
is "Rename a/ to b/" with no details about what files are in a/,
unless the frontend also kept track of all files.

The new 'R' subcommand within a commit allows the frontend to
rename either a file or an entire subdirectory, without needing to
know the object's SHA-1 or the specific files contained within it.
The rename is performed as efficiently as possible internally,
making it cheaper than a 'D'/'M' pair for a file rename.

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

Merge branch 'maint'Shawn O. Pearce Tue, 10 Jul 2007 01:28:27 +0000 (21:28 -0400)

Merge branch 'maint'

* maint:
Clarify documentation of fast-import's D subcommand

Clarify documentation of fast-import's D subcommandShawn O. Pearce Tue, 10 Jul 2007 01:27:55 +0000 (21:27 -0400)

Clarify documentation of fast-import's D subcommand

The 'D' subcommand within a commit can also delete a directory
recursively. This wasn't clear in the prior version of the
documentation, leading to a question on the mailing list.

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

git-gui: Include a space in Cygwin shortcut command... Shawn O. Pearce Mon, 9 Jul 2007 15:10:26 +0000 (11:10 -0400)

git-gui: Include a space in Cygwin shortcut command lines

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

git-gui: Use sh.exe in Cygwin shortcutsShawn O. Pearce Mon, 9 Jul 2007 15:09:27 +0000 (11:09 -0400)

git-gui: Use sh.exe in Cygwin shortcuts

Because we are trying to execute /bin/sh we know it must be a real
Windows executable and thus ends with the standard .exe suffix.

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

git-gui: Paper bag fix for Cygwin shortcut creationShawn O. Pearce Mon, 9 Jul 2007 15:01:02 +0000 (11:01 -0400)

git-gui: Paper bag fix for Cygwin shortcut creation

We cannot execute the git directory, it is not a valid Tcl command
name. Instead we just want to pass it as an argument to our sq
proc.

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

Merge branch 'maint'Shawn O. Pearce Tue, 10 Jul 2007 01:19:13 +0000 (21:19 -0400)

Merge branch 'maint'

* maint:
git-gui: Don't linewrap within console windows
git-gui: Correct ls-tree buffering problem in browser

git-gui: Don't linewrap within console windowsShawn O. Pearce Mon, 9 Jul 2007 15:14:00 +0000 (11:14 -0400)

git-gui: Don't linewrap within console windows

If we get more than 80 characters of text in a single line odds
are it is output from git-fetch or git-push and its showing a
lot of detail off to the right edge that is not so important to
the average user. We still want to make sure we show everything
we need, but we can get away with that information being off to
the side with a horizontal scrollbar.

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