gitweb.git
Teach mailsplit about Maildir'sFernando J. Pereda Thu, 24 May 2007 22:15:36 +0000 (00:15 +0200)

Teach mailsplit about Maildir's

Signed-off-by: Fernando J. Pereda <ferdy@gentoo.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Merge branch 'maint-1.5.1' into maintJunio C Hamano Fri, 25 May 2007 02:01:50 +0000 (19:01 -0700)

Merge branch 'maint-1.5.1' into maint

* maint-1.5.1:
fix memory leak in parse_object when check_sha1_signature fails
name-rev: tolerate clock skew in committer dates

fix memory leak in parse_object when check_sha1_signatu... Carlos Rica Fri, 25 May 2007 01:46:22 +0000 (03:46 +0200)

fix memory leak in parse_object when check_sha1_signature fails

When check_sha1_signature fails, program is not terminated:
it prints an error message and returns NULL, so the
buffer returned by read_sha1_file should be freed before.

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

name-rev: tolerate clock skew in committer datesJunio C Hamano Thu, 24 May 2007 19:20:42 +0000 (12:20 -0700)

name-rev: tolerate clock skew in committer dates

In git.git repository, "git-name-rev v1.3.0~158" cannot name the
rev, while adjacent revs can be named.

This was because it gives up traversal from the tips of existing
refs as soon as it sees a commit that has older commit timestamp
than what is being named. This is usually a good heuristics,
but v1.3.0~158 has a slightly older commit timestamp than
v1.3.0~157 (i.e. it's child), as these two were made in a
separate repostiory (in fact, in a different continent).

This adds a hardcoded slop value (1 day) to the cut-off
heuristics to work this kind of problem around. The current
algorithm essentially runs around from the available tips down
to ancient commits and names every single rev available that are
newer than cut-off date, so a single day slop would not add that
much overhead in repositories with long enough history where the
performance of name-rev matters.

I think the algorithm could be made a bit smarter by deepening
the graph on demand as a new commit is asked to be named (this
would require rewriting of name_rev() function not to recurse
itself but use a traversal list like revision.c traverser does),
but that would be a separate issue.

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

Correct key bindings to Control-<foo>Shawn O. Pearce Thu, 24 May 2007 06:33:13 +0000 (02:33 -0400)

Correct key bindings to Control-<foo>

Alberto Bertogli reported on #git that git-gui was exiting with
alt-q, while gitk on the same system was exiting with ctrl-q.
That was not what I wanted. I really wanted M1B to be bound to
the Control key on most non-Mac OS X platforms, but according to
Sam Vilain M1 on most systems means alt. Since gitk always does
control, I'm doing the same thing for all non-Mac OS X systems.

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

Update bash completion for git-config optionsShawn O. Pearce Thu, 24 May 2007 06:07:45 +0000 (02:07 -0400)

Update bash completion for git-config options

A few new configuration options grew out of the woodwork during the
1.5.2 series. Most of these are pretty easy to support a completion
of, so we do so.

I wanted to also add completion support for the <driver> part of
merge.<driver>.name but to do that we have to look at all of the
.gitattributes files and guess what the unique set of <driver>
strings would be. Since this appears to be non-trivial I'm punting
on it at this time.

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

Teach bash completion about recent log long optionsShawn O. Pearce Thu, 24 May 2007 05:51:30 +0000 (01:51 -0400)

Teach bash completion about recent log long options

(Somewhat) recently git-log learned about --reverse (to show commits
in the opposite order) and a looong time ago I think it learned
about --raw (to show the raw diff, rather than a unified diff).
These are both useful options, so we should make them easy for the
user to complete.

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

Teach bash completion about 'git remote update'Shawn O. Pearce Thu, 24 May 2007 05:46:49 +0000 (01:46 -0400)

Teach bash completion about 'git remote update'

Recently the git-remote command grew an update subcommand, which
can be used to execute git-fetch across multiple repositories
in a single step. These can be configured with the 'remotes.*'
configuration options, so we can offer completion for any name that
matches and appears to be useful to git-remote update.

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

Allow environment variables to be unset in the processe... Alex Riesen Wed, 23 May 2007 20:21:39 +0000 (22:21 +0200)

Allow environment variables to be unset in the processes started by run_command

To unset a variable, just specify its name, without "=". For example:

const char *env[] = {"GIT_DIR=.git", "PWD", NULL};
const char *argv[] = {"git-ls-files", "-s", NULL};
int err = run_command_v_opt_cd_env(argv, RUN_GIT_CMD, ".", env);

The PWD will be unset before executing git-ls-files.

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

Add ability to specify environment extension to run_commandAlex Riesen Tue, 22 May 2007 21:48:47 +0000 (23:48 +0200)

Add ability to specify environment extension to run_command

There is no way to specify and override for the environment:
there'd be no user for it yet.

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

Add run_command_v_opt_cd: chdir into a directory before... Alex Riesen Tue, 22 May 2007 21:48:23 +0000 (23:48 +0200)

Add run_command_v_opt_cd: chdir into a directory before exec

It can make code simplier (no need to preserve cwd) and safer
(no chance the cwd of the current process is accidentally forgotten).

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

Merge branch 'maint'Junio C Hamano Thu, 24 May 2007 05:37:23 +0000 (22:37 -0700)

Merge branch 'maint'

* maint:
Fix possible coredump with fast-import --import-marks
Refactor fast-import branch creation from existing commit
fast-import: Fix crash when referencing already existing objects
fast-import: Fix uninitialized variable
Documentation: fix git-config.xml generation

Merge branch 'maint' of git://repo.or.cz/git/fastimport... Junio C Hamano Thu, 24 May 2007 05:37:03 +0000 (22:37 -0700)

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

* 'maint' of git://repo.or.cz/git/fastimport:
Fix possible coredump with fast-import --import-marks
Refactor fast-import branch creation from existing commit
fast-import: Fix crash when referencing already existing objects
fast-import: Fix uninitialized variable

Update bash completion header documentationShawn O. Pearce Thu, 24 May 2007 05:36:46 +0000 (01:36 -0400)

Update bash completion header documentation

1) Added a note about supporting the long options for most commands,
as we have been doing so for quite some time.

2) Include a notice that these routines are covered by the GPL,
as that may not be obvious, even though they are distributed
as part of the core Git distribution.

3) Added a short section on how to send patches to the routines,
and to whom they should get sent to. Currently that is me,
as I am the active maintainer.

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

Merge branch 'maint-1.5.1' into maintJunio C Hamano Thu, 24 May 2007 05:34:11 +0000 (22:34 -0700)

Merge branch 'maint-1.5.1' into maint

* maint-1.5.1:
Documentation: fix git-config.xml generation

Remove a duplicate --not option in bash completionShawn O. Pearce Thu, 24 May 2007 05:26:58 +0000 (01:26 -0400)

Remove a duplicate --not option in bash completion

This was just me being silly; I put the --not option into the
completion list twice. There's no duplicates shown in the shell
as the shell removes them before showing them to the user. But we
really don't need the duplicates in the source script either.

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

Teach bash completion about git-shortlogShawn O. Pearce Thu, 24 May 2007 05:25:34 +0000 (01:25 -0400)

Teach bash completion about git-shortlog

We've had completion for git-log for quite some time, but just
today I noticed we don't have it for the new builtin shortlog
that runs git-log internally. This is indeed a handy thing to
have completion for, especially when your branch names are of
the Very-Very-Long-and-Hard/To-Type/Variety/That-Some-Use.

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

Hide the plumbing diff-{files,index,tree} from bash... Shawn O. Pearce Thu, 24 May 2007 05:01:02 +0000 (01:01 -0400)

Hide the plumbing diff-{files,index,tree} from bash completion

The diff-* programs are meant to be plumbing for the diff frontend;
most end users aren't invoking these commands directly. Consequently
we should avoid showing them as possible completions.

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

Fix possible coredump with fast-import --import-marksShawn O. Pearce Thu, 24 May 2007 04:32:31 +0000 (00:32 -0400)

Fix possible coredump with fast-import --import-marks

When e8438420bb7d368bec3647b90c557b9931582267 allowed us to reload
the marks table on subsequent runs of fast-import we really broke
things, as we set pack_id to MAX_PACK_ID for any objects we imported
into the marks table. Creating a branch from that mark should fail
as we attempt to read the object through a non-existant packed_git
pointer. Instead we have to use the normal Git object system to
locate the older commit, as we ourselves do not have a reference
to the packed_git it resides in.

This bug only occurred because t9300 was not complete enough.
When we added the --import-marks feature we didn't actually test
its implementation enough to verify the function worked as intended.
I have corrected that, and included the changes as part of this fix.
Prior versions of fast-import fail the new test(s); this commit
allows them to pass.

Credit for this bug find goes to Simon Hausmann <simon@lst.de> as
he recently identified a similiar bug in the tree lazy-loading path.

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

Refactor fast-import branch creation from existing... Shawn O. Pearce Thu, 24 May 2007 04:05:19 +0000 (00:05 -0400)

Refactor fast-import branch creation from existing commit

To resolve a corner case uncovered by Simon Hausmann I need to
reuse the logic for the SHA-1 expression version of the 'from '
command within the mark version of the 'from ' command. This change
doesn't alter any functionality, but is merely breaking the common
code out to a function that I can reuse.

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

fast-import: Fix crash when referencing already existin... Simon Hausmann Wed, 23 May 2007 21:01:49 +0000 (23:01 +0200)

fast-import: Fix crash when referencing already existing objects

Commit a5c1780a0355a71b9fb70f1f1977ce726ee5b8d8 sets the pack_id of existing
objects to MAX_PACK_ID. When the same object is referenced later again it is
found in the local object hash. With such a pack_id fast-import should not try
to locate that object in the newly created pack(s).

Signed-off-by: Simon Hausmann <simon@lst.de>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

fast-import: Fix uninitialized variableSimon Hausmann Wed, 23 May 2007 21:00:22 +0000 (23:00 +0200)

fast-import: Fix uninitialized variable

Fix uninitialized last_object->no_free variable that is accessed in
store_object.

Signed-off-by: Simon Hausmann <simon@lst.de>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

Documentation: fix git-config.xml generationJames Bowes Wed, 23 May 2007 22:16:12 +0000 (18:16 -0400)

Documentation: fix git-config.xml generation

Signed-off-by: James Bowes <jbowes@dangerouslyinc.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

gitweb.perl - Optionally send archives as .zip filesMark Levedahl Sun, 20 May 2007 15:46:46 +0000 (11:46 -0400)

gitweb.perl - Optionally send archives as .zip files

git-archive already knows how to generate an archive as a tar or a zip
file, but gitweb did not. zip archvies are much more usable in a Windows
environment due to native support and this patch allows a site admin the
option to deliver zip rather than tar files. The selection is done by
inserting

$feature{'snapshot'}{'default'} = ['x-zip', 'zip', ''];

in gitweb_config.perl.

Tar files remain the default option.

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

Merge branch 'fl/cvsserver'Junio C Hamano Wed, 23 May 2007 21:54:18 +0000 (14:54 -0700)

Merge branch 'fl/cvsserver'

* fl/cvsserver:
t9400: Add some basic pserver tests
t9400: Add some more cvs update tests
t9400: Add test cases for config file handling

Merge branch 'ar/progress'Junio C Hamano Wed, 23 May 2007 18:39:58 +0000 (11:39 -0700)

Merge branch 'ar/progress'

* ar/progress:
Fix the progress code to output LF only when it is really needed

Merge branch 'maint'Junio C Hamano Wed, 23 May 2007 18:39:53 +0000 (11:39 -0700)

Merge branch 'maint'

* maint:
Use git-for-each-ref to check whether the origin branch exists.

Fix the progress code to output LF only when it is... Alex Riesen Wed, 23 May 2007 16:07:25 +0000 (18:07 +0200)

Fix the progress code to output LF only when it is really needed

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

pack-objects: clarification & option checks for --max... Dana How Wed, 23 May 2007 17:11:33 +0000 (10:11 -0700)

pack-objects: clarification & option checks for --max-pack-size

Explain the special code for detecting a corner-case error,
and complain about --stdout & --max-pack-size being used together.

Signed-off-by: Dana L. How <danahow@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Use git-for-each-ref to check whether the origin branch... Stephan Springl Wed, 23 May 2007 11:13:21 +0000 (12:13 +0100)

Use git-for-each-ref to check whether the origin branch exists.

This works in repositories that have their refs packed by
"git-pack-refs --all --prune" whereas testing the file
$git_dir/refs/heads/$opt_o does not.

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

Fix command line parameter parser of revert/cherry... Junio C Hamano Wed, 23 May 2007 05:52:59 +0000 (22:52 -0700)

Fix command line parameter parser of revert/cherry-pick

The parser was inconsistently done, in that it did not look at
the last command line parameter to see if it could be an unknown
option, although it was designed to notice unknown options if
they were given in positions the command expects to find them
(i.e. everything except the last parameter, which ought to be
<commit-ish>). This prevented a very natural invocation

$ git cherry-pick --usage

from issuing the usage help.

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

Merge branch 'jn/lstree'Junio C Hamano Wed, 23 May 2007 07:17:47 +0000 (00:17 -0700)

Merge branch 'jn/lstree'

* jn/lstree:
Add an option to git-ls-tree to display also the size of blob

Merge branch 'maint'Junio C Hamano Wed, 23 May 2007 07:16:11 +0000 (00:16 -0700)

Merge branch 'maint'

* maint:
Document branch.autosetupmerge.

Merge branch 'maint-1.5.1' into maintJunio C Hamano Wed, 23 May 2007 07:15:35 +0000 (00:15 -0700)

Merge branch 'maint-1.5.1' into maint

* maint-1.5.1:
Document branch.autosetupmerge.

builtin-pack-objects: remove unnecessary code for no... Junio C Hamano Wed, 23 May 2007 06:04:49 +0000 (23:04 -0700)

builtin-pack-objects: remove unnecessary code for no-delta

As we do not consider objects marked as "no-delta" early, there
is no point to check if the other objects already in the delta
window are marked as such -- "no-delta" objects will not enter
the window to begin with.

Pointed out by Nico.

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

Document branch.autosetupmerge.Paolo Bonzini Wed, 23 May 2007 05:07:54 +0000 (07:07 +0200)

Document branch.autosetupmerge.

This patch documents the branch.autosetupmerge config option, added
by commit 0746d19a.

Signed-off-by: Paolo Bonzini <bonzini@gnu.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

git-gui: Tighten internal pattern match for lib/ directoryShawn O. Pearce Tue, 22 May 2007 07:22:51 +0000 (03:22 -0400)

git-gui: Tighten internal pattern match for lib/ directory

Our GITGUI_LIBDIR macro was testing only for @@ at the start of
the path, assuming nobody would ever find that to be a reasonable
prefix for a directory to install our library into. That is most
likely a valid assumption, but its even more unlikely they would
have the start be @@GITGUI_ and the end be @@. Note that we
cannot use the full string here because that would get expanded
by the sed replacement in our Makefile.

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

t9400: Add some basic pserver testsFrank Lichtenheld Sun, 20 May 2007 22:31:58 +0000 (00:31 +0200)

t9400: Add some basic pserver tests

While we can easily test the cvs <-> git-cvsserver
communication with :fork: and git-cvsserver server
there are some pserver specifics we should test, too.

Currently this are two tests of the pserver authentication.

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

t9400: Add some more cvs update testsFrank Lichtenheld Sun, 20 May 2007 22:31:57 +0000 (00:31 +0200)

t9400: Add some more cvs update tests

Add some cvs update tests that include various merge
situations. Also add a basic test for update -C
since it fits so well in there.

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

t9400: Add test cases for config file handlingFrank Lichtenheld Sun, 20 May 2007 22:31:56 +0000 (00:31 +0200)

t9400: Add test cases for config file handling

Add a few test cases for the config file parsing
done by git-cvsserver.

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

Teach "delta" attribute to pack-objects.Junio C Hamano Sat, 19 May 2007 07:39:31 +0000 (00:39 -0700)

Teach "delta" attribute to pack-objects.

This teaches pack-objects to use .gitattributes mechanism so
that the user can specify certain blobs are not worth spending
CPU cycles to attempt deltification.

The name of the attrbute is "delta", and when it is set to
false, like this:

== .gitattributes ==
*.jpg -delta

they are always stored in the plain-compressed base object
representation.

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

pack-objects: pass fullname down to add_object_entry()Junio C Hamano Sat, 19 May 2007 07:19:23 +0000 (00:19 -0700)

pack-objects: pass fullname down to add_object_entry()

Instead of giving a hash for grouping, pass fullname to add_object_entry().
I want to add "do not try deltifying this object" bit to object_entry based on
the settings in .gitattributes, and hashing the name down too early would
interfere with that plan.

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

Merge branch 'mc/ws'Junio C Hamano Tue, 22 May 2007 06:57:05 +0000 (23:57 -0700)

Merge branch 'mc/ws'

* mc/ws:
git-apply: Fix removal of new trailing blank lines.
Teach 'git-apply --whitespace=strip' to remove empty lines at the end of file

Teach git-describe how to run name-revShawn O. Pearce Mon, 21 May 2007 07:20:25 +0000 (03:20 -0400)

Teach git-describe how to run name-rev

Often users want to know not which tagged version a commit came
after, but which tagged version a commit is contained within.
This latter task is the job of git-name-rev, but most users are
looking to git-describe to do the job.

Junio suggested we make `git describe --contains` run the correct
tool, `git name-rev`, and that's exactly what we do here. The output
of name-rev was adjusted slightly through the new --name-only option,
allowing describe to execv into name-rev and maintain its current
output format.

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

rename dirlink to gitlink.Martin Waitz Mon, 21 May 2007 20:08:28 +0000 (22:08 +0200)

rename dirlink to gitlink.

Unify naming of plumbing dirlink/gitlink concept:

git ls-files -z '*.[ch]' |
xargs -0 perl -pi -e 's/dirlink/gitlink/g;' -e 's/DIRLNK/GITLINK/g;'

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

Merge branch 'maint'Junio C Hamano Tue, 22 May 2007 03:03:53 +0000 (20:03 -0700)

Merge branch 'maint'

* maint:
git-cvsserver: fix disabling service via per-method config
git-status: respect core.excludesFile
SubmittingPatches: mention older C compiler compatibility
git-daemon: don't ignore pid-file write failure

git-cvsserver: fix disabling service via per-method... Junio C Hamano Mon, 21 May 2007 00:57:27 +0000 (17:57 -0700)

git-cvsserver: fix disabling service via per-method config

When the per-method enable logic disables the access, we should
not even look at the global one.

git-cvsserver.perl | 8 +++-----
1 files changed, 3 insertions(+), 5 deletions(-)

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

Merge branch 'maint-1.5.1' into maintJunio C Hamano Tue, 22 May 2007 01:42:35 +0000 (18:42 -0700)

Merge branch 'maint-1.5.1' into maint

* maint-1.5.1:
git-status: respect core.excludesFile
SubmittingPatches: mention older C compiler compatibility
git-daemon: don't ignore pid-file write failure

git-status: respect core.excludesFileJohannes Schindelin Tue, 22 May 2007 00:12:17 +0000 (01:12 +0100)

git-status: respect core.excludesFile

git-add reads this variable, and honours the contents of that file if that
exists. Match this behaviour in git-status, too.

Noticed by Evan Carroll on IRC.

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

SubmittingPatches: mention older C compiler compatibilityJohannes Schindelin Mon, 21 May 2007 12:48:49 +0000 (13:48 +0100)

SubmittingPatches: mention older C compiler compatibility

We do not appreciate C99 initializers, declarations after statements,
or "0" instead of "NULL".

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

git-daemon: don't ignore pid-file write failureJim Meyering Mon, 21 May 2007 07:58:01 +0000 (09:58 +0200)

git-daemon: don't ignore pid-file write failure

Note: since the consequence of failure is to call die,
I don't bother to close "f".

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

git-apply: Fix removal of new trailing blank lines.Junio C Hamano Mon, 21 May 2007 06:51:06 +0000 (23:51 -0700)

git-apply: Fix removal of new trailing blank lines.

The earlier code removed one newline too many from the hunk that
adds new lines at the end of the file. Also the way the code
counted the added blank lines was somewhat roundabout; I think
the way updated code does it is more direct and easier to
follow:

* We keep track of the number of blank lines added;

* While processing each line, we notice if it adds a blank
line, and increment the counter, or reset it to zero
otherwise;

* When actually we apply the data, we remove the empty lines we
counted earlier if we are applying it at the end of the
file.

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

Update bash completion to ignore some more plumbing... Jonas Fonseca Sat, 19 May 2007 21:35:21 +0000 (23:35 +0200)

Update bash completion to ignore some more plumbing commands

[sp: Modified Jonas' original patch to keep checkout-index
as a a valid completion.]

Signed-off-by: Jonas Fonseca <fonseca@diku.dk>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

git-repack --max-pack-size: add option parsing to enabl... Dana L. How Sun, 13 May 2007 19:47:09 +0000 (12:47 -0700)

git-repack --max-pack-size: add option parsing to enable feature

Add --max-pack-size parsing and usage messages.
Upgrade git-repack.sh to handle multiple packfile names,
and build packfiles in GIT_OBJECT_DIRECTORY not GIT_DIR.
Update documentation.

Signed-off-by: Dana L. How <danahow@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

git-repack --max-pack-size: split packs as asked by... Dana L. How Sun, 13 May 2007 19:09:16 +0000 (12:09 -0700)

git-repack --max-pack-size: split packs as asked by write_{object,one}()

Rewrite write_pack_file() to break to a new packfile
whenever write_object/write_one request it, and
correct the header's object count in the previous packfile.
Change write_index_file() to write an index
for just the objects in the most recent packfile.

Signed-off-by: Dana L. How <danahow@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

git-repack --max-pack-size: write_{object,one}() respec... Dana L. How Sun, 13 May 2007 19:06:18 +0000 (12:06 -0700)

git-repack --max-pack-size: write_{object,one}() respect pack limit

With --max-pack-size, generate the appropriate write limit
for each object and check against it before each group of writes.
Update delta usability rules to handle base being in a previously-
written pack. Inline sha1write_compress() so we know the
exact size of the written data when it needs to be compressed.
Detect and return write "failure".

Signed-off-by: Dana L. How <danahow@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

git-repack --max-pack-size: new file statics and code... Dana L. How Sun, 13 May 2007 18:34:56 +0000 (11:34 -0700)

git-repack --max-pack-size: new file statics and code restructuring

Add "pack_size_limit", the limit specified by --max-pack-size,
"written_list", the list of objects written to the current pack,
and "nr_written", the number of objects in written_list.
Put "base_name" at file scope again and add forward declarations.
Move write_index_file() call from cnd_pack_objects() to
write_pack_file() since only the latter will know how
many times to call write_index_file().

Signed-off-by: Dana L. How <danahow@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Alter sha1close() 3rd argument to request flush onlyDana L. How Sun, 13 May 2007 18:28:19 +0000 (11:28 -0700)

Alter sha1close() 3rd argument to request flush only

update=0 suppressed writing the final SHA-1 but was not used.
Now final=0 suppresses SHA-1 finalization, SHA-1 writing,
and closing -- in other words, only flush the buffer.

Signed-off-by: Dana L. How <danahow@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Add an option to git-ls-tree to display also the size... Jakub Narebski Sat, 19 May 2007 20:08:11 +0000 (22:08 +0200)

Add an option to git-ls-tree to display also the size of blob

Add -l/--long option to git-ls-tree command, which displays
object size of a blob entry. Object size is placed after
object id (left-justified with minimum width of 7 characters).
For non-blob entries `-' is used.

Rationale: for non-blob entries size of an object has no much
meaning, and is not very interesting. Moreover, in planned
pack v4 tree objects would be constructed on demand, so tree
size would need to be calculated.

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

Update local tracking refs when pushingDaniel Barkalow Wed, 16 May 2007 02:50:19 +0000 (22:50 -0400)

Update local tracking refs when pushing

This also adds a --remote option to send-pack, which specifies the
configured remote being used. It is provided automatically by
git-push, and must match the url (which is still needed, since there
could be multiple urls).

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

Add handlers for fetch-side configuration of remotes.Daniel Barkalow Sat, 12 May 2007 15:46:03 +0000 (11:46 -0400)

Add handlers for fetch-side configuration of remotes.

These follow the pattern of the push side configuration, but aren't
taken from anywhere else, because git-fetch is still in shell.

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

Move refspec parser from connect.c and cache.h to remot... Daniel Barkalow Sat, 12 May 2007 15:45:59 +0000 (11:45 -0400)

Move refspec parser from connect.c and cache.h to remote.{c,h}

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

Move remote parsing into a library file out of builtin... Daniel Barkalow Sat, 12 May 2007 15:45:53 +0000 (11:45 -0400)

Move remote parsing into a library file out of builtin-push.

The new parser is different from the one in builtin-push in two ways:
the default is to use the current branch's remote, if there is one,
before "origin"; and config is used in preference to remotes.

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

Teach 'git-apply --whitespace=strip' to remove empty... Marco Costalba Sun, 20 May 2007 12:45:59 +0000 (14:45 +0200)

Teach 'git-apply --whitespace=strip' to remove empty lines at the end of file

[jc: with an obvious microfix to avoid doing this unless --whitespace=strip]

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

git-rev-list: Add regexp tuning optionsPetr Baudis Sat, 19 May 2007 00:13:29 +0000 (02:13 +0200)

git-rev-list: Add regexp tuning options

This patch introduces --extended-regexp and --regexp-ignore-case options to
tune what kind of patterns the pattern-limiting options (--grep, --author,
...) accept.

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

gitweb: Add test t9500 for gitweb (as standalone script)Jakub Narebski Sat, 19 May 2007 00:19:20 +0000 (02:19 +0200)

gitweb: Add test t9500 for gitweb (as standalone script)

This test runs gitweb (git web interface) as CGI script from
commandline, and checks that it would not write any errors
or warnings to log.

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

Merge branch 'maint'Junio C Hamano Mon, 21 May 2007 02:58:03 +0000 (19:58 -0700)

Merge branch 'maint'

* maint:
annotate: make it work from subdirectories.
git-config: Correct asciidoc documentation for --int/--bool
t1300: Add tests for git-config --bool --get
unpack-trees.c: verify_uptodate: remove dead code
Use PATH_MAX instead of TEMPFILE_PATH_LEN
branch: fix segfault when resolving an invalid HEAD

Merge branch 'maint-1.5.1' into maintJunio C Hamano Mon, 21 May 2007 02:57:00 +0000 (19:57 -0700)

Merge branch 'maint-1.5.1' into maint

* maint-1.5.1:
annotate: make it work from subdirectories.
git-config: Correct asciidoc documentation for --int/--bool
t1300: Add tests for git-config --bool --get
unpack-trees.c: verify_uptodate: remove dead code
Use PATH_MAX instead of TEMPFILE_PATH_LEN
branch: fix segfault when resolving an invalid HEAD

annotate: make it work from subdirectories.Junio C Hamano Mon, 21 May 2007 02:56:28 +0000 (19:56 -0700)

annotate: make it work from subdirectories.

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

git-config: Correct asciidoc documentation for --int... Frank Lichtenheld Sun, 20 May 2007 22:12:58 +0000 (00:12 +0200)

git-config: Correct asciidoc documentation for --int/--bool

The asciidoc documentation seemed to indicate that type specifiers
are honoured on writing operations which they aren't. Make this
more clear.

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

t1300: Add tests for git-config --bool --getFrank Lichtenheld Sun, 20 May 2007 22:12:57 +0000 (00:12 +0200)

t1300: Add tests for git-config --bool --get

Noticed that there were only tests for --int, but not
for --bool. Add some.

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

unpack-trees.c: verify_uptodate: remove dead codeSven Verdoolaege Sun, 20 May 2007 17:26:37 +0000 (19:26 +0200)

unpack-trees.c: verify_uptodate: remove dead code

This code was killed by commit fcc387db9bc453dc7e07a262873481af2ee9e5c8.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Use PATH_MAX instead of TEMPFILE_PATH_LENFernando J. Pereda Sun, 20 May 2007 13:35:46 +0000 (15:35 +0200)

Use PATH_MAX instead of TEMPFILE_PATH_LEN

Signed-off-by: Fernando J. Pereda <ferdy@gentoo.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

branch: fix segfault when resolving an invalid HEADJonas Fonseca Sun, 20 May 2007 12:19:17 +0000 (14:19 +0200)

branch: fix segfault when resolving an invalid HEAD

Caused by return value of resolve_ref being passed directly
to xstrdup whereby the sanity checking was never reached.

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

Merge branch 'dh/pack'Junio C Hamano Sun, 20 May 2007 09:19:19 +0000 (02:19 -0700)

Merge branch 'dh/pack'

* dh/pack:
Custom compression levels for objects and packs

Merge branch 'mst/connect'Junio C Hamano Sun, 20 May 2007 09:18:50 +0000 (02:18 -0700)

Merge branch 'mst/connect'

* mst/connect:
connect: display connection progress

Merge branch 'sv/checkout'Junio C Hamano Sun, 20 May 2007 09:18:47 +0000 (02:18 -0700)

Merge branch 'sv/checkout'

* sv/checkout:
git-update-ref: add --no-deref option for overwriting/detaching ref

Merge branch 'np/pack'Junio C Hamano Sun, 20 May 2007 09:18:43 +0000 (02:18 -0700)

Merge branch 'np/pack'

* np/pack:
deprecate the new loose object header format
make "repack -f" imply "pack-objects --no-reuse-object"
allow for undeltified objects not to be reused

Merge branch 'tt/gc'Junio C Hamano Sun, 20 May 2007 09:18:40 +0000 (02:18 -0700)

Merge branch 'tt/gc'

* tt/gc:
Add --aggressive option to 'git gc'

Merge branch 'jb/statcolor'Junio C Hamano Sun, 20 May 2007 09:18:37 +0000 (02:18 -0700)

Merge branch 'jb/statcolor'

* jb/statcolor:
Add colour support in rebase and merge tree diff stats output.

GIT 1.5.2 v1.5.2Junio C Hamano Sun, 20 May 2007 07:30:39 +0000 (00:30 -0700)

GIT 1.5.2

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

git-cvsserver: exit with 1 upon "I HATE YOU"Junio C Hamano Sun, 20 May 2007 00:53:45 +0000 (17:53 -0700)

git-cvsserver: exit with 1 upon "I HATE YOU"

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

Merge branch 'maint' to synchronize with 1.5.1.6Junio C Hamano Sun, 20 May 2007 07:19:30 +0000 (00:19 -0700)

Merge branch 'maint' to synchronize with 1.5.1.6

* maint:
GIT 1.5.1.6
git-svn: don't minimize-url when doing an init that tracks multiple paths
git-svn: avoid crashing svnserve when creating new directories
user-manual: Add section on ignoring files
user-manual: finding commits referencing given file content
user-manual: discourage shared repository
tutorial: revise index introduction
tutorials: add user-manual links

Conflicts:

GIT-VERSION-GEN
RelNotes

GIT 1.5.1.6 v1.5.1.6Junio C Hamano Sun, 20 May 2007 01:18:24 +0000 (18:18 -0700)

GIT 1.5.1.6

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

Merge branch 'maint' of git://linux-nfs.org/~bfields... Junio C Hamano Sun, 20 May 2007 06:25:59 +0000 (23:25 -0700)

Merge branch 'maint' of git://linux-nfs.org/~bfields/git into maint

* 'maint' of git://linux-nfs.org/~bfields/git:
user-manual: Add section on ignoring files
user-manual: finding commits referencing given file content
user-manual: discourage shared repository
tutorial: revise index introduction
tutorials: add user-manual links

git-svn: don't minimize-url when doing an init that... Eric Wong Sat, 19 May 2007 10:59:02 +0000 (03:59 -0700)

git-svn: don't minimize-url when doing an init that tracks multiple paths

I didn't have a chance to test the off-by-default minimize-url
stuff enough before, but it's quite broken for people passing
the --trunk/-T, --tags/-t, --branches/-b switches to "init" or
"clone" commands.

Additionally, follow-parent functionality seems broken when we're
not connected to the root of the repository.

Default behavior for "traditional" git-svn users who only track
one directory (without needing follow-parent) should be
reasonable, as those users started using things before
minimize-url functionality existed.

Behavior for users more used to the git-svnimport-like command
line will also benefit from a more-flexible command-line than
svnimport given the assumption they're working with
non-restrictive read permissions on the repository.

I hope to properly fix these bugs when I get a chance to in the
next week or so, but I would like to get this stopgap measure of
reverting to the old behavior as soon as possible.

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

git-svn: avoid crashing svnserve when creating new... Eric Wong Sat, 19 May 2007 09:58:37 +0000 (02:58 -0700)

git-svn: avoid crashing svnserve when creating new directories

When sorting directory names by depth (slash ("/") count) and
closing the deepest directories first (as the protocol
requires), we failed to put the root baton (with an empty string
as its key "") after top-level directories (which did not have
any slashes).

This resulted in svnserve being in a situation it couldn't
handle and caused a segmentation fault on the remote server.

This bug did not affect users of DAV and filesystem repositories.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Confirmed-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <junkio@cox.net>

user-manual: Add section on ignoring filesJohan Herland Wed, 16 May 2007 00:31:40 +0000 (02:31 +0200)

user-manual: Add section on ignoring files

The todo list at the end of the user manual says that something must be
said about .gitignore. Also, there seems to be a lack of documentation
on how to choose between the various types of ignore files (.gitignore
vs. .git/info/exclude, etc.).

This patch adds a section on ignoring files which try to introduce how
to tell git about ignored files, and how the different strategies
complement eachother.

The syntax of exclude patterns is explained in a simplified manner, with
a reference to git-ls-files(1) which already contains a more thorough
explanation.

Signed-off-by: Johan Herland <johan@herland.net>

user-manual: finding commits referencing given file... J. Bruce Fields Sat, 19 May 2007 04:37:25 +0000 (00:37 -0400)

user-manual: finding commits referencing given file content

Another amusing git exploration example brought up in irc. (Credit to
aeruder for the complete solution.)

Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>

user-manual: discourage shared repositoryJ. Bruce Fields Tue, 15 May 2007 04:30:58 +0000 (00:30 -0400)

user-manual: discourage shared repository

I don't really want to look like we're encouraging the shared repository
thing. Take down some of the argument for using purely
single-developer-owned repositories and collaborating using patches and
pulls instead.

Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>

tutorial: revise index introductionJ. Bruce Fields Fri, 18 May 2007 04:51:42 +0000 (00:51 -0400)

tutorial: revise index introduction

The embarassing history of this tutorial is that I started it without
really understanding the index well, so I avoided mentioning it.

And we all got the idea that "index" was a word to avoid using around
newbies, but it was reluctantly mentioned that *something* had to be
said. The result is a little awkward: the discussion of the index never
actually uses that word, and isn't well-integrated into the surrounding
material.

Let's just go ahead and use the word "index" from the very start, and
try to demonstrate its use with a minimum of lecturing.

Also, remove discussion of using git-commit with explicit filenames.
We're already a bit slow here to get people to their first commit, and
I'm not convinced this is really so important.

Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>

tutorials: add user-manual linksJ. Bruce Fields Fri, 18 May 2007 03:56:08 +0000 (23:56 -0400)

tutorials: add user-manual links

Mention the user manual, especially as an alternative introduction for
user's mainly interested in read-only operations.

And fix a typo while we're there.

Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>

Merge branch 'maint'Junio C Hamano Sat, 19 May 2007 04:50:56 +0000 (21:50 -0700)

Merge branch 'maint'

* maint:
Documentation: Reformatted SYNOPSIS for several commands
Documentation: Added [verse] to SYNOPSIS where necessary

Documentation: Reformatted SYNOPSIS for several commandsMatthias Kestenholz Fri, 18 May 2007 13:39:34 +0000 (15:39 +0200)

Documentation: Reformatted SYNOPSIS for several commands

Signed-off-by: Matthias Kestenholz <matthias@spinlock.ch>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Documentation: Added [verse] to SYNOPSIS where necessaryMatthias Kestenholz Fri, 18 May 2007 13:39:33 +0000 (15:39 +0200)

Documentation: Added [verse] to SYNOPSIS where necessary

Signed-off-by: Matthias Kestenholz <matthias@spinlock.ch>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Documentation/git.txt: Update links to older documentat... Junio C Hamano Sat, 19 May 2007 04:43:13 +0000 (21:43 -0700)

Documentation/git.txt: Update links to older documentation pages.

It's starting to take too much space at the beginning of the
main documentation page.

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

gitweb: Fix "Use of uninitialized value" warning in... Jakub Narebski Sat, 19 May 2007 00:47:51 +0000 (02:47 +0200)

gitweb: Fix "Use of uninitialized value" warning in git_feed

Initial (root) commit has no parents, and $co{'parent'} is
undefined. Use '--root' for initial commit.

This fixes "Use of uninitialized value in open at gitweb/gitweb.perl
line 4925." warning.

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

Merge branch 'sp/cvsexport'Junio C Hamano Sat, 19 May 2007 00:28:50 +0000 (17:28 -0700)

Merge branch 'sp/cvsexport'

* sp/cvsexport:
Optimized cvsexportcommit: calling 'cvs status' once instead of once per touched file.

Add link to 1.5.1.5 release notes.Junio C Hamano Sat, 19 May 2007 00:28:24 +0000 (17:28 -0700)

Add link to 1.5.1.5 release notes.

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

Merge 1.5.1.5 inJunio C Hamano Sat, 19 May 2007 00:27:08 +0000 (17:27 -0700)

Merge 1.5.1.5 in

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