gitweb.git
git-mailsplit: with maildirs not only process cur/... Gerrit Pape Tue, 6 Nov 2007 08:54:18 +0000 (08:54 +0000)

git-mailsplit: with maildirs not only process cur/, but also new/

When saving patches to a maildir with e.g. mutt, the files are put into
the new/ subdirectory of the maildir, not cur/. This makes git-am state
"Nothing to do.". This patch lets git-mailsplit additional check new/
after reading cur/.

This was reported by Joey Hess through
http://bugs.debian.org/447396

Signed-off-by: Gerrit Pape <pape@smarden.org>
Acked-by: Jeff King <peff@peff.net>
Acked-by: Alex Riesen <raa.lkml@gmail.com>
Acked-by: Fernando J. Pereda <ferdy@gentoo.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'jc/clean-config'Junio C Hamano Thu, 8 Nov 2007 02:19:38 +0000 (18:19 -0800)

Merge branch 'jc/clean-config'

* jc/clean-config:
clean: require -f to do damage by default

Merge branch 'gp/reset-q'Junio C Hamano Thu, 8 Nov 2007 02:18:55 +0000 (18:18 -0800)

Merge branch 'gp/reset-q'

* gp/reset-q:
git-reset: add -q option to operate quietly

Merge branch 'ds/maint-deflatebound'Junio C Hamano Thu, 8 Nov 2007 02:17:20 +0000 (18:17 -0800)

Merge branch 'ds/maint-deflatebound'

* ds/maint-deflatebound:
Improve accuracy of check for presence of deflateBound.

Merge branch 'cp/p4'Junio C Hamano Thu, 8 Nov 2007 02:16:18 +0000 (18:16 -0800)

Merge branch 'cp/p4'

* cp/p4:
git-p4: Detect changes to executable bit and include them in p4 submit.
git-p4: Add a helper function to parse the full git diff-tree output.

Merge branch 'maint'Junio C Hamano Thu, 8 Nov 2007 02:07:07 +0000 (18:07 -0800)

Merge branch 'maint'

* maint:
Add Documentation/CodingGuidelines
When exec() fails include the failing command in the error message
RelNotes-1.5.3.5: fix another typo

Merge branch 'mh/work-tree'Junio C Hamano Thu, 8 Nov 2007 01:37:00 +0000 (17:37 -0800)

Merge branch 'mh/work-tree'

* mh/work-tree:
Make git-blame fail when working tree is needed and we're not in one
Don't always require working tree for git-rm
Use setup_work_tree() in builtin-ls-files.c
Refactor working tree setup

Small code readability improvement in show_reference... Mike Hommey Sat, 3 Nov 2007 13:08:05 +0000 (14:08 +0100)

Small code readability improvement in show_reference() in builtin-tag.c

Signed-off-by: Mike Hommey <mh@glandium.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

send-email: apply --suppress-from to S-o-b and cc-cmdUwe Kleine-König Wed, 7 Nov 2007 07:34:12 +0000 (08:34 +0100)

send-email: apply --suppress-from to S-o-b and cc-cmd

Signed-off-by: Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com>
Cc: Ryan Anderson <ryan@michonline.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Fix minor nits in configure.acRalf Wildenhues Tue, 6 Nov 2007 20:12:45 +0000 (21:12 +0100)

Fix minor nits in configure.ac

Avoid "test -o" as it is only XSI not POSIX, and not portable.
Avoid exit(3) in test programs in favor of return, to accommodate
for newer Autoconf not providing a declaration for exit.

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

Deprecate git-lost-foundJohannes Schindelin Thu, 8 Nov 2007 00:41:22 +0000 (00:41 +0000)

Deprecate git-lost-found

"git fsck" learnt the option "--lost-found" in v1.5.3-rc0~5, to make
"git lost-found" obsolete. It is time to deprecate "git lost-found".

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

Improve accuracy of check for presence of deflateBound.David Symonds Wed, 7 Nov 2007 03:24:28 +0000 (14:24 +1100)

Improve accuracy of check for presence of deflateBound.

ZLIB_VERNUM isn't defined in some zlib versions, so this patch does a proper
linking test in autoconf to see whether deflateBound exists in zlib. Also,
setting NO_DEFLATE_BOUND will also work for folk not using autoconf.

Signed-off-by: David Symonds <dsymonds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Add Documentation/CodingGuidelinesJohannes Schindelin Thu, 8 Nov 2007 00:33:19 +0000 (00:33 +0000)

Add Documentation/CodingGuidelines

Even if our code is quite a good documentation for our coding style,
some people seem to prefer a document describing it.

The part about the shell scripts is clearly just copied from one of
Junio's helpful mails, and some parts were added from comments by
Junio, Andreas Ericsson and Robin Rosenberg.

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

make display of total transferred fully accurateNicolas Pitre Tue, 6 Nov 2007 21:30:28 +0000 (16:30 -0500)

make display of total transferred fully accurate

The minimum delay of 1/2 sec between successive throughput updates might
not have been elapsed when display_throughput() is called for the last
time, potentially making the display of total transferred bytes not
right when progress is said to be done.

Let's force an update of the throughput display as well when the
progress is complete. As a side effect, the total transferred will
always be displayed even if the actual transfer rate doesn't have time
to kickin.

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

contrib/hooks/post-receive-email: make subject prefix... Gerrit Pape Tue, 6 Nov 2007 13:49:30 +0000 (13:49 +0000)

contrib/hooks/post-receive-email: make subject prefix configurable

Email subjects are prefixed with "[SCM] " by default, make this optionally
configurable through the hooks.emailprefix config option.

Suggested by martin f krafft through
http://bugs.debian.org/428418

Signed-off-by: Gerrit Pape <pape@smarden.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

contrib/hooks/post-receive-email: reformat to wrap... Gerrit Pape Tue, 6 Nov 2007 13:48:34 +0000 (13:48 +0000)

contrib/hooks/post-receive-email: reformat to wrap comments at 76 chars

Signed-off-by: Gerrit Pape <pape@smarden.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

contrib/hooks/post-receive-email: fix typoGerrit Pape Tue, 6 Nov 2007 13:48:07 +0000 (13:48 +0000)

contrib/hooks/post-receive-email: fix typo

Signed-off-by: Gerrit Pape <pape@smarden.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

restore fetching with thin-pack capabilityNicolas Pitre Wed, 7 Nov 2007 22:20:22 +0000 (17:20 -0500)

restore fetching with thin-pack capability

Broken since commit fa74052922cf39e5a39ad7178d1b13c2da9b4519.

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

git-stash: Fix listing stashesEmil Medve Wed, 7 Nov 2007 21:10:27 +0000 (15:10 -0600)

git-stash: Fix listing stashes

Commit bc9e7399af3790918140c30a5b2c85bf9a8f1ad3 "reverted" commit
f12e925ac23ad6169e046cfe05b8438a1611ad58

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

When exec() fails include the failing command in the... Ask Bjørn Hansen Tue, 6 Nov 2007 10:54:01 +0000 (02:54 -0800)

When exec() fails include the failing command in the error message

git-svn occasionally fails with no details as to what went wrong - this should help debug those situations.

Signed-off-by: Ask Bjørn Hansen <ask@develooper.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

RelNotes-1.5.3.5: fix another typoDavid D Kilzer Sun, 4 Nov 2007 12:45:22 +0000 (04:45 -0800)

RelNotes-1.5.3.5: fix another typo

Signed-off-by: David D Kilzer <ddkilzer@kilzer.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-reset: add -q option to operate quietlyGerrit Pape Sun, 4 Nov 2007 09:37:20 +0000 (09:37 +0000)

git-reset: add -q option to operate quietly

Many git commands have a -q option to suppress output to stdout, let's
have it for git-reset too.

This was asked for by Joey Hess through
http://bugs.debian.org/444933

Signed-off-by: Gerrit Pape <pape@smarden.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Make git-blame fail when working tree is needed and... Mike Hommey Sat, 3 Nov 2007 12:22:55 +0000 (13:22 +0100)

Make git-blame fail when working tree is needed and we're not in one

Signed-off-by: Mike Hommey <mh@glandium.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Don't always require working tree for git-rmMike Hommey Sat, 3 Nov 2007 11:23:13 +0000 (12:23 +0100)

Don't always require working tree for git-rm

This allows to do git rm --cached -r directory, instead of
git ls-files -z directory | git update-index --remove -z --stdin.
This can be particularly useful for git-filter-branch users.

Signed-off-by: Mike Hommey <mh@glandium.org>
Acked-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Use setup_work_tree() in builtin-ls-files.cMike Hommey Sat, 3 Nov 2007 11:23:12 +0000 (12:23 +0100)

Use setup_work_tree() in builtin-ls-files.c

Signed-off-by: Mike Hommey <mh@glandium.org>
Acked-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Refactor working tree setupMike Hommey Sat, 3 Nov 2007 11:23:11 +0000 (12:23 +0100)

Refactor working tree setup

Create a setup_work_tree() that can be used from any command requiring
a working tree conditionally.

Signed-off-by: Mike Hommey <mh@glandium.org>
Acked-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Add tests for git tagMike Hommey Sun, 4 Nov 2007 00:11:15 +0000 (01:11 +0100)

Add tests for git tag

These tests check whether git-tag properly sends a comment into the
editor, and whether it reuses previous annotation when overwriting
an existing tag.

Signed-off-by: Mike Hommey <mh@glandium.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Reuse previous annotation when overwriting a tagMike Hommey Sun, 4 Nov 2007 00:11:14 +0000 (01:11 +0100)

Reuse previous annotation when overwriting a tag

When forcing to overwrite an annotated tag, there are good chances one
wants to keep the old annotation, or modify it, not start from scratch.

This is obviously only triggered for annotated tagging (-a or -s).

Signed-off-by: Mike Hommey <mh@glandium.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

upload-pack: Use finish_{command,async}() instead of... Johannes Sixt Sun, 4 Nov 2007 19:46:48 +0000 (20:46 +0100)

upload-pack: Use finish_{command,async}() instead of waitpid().

upload-pack spawns two processes, rev-list and pack-objects, and carefully
monitors their status so that it can report failure to the remote end.
This change removes the complicated procedures on the grounds of the
following observations:

- If everything is OK, rev-list closes its output pipe end, upon which
pack-objects (which reads from the pipe) sees EOF and terminates itself,
closing its output (and error) pipes. upload-pack reads from both until
it sees EOF in both. It collects the exit codes of the child processes
(which indicate success) and terminates successfully.

- If rev-list sees an error, it closes its output and terminates with
failure. pack-objects sees EOF in its input and terminates successfully.
Again upload-pack reads its inputs until EOF. When it now collects
the exit codes of its child processes, it notices the failure of rev-list
and signals failure to the remote end.

- If pack-objects sees an error, it terminates with failure. Since this
breaks the pipe to rev-list, rev-list is killed with SIGPIPE.
upload-pack reads its input until EOF, then collects the exit codes of
the child processes, notices their failures, and signals failure to the
remote end.

- If upload-pack itself dies unexpectedly, pack-objects is killed with
SIGPIPE, and subsequently also rev-list.

The upshot of this is that precise monitoring of child processes is not
required because both terminate if either one of them dies unexpectedly.
This allows us to use finish_command() and finish_async() instead of
an explicit waitpid(2) call.

The change is smaller than it looks because most of it only reduces the
indentation of a large part of the inner loop.

Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

builtin-reset: avoid forking "update-index --refresh"Johannes Schindelin Sat, 3 Nov 2007 15:21:21 +0000 (15:21 +0000)

builtin-reset: avoid forking "update-index --refresh"

Instead of forking update-index, call refresh_cache() directly.

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

builtin-reset: do not call "ls-files --unmerged"Johannes Schindelin Sat, 3 Nov 2007 14:33:01 +0000 (14:33 +0000)

builtin-reset: do not call "ls-files --unmerged"

Since reset is a builtin now, it can use the full power of libgit.a
and check for unmerged entries itself.

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

parse-options: abbreviation engine fix.Johannes Schindelin Mon, 5 Nov 2007 13:15:21 +0000 (13:15 +0000)

parse-options: abbreviation engine fix.

When an option could be an ambiguous abbreviation of two options, the code
used to error out. Even if an exact match would have occured later.

Test and original patch by Pierre Habouzit.

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

Merge branch 'maint'Junio C Hamano Tue, 6 Nov 2007 06:03:47 +0000 (22:03 -0800)

Merge branch 'maint'

* maint:
Remove a couple of duplicated include
grep with unmerged index
git-daemon: fix remote port number in log entry
git-svn: t9114: verify merge commit message in test
git-svn: fix dcommit clobbering when committing a series of diffs

git-commit.sh: Fix usage checks regarding paths given... Björn Steinbrink Mon, 5 Nov 2007 19:36:33 +0000 (20:36 +0100)

git-commit.sh: Fix usage checks regarding paths given when they do not make sense

The checks that looked for paths given to git-commit in addition to
--all or --interactive expected only 3 values, while the case statement
actually provides 4, so the check was never triggered.

The bug was introduced in 6cbf07efc5702351897dee4742525c9b9f7828ac when
the case statement was extended to handle --interactive.

Signed-off-by: Björn Steinbrink <B.Steinbrink@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Fix comment in strbuf.h to use correct name strbuf_avail()Steffen Prohaska Sun, 4 Nov 2007 08:02:21 +0000 (09:02 +0100)

Fix comment in strbuf.h to use correct name strbuf_avail()

Signed-off-by: Steffen Prohaska <prohaska@zib.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Remove a couple of duplicated includeMarco Costalba Sun, 4 Nov 2007 14:35:26 +0000 (15:35 +0100)

Remove a couple of duplicated include

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

grep with unmerged indexJunio C Hamano Tue, 6 Nov 2007 01:16:47 +0000 (17:16 -0800)

grep with unmerged index

We called flush_grep() every time we saw an unmerged entry in
the index. If we happen to find an unmerged entry before we saw
more than two paths, we incorrectly declared that the user had
too many non-paths options in front.

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

Merge branch 'gp/maint-diffdoc' into maintJunio C Hamano Tue, 6 Nov 2007 02:56:55 +0000 (18:56 -0800)

Merge branch 'gp/maint-diffdoc' into maint

* gp/maint-diffdoc:
git-diff.txt: add section "output format" describing the diff formats

Rearrange git-format-patch synopsis to improve clarity.David Symonds Mon, 5 Nov 2007 23:04:24 +0000 (10:04 +1100)

Rearrange git-format-patch synopsis to improve clarity.

Signed-off-by: David Symonds <dsymonds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Some better parse-options documentation.Pierre Habouzit Mon, 5 Nov 2007 12:03:22 +0000 (13:03 +0100)

Some better parse-options documentation.

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

git-daemon: fix remote port number in log entryGerrit Pape Mon, 5 Nov 2007 09:16:22 +0000 (09:16 +0000)

git-daemon: fix remote port number in log entry

The port number in struct sockaddr_in needs to be converted from network
byte order to host byte order (on some architectures).

Signed-off-by: Gerrit Pape <pape@smarden.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

gc: --prune prunes unreferenced objects.Junio C Hamano Tue, 6 Nov 2007 00:39:00 +0000 (16:39 -0800)

gc: --prune prunes unreferenced objects.

Brandon Casey correctly points out that we repack with -A without --prune
and with -a with --prune, so it is not just unreferenced loose objects
that are pruned away when the option is given.

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

t3502: Disambiguate between file and rev by adding --Brian Gernhardt Sun, 4 Nov 2007 15:31:26 +0000 (10:31 -0500)

t3502: Disambiguate between file and rev by adding --

On a case insensitive file system, this test fails because git-diff
doesn't know if it is asking for the file "A" or the tag "a".

Adding "--" at the end of the ambiguous commands allows the test to
finish properly.

Signed-off-by: Brian Gernhardt <benji@silverinsanity.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Add more tests for git-cleanShawn Bohrer Mon, 5 Nov 2007 04:28:12 +0000 (22:28 -0600)

Add more tests for git-clean

Signed-off-by: Shawn Bohrer <shawn.bohrer@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Use parseopts in builtin-pushDaniel Barkalow Mon, 5 Nov 2007 03:35:37 +0000 (22:35 -0500)

Use parseopts in builtin-push

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

git-svn: t9114: verify merge commit message in testEric Wong Mon, 5 Nov 2007 11:21:48 +0000 (03:21 -0800)

git-svn: t9114: verify merge commit message in test

It's possible that we end up with an incorrect commit message
in this test after making changes to fix the clobber bug
in dcommit.

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

git-svn: fix dcommit clobbering when committing a serie... Eric Wong Mon, 5 Nov 2007 11:21:47 +0000 (03:21 -0800)

git-svn: fix dcommit clobbering when committing a series of diffs

Our revision number sent to SVN is set to the last revision we
committed if we've made any previous commits in a dcommit
invocation.

Although our SVN Editor code uses the delta of two (old) trees
to generate information to send upstream, it'll still send
complete resultant files upstream; even if the tree they're
based against is out-of-date.

The combination of sending a file that does not include the
latest changes, but set with a revision number of a commit we
just made will cause SVN to accept the resultant file even if it
was generated against an old tree.

More trouble was caused when fixing this because we were
rebasing uncessarily at times. We used git-diff-tree to check
the imported SVN revision against our HEAD, not the last tree we
committed to SVN. The unnecessary rebasing caused merge commits
upstream to SVN to fail.

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

remove dead code from the csum-file interfaceNicolas Pitre Mon, 5 Nov 2007 03:54:50 +0000 (22:54 -0500)

remove dead code from the csum-file interface

The provided name argument is always constant and valid in every
caller's context, so no need to have an array of PATH_MAX chars to copy
it into when a simple pointer will do. Unfortunately that means getting
rid of wascally wabbits too.

The 'error' field is also unused.

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

git-fetch: be even quieter.Pierre Habouzit Sun, 4 Nov 2007 23:05:45 +0000 (15:05 -0800)

git-fetch: be even quieter.

Signed-off-by: Pierre Habouzit <madcoder@debian.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

make display of total transferred more accurateNicolas Pitre Mon, 5 Nov 2007 03:15:41 +0000 (22:15 -0500)

make display of total transferred more accurate

The throughput display needs a delay period before accounting and
displaying anything. Yet it might be called after some amount of data
has already been transferred. The display of total data is therefore
accounted late and therefore smaller than the reality.

Let's call display_throughput() with an absolute amount of transferred
data instead of a relative number, and let the throughput code find the
relative amount of data by itself as needed. This way the displayed
total is always exact.

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

sideband.c: ESC is spelled '\033' not '\e' for portability.Nicolas Pitre Mon, 5 Nov 2007 01:07:29 +0000 (20:07 -0500)

sideband.c: ESC is spelled '\033' not '\e' for portability.

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

Split off the pretty print stuff into its own fileJohannes Schindelin Sun, 4 Nov 2007 19:15:06 +0000 (19:15 +0000)

Split off the pretty print stuff into its own file

The file commit.c got quite large, but it does not have to be: the
code concerning pretty printing is pretty well contained. In fact,
this commit just splits it off into pretty.c, leaving commit.c with
just 672 lines.

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

Fix an infinite loop in sq_quote_buf().Johannes Sixt Sun, 4 Nov 2007 20:26:22 +0000 (21:26 +0100)

Fix an infinite loop in sq_quote_buf().

sq_quote_buf() treats single-quotes and exclamation marks specially, but
it incorrectly parsed the input for single-quotes and backslashes.

Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

clean: require -f to do damage by defaultJunio C Hamano Fri, 2 Nov 2007 00:32:04 +0000 (17:32 -0700)

clean: require -f to do damage by default

This makes the clean.requireForce configuration default to true.
Too many people are burned by typing "git clean" by mistake when
they meant to say "make clean".

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

format-patch: Test --[no-]numbered and format.numberedBrian Gernhardt Sun, 4 Nov 2007 05:50:23 +0000 (01:50 -0400)

format-patch: Test --[no-]numbered and format.numbered

Just because there wasn't a test for --numbered isn't a good reason
not to test format.numbered. So now we test both.

Signed-off-by: Brian Gernhardt <benji@silverinsanity.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

format-patch: Add configuration and off switch for... Brian Gernhardt Sun, 4 Nov 2007 03:38:24 +0000 (23:38 -0400)

format-patch: Add configuration and off switch for --numbered

format.numbered is a tri-state variable. Boolean values enable or
disable numbering by default and "auto" enables number when outputting
more than one patch.

--no-numbered (short: -N) will disable numbering.

Signed-off-by: Brian Gernhardt <benji@silverinsanity.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

fix display overlap between remote and local progressNicolas Pitre Sun, 4 Nov 2007 04:22:42 +0000 (00:22 -0400)

fix display overlap between remote and local progress

It is possible for the remote summary line to be displayed over the
local progress display line, and therefore that local progress gets
bumped to the next line. However, if the progress line is long enough,
it might not be entirely overwritten by the remote summary line. This
creates a messed up display such as:

remote: Total 310 (delta 160), reused 178 (delta 112)iB/s
Receiving objects: 100% (310/310), 379.98 KiB | 136 KiB/s, done.

So we have to clear the screen line before displaying the remote message
to make sure the local progress is not visible anymore on the first
line.

Yet some Git versions on the remote side might be sending updates to the
same line and terminate it with \r, and a separate packet with a single
\n might be sent later when the progress display is done. This means
the screen line must *not* be cleared in that case.

Since the sideband code already has to figure out line breaks in the
received packet to properly prepend the "remote:" prefix, we can easily
determine if the remote line about to be displayed is empty. Only when
it is not then a proper suffix is inserted before the \r or \n to clear
the end of the screen line.

Also some magic constants related to the prefix length have been
replaced with a variable, making it similar to the suffix length
handling. Since gcc is smart enough to detect that the variable is
constant there is no impact on the generated code.

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

Merge branch 'jc/format-patch-encoding'Junio C Hamano Sun, 4 Nov 2007 08:28:46 +0000 (01:28 -0700)

Merge branch 'jc/format-patch-encoding'

* jc/format-patch-encoding:
test format-patch -s: make sure MIME content type is shown as needed
format-patch -s: add MIME encoding header if signer's name requires so

Merge branch 'jc/revert-merge'Junio C Hamano Sun, 4 Nov 2007 08:26:02 +0000 (01:26 -0700)

Merge branch 'jc/revert-merge'

* jc/revert-merge:
cherry-pick/revert -m: add tests
revert/cherry-pick: work on merge commits as well

Conflicts:

builtin-revert.c

Merge branch 'ss/mailsplit'Junio C Hamano Sun, 4 Nov 2007 08:17:50 +0000 (01:17 -0700)

Merge branch 'ss/mailsplit'

* ss/mailsplit:
Make mailsplit and mailinfo strip whitespace from the start of the input

Merge branch 'np/pack'Junio C Hamano Sun, 4 Nov 2007 08:11:17 +0000 (01:11 -0700)

Merge branch 'np/pack'

* np/pack:
pack-objects: get rid of an ugly cast
make the pack index version configurable

Conflicts:

builtin-pack-objects.c

Merge branch 'jn/gitweb'Junio C Hamano Sun, 4 Nov 2007 08:10:08 +0000 (01:10 -0700)

Merge branch 'jn/gitweb'

* jn/gitweb:
gitweb: Use config file for repository description and URLs
gitweb: Read repo config using 'git config -z -l'
gitweb: Add tests for overriding gitweb config with repo config
gitweb: Use href(-replay=>1, action=>...) to generate alternate views
gitweb: Use href(-replay=>1, page=>...) to generate pagination links
gitweb: Easier adding/changing parameters to current URL
gitweb: Remove CGI::Carp::set_programname() call from t9500 gitweb test
gitweb: Add 'status_str' to parse_difftree_raw_line output
gitweb: Always set 'from_file' and 'to_file' in parse_difftree_raw_line

Merge branch 'np/fetch'Junio C Hamano Sun, 4 Nov 2007 08:06:48 +0000 (01:06 -0700)

Merge branch 'np/fetch'

* np/fetch:
git-fetch: more terse fetch output

Merge branch 'maint'Junio C Hamano Sun, 4 Nov 2007 06:50:54 +0000 (23:50 -0700)

Merge branch 'maint'

* maint:
RelNotes-1.5.3.5: fix typo
Delay pager setup in git blame
git-cvsimport: really convert underscores in branch names to dots with -u

git-reset: do not be confused if there is nothing to... Johannes Schindelin Sat, 3 Nov 2007 13:12:17 +0000 (13:12 +0000)

git-reset: do not be confused if there is nothing to reset

The purpose of the function update_index_from_diff() (which is the
callback function we give do_diff_cache()) is to update those index
entries which differ from the given commit.

Since do_diff_cache() plays games with the in-memory index, this function
discarded the cache and reread it.

Then, back in the function read_from_tree() we wrote the index.

Of course, this broke down when there were no changes and
update_index_from_diff() was not called, and therefore the mangled index
was not discarded.

The solution is to move the index writing into the function
update_index_from_diff().

Noticed by Björn Steinbrink.

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

git-clone: honor "--" to end argument parsingHeikki Orsila Thu, 1 Nov 2007 14:21:39 +0000 (16:21 +0200)

git-clone: honor "--" to end argument parsing

Signed-off-by: Heikki Orsila <heikki.orsila@iki.fi>

RelNotes-1.5.3.5: fix typoDavid D Kilzer Sat, 3 Nov 2007 14:04:52 +0000 (07:04 -0700)

RelNotes-1.5.3.5: fix typo

Signed-off-by: David D Kilzer <ddkilzer@kilzer.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-svn: sort the options in the --help message.Benoit Sigoure Sat, 3 Nov 2007 18:53:34 +0000 (19:53 +0100)

git-svn: sort the options in the --help message.

"git svn <cmd> --help" gave options in the order they were found in a
Perl hash, which meant "randomly" to humans.

Signed-off-by: Benoit Sigoure <tsuna@lrde.epita.fr>
Acked-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

builtin-fetch: Add "-q" as a synonym for "--quiet"Steven Grimm Sun, 4 Nov 2007 02:26:54 +0000 (19:26 -0700)

builtin-fetch: Add "-q" as a synonym for "--quiet"

"-q" is the very first option described in the git-fetch manpage, and it
isn't supported.

Signed-off-by: Steven Grimm <koreth@midwinter.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Delay pager setup in git blameMike Hommey Sat, 3 Nov 2007 12:22:53 +0000 (13:22 +0100)

Delay pager setup in git blame

This avoids to launch the pager when git blame fails for any reason.

Signed-off-by: Mike Hommey <mh@glandium.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-cvsimport: really convert underscores in branch... Gerrit Pape Sat, 3 Nov 2007 11:55:02 +0000 (11:55 +0000)

git-cvsimport: really convert underscores in branch names to dots with -u

The documentation states for the -u option that underscores in tag and
branch names are converted to dots, but this was actually implemented
for the tag names only.

Kurt Roeckx reported this through
http://bugs.debian.org/446495

Signed-off-by: Gerrit Pape <pape@smarden.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

errors: "strict subset" -> "ancestor"J. Bruce Fields Sat, 3 Nov 2007 02:39:44 +0000 (22:39 -0400)

errors: "strict subset" -> "ancestor"

The term "ancestor" is a bit more intuitive (and more consistent with
the documentation) than the term "strict subset".

Also, remove superfluous "ref", capitalize, and add some carriage
returns, changing:

error: remote 'refs/heads/master' is not a strict subset of local ref 'refs/heads/master'. maybe you are not up-to-date and need to pull first?
error: failed to push to 'ssh://linux-nfs.org/~bfields/exports/git.git'

to:

error: remote 'refs/heads/master' is not an ancestor of
local 'refs/heads/master'.
Maybe you are not up-to-date and need to pull first?
error: failed to push to 'ssh://linux-nfs.org/~bfields/exports/git.git'

Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-fetch: more terse fetch outputNicolas Pitre Sat, 3 Nov 2007 05:32:48 +0000 (01:32 -0400)

git-fetch: more terse fetch output

This makes the fetch output much more terse and prettier on a 80 column
display, based on a consensus reached on the mailing list. Here's an
example output:

Receiving objects: 100% (5439/5439), 1.60 MiB | 636 KiB/s, done.
Resolving deltas: 100% (4604/4604), done.
From git://git.kernel.org/pub/scm/git/git
! [rejected] html -> origin/html (non fast forward)
136e631..f45e867 maint -> origin/maint (fast forward)
9850e2e..44dd7e0 man -> origin/man (fast forward)
3e4bb08..e3d6d56 master -> origin/master (fast forward)
fa3665c..536f64a next -> origin/next (fast forward)
+ 4f6d9d6...768326f pu -> origin/pu (forced update)
* [new branch] todo -> origin/todo

Some portions of this patch have been extracted from earlier proposals
by Jeff King and Shawn Pearce.

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

gitweb: Use config file for repository description... Jakub Narebski Fri, 2 Nov 2007 23:41:20 +0000 (00:41 +0100)

gitweb: Use config file for repository description and URLs

Allow to use configuration variable gitweb.description for repository
description if there is no $GIT_DIR/description file, and multivalued
configuration variable gitweb.url for URLs of a project (to clone or
fetch from) if there is no $GIT_DIR/cloneurl file.

While repository description is shown in the projects list page, so it
is better to use file and not config variable for performance, it is I
think better to use gitweb.url for URLs (as it is shown only on
project summary page).

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

gitweb: Read repo config using 'git config -z -l'Jakub Narebski Fri, 2 Nov 2007 23:41:19 +0000 (00:41 +0100)

gitweb: Read repo config using 'git config -z -l'

Change git_get_project_config to run git-config only once per
repository, without changing its signature (its calling convention).
This means for example that it returns 'true' or 'false' when called
with second argument '--bool', and not true or false value.

Instead of calling 'git config [<type>] --get gitweb.<key>' once for
each config variable, call 'git config -z -l' only once, parsing and
saving its output to %config variable. This makes possible to add new
per repository configuration without paying cost of forking once per
variable checked. We can now allow repository description and
repository URLs to be stored in config file without badly affecting
gitweb performance.

For now only configuration variables for 'gitweb' section are stored.

Multiple values for single configuration variable are stored as
anonymous array reference; configuration variable with no value is
stored as undef.

Converting configuration variable values to boolean or integer value
are done in Perl. Results differ from git-config in the fact that no
conversion error is ever raised. For boolean values no value, 'true'
(any case) and 'false' (any case) are considered true, numbers are
true if not zero; all other values (even invalid for bool) are
considered false. For integer values value suffix of 'k', 'm', or 'g'
following decimal number will cause the value to be multiplied by
1024, 1048576, or 1073741824; other values are returned as-is, only
whitespace stripped.

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

gitweb: Add tests for overriding gitweb config with... Jakub Narebski Fri, 2 Nov 2007 23:41:18 +0000 (00:41 +0100)

gitweb: Add tests for overriding gitweb config with repo config

Make blame view and snapshot support overridable by repository
config. Test tree view with both features disabled, and with both
features enabled.

Test with features enabled also tests multiple formats snapshot
support (in tree view).

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

test format-patch -s: make sure MIME content type is... Junio C Hamano Sat, 3 Nov 2007 00:55:31 +0000 (17:55 -0700)

test format-patch -s: make sure MIME content type is shown as needed

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

cherry-pick/revert -m: add testsJunio C Hamano Sat, 3 Nov 2007 00:25:24 +0000 (17:25 -0700)

cherry-pick/revert -m: add tests

This adds a new test to check cherry-pick/revert of a merge
commit.

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

Merge branch 'maint'Junio C Hamano Fri, 2 Nov 2007 23:56:42 +0000 (16:56 -0700)

Merge branch 'maint'

* maint:
Fixing path quoting in git-rebase
Remove unecessary hard-coding of EDITOR=':' VISUAL=':' in some test suites.
Documentation: quote commit messages consistently.
Remove escaping of '|' in manpage option sections

Merge branch 'ph/parseopt'Junio C Hamano Fri, 2 Nov 2007 23:42:23 +0000 (16:42 -0700)

Merge branch 'ph/parseopt'

* ph/parseopt: (24 commits)
gc: use parse_options
Fixed a command line option type for builtin-fsck.c
Make builtin-pack-refs.c use parse_options.
Make builtin-name-rev.c use parse_options.
Make builtin-count-objects.c use parse_options.
Make builtin-fsck.c use parse_options.
Update manpages to reflect new short and long option aliases
Make builtin-for-each-ref.c use parse-opts.
Make builtin-symbolic-ref.c use parse_options.
Make builtin-update-ref.c use parse_options
Make builtin-revert.c use parse_options.
Make builtin-describe.c use parse_options
Make builtin-branch.c use parse_options.
Make builtin-mv.c use parse-options
Make builtin-rm.c use parse_options.
Port builtin-add.c to use the new option parser.
parse-options: allow callbacks to take no arguments at all.
parse-options: Allow abbreviated options when unambiguous
Add shortcuts for very often used options.
parse-options: make some arguments optional, add callbacks.
...

Conflicts:

Makefile
builtin-add.c

Merge branch 'np/progress'Junio C Hamano Fri, 2 Nov 2007 23:27:37 +0000 (16:27 -0700)

Merge branch 'np/progress'

* np/progress:
Show total transferred as part of throughput progress
make sure throughput display gets updated even if progress doesn't move
return the prune-packed progress display to the inner loop
add throughput display to git-push
add some copyright notice to the progress display code
add throughput display to index-pack
add throughput to progress display
relax usage of the progress API
make struct progress an opaque type
prune-packed: don't call display_progress() for every file
Stop displaying "Pack pack-$ID created." during git-gc
Teach prune-packed to use the standard progress meter
Change 'Deltifying objects' to 'Compressing objects'
fix for more minor memory leaks
fix const issues with some functions
pack-objects.c: fix some global variable abuse and memory leaks
pack-objects: no delta possible with only one object in the list
cope with multiple line breaks within sideband progress messages
more compact progress display

Fixing path quoting in git-rebaseJonathan del Strother Wed, 17 Oct 2007 09:31:35 +0000 (10:31 +0100)

Fixing path quoting in git-rebase

git-rebase used to fail when run from a path containing a space.

Signed-off-by: Jonathan del Strother <jon.delStrother@bestbefore.tv>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

Merge branch 'br/gccfix'Junio C Hamano Fri, 2 Nov 2007 23:14:00 +0000 (16:14 -0700)

Merge branch 'br/gccfix'

* br/gccfix:
transport.c: squelch a gcc 4.0.1 complaint about an uninitialized variable

Merge branch 'gp/maint-diffdoc'Junio C Hamano Fri, 2 Nov 2007 23:12:04 +0000 (16:12 -0700)

Merge branch 'gp/maint-diffdoc'

* gp/maint-diffdoc:
git-diff.txt: add section "output format" describing the diff formats

Merge branch 'bk/maint-cvsexportcommit' into maintJunio C Hamano Fri, 2 Nov 2007 22:40:54 +0000 (15:40 -0700)

Merge branch 'bk/maint-cvsexportcommit' into maint

* bk/maint-cvsexportcommit:
cvsexportcommit: fix for commits that do not have parents

Remove unecessary hard-coding of EDITOR=':' VISUAL... Kristian Høgsberg Fri, 2 Nov 2007 15:33:07 +0000 (11:33 -0400)

Remove unecessary hard-coding of EDITOR=':' VISUAL=':' in some test suites.

They are already set and exoprted by sourcing ./test-lib.sh
in all test scripts.

Signed-off-by: Kristian Høgsberg <krh@redhat.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Documentation: quote commit messages consistently.Sergei Organov Fri, 2 Nov 2007 17:12:57 +0000 (20:12 +0300)

Documentation: quote commit messages consistently.

Documentation quotes commit messages 14 times with double-quotes, and 7
times with single-quotes. The patch turns everything to double-quotes.

A nice side effect is that documentation becomes more Windoze-friendly
as AFAIK single quotes won't work there.

Signed-off-by: Sergei Organov <osv@javad.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Remove escaping of '|' in manpage option sectionsJonas Fonseca Fri, 2 Nov 2007 09:10:11 +0000 (10:10 +0100)

Remove escaping of '|' in manpage option sections

The escaped were ending up verbatim in the generated documentation.

Signed-off-by: Jonas Fonseca <fonseca@diku.dk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

transport.c: squelch a gcc 4.0.1 complaint about an... Blake Ramsdell Fri, 2 Nov 2007 02:38:22 +0000 (19:38 -0700)

transport.c: squelch a gcc 4.0.1 complaint about an uninitialized variable

The variable is always set if it is going to be used; gcc just does
not notice it.

Signed-off-by: Blake Ramsdell <blaker@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-p4: Detect changes to executable bit and include... Chris Pettitt Fri, 2 Nov 2007 03:43:14 +0000 (20:43 -0700)

git-p4: Detect changes to executable bit and include them in p4 submit.

This changeset takes advantage of the new parseDiffTreeEntry(...) function to
detect changes to the execute bit in the git repository. During submit, git-p4
now looks for changes to the executable bit and if it finds them it "reopens"
the file in perforce, which allows it to change the file type.

The logic for adding the executable bit in perforce is straightforward: the +x
modifier can be used. Removing the executable bit in perforce requires that the
entire filetype be redefined (there is no way to join remove the bit with a -x
modifier, for example). This changeset includes logic to remove the executable
bit from the full file type while preserving the base file type and other
modifiers.

Signed-off-by: Chris Pettitt <cpettitt@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-p4: Add a helper function to parse the full git... Chris Pettitt Fri, 2 Nov 2007 03:43:13 +0000 (20:43 -0700)

git-p4: Add a helper function to parse the full git diff-tree output.

Signed-off-by: Chris Pettitt <cpettitt@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Make mailsplit and mailinfo strip whitespace from the... Simon Sasburg Thu, 1 Nov 2007 22:57:45 +0000 (23:57 +0100)

Make mailsplit and mailinfo strip whitespace from the start of the input

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

pack-objects: get rid of an ugly castNicolas Pitre Fri, 2 Nov 2007 03:43:24 +0000 (23:43 -0400)

pack-objects: get rid of an ugly cast

... when calling write_idx_file().

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

make the pack index version configurableNicolas Pitre Fri, 2 Nov 2007 03:26:04 +0000 (23:26 -0400)

make the pack index version configurable

It is a good idea to use pack index version 2 all the time since it has
proper protection against propagation of certain pack corruptions when
repacking which is not possible with index version 1, as demonstrated
in test t5302.

Hence this config option.

The default is still pack index version 1.

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

gc: use parse_optionsJames Bowes Fri, 2 Nov 2007 01:02:27 +0000 (21:02 -0400)

gc: use parse_options

Signed-off-by: James Bowes <jbowes@dangerouslyinc.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

gitweb: Use href(-replay=>1, action=>...) to generate... Jakub Narebski Thu, 1 Nov 2007 12:06:29 +0000 (13:06 +0100)

gitweb: Use href(-replay=>1, action=>...) to generate alternate views

Use href(action=>..., -replay=>1) to generate links to alternate views
of current page in the $formats_nav (bottom) part of page_nav
navigation bar. This form is used only when all parameters are
repeated, and when the replay form is shorter.

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

gitweb: Use href(-replay=>1, page=>...) to generate... Jakub Narebski Thu, 1 Nov 2007 12:06:28 +0000 (13:06 +0100)

gitweb: Use href(-replay=>1, page=>...) to generate pagination links

Use href(-replay=>1, page=>$page-1) and href(-replay=>1, page=>$page+1)
to generate previous page and next page links.

Generate next page link only once.

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

gitweb: Easier adding/changing parameters to current URLJakub Narebski Thu, 1 Nov 2007 12:06:27 +0000 (13:06 +0100)

gitweb: Easier adding/changing parameters to current URL

Add boolean option '-replay' to href() subroutine, which is used to
generate links in gitweb. This option "replays" current URL,
overriding it with provided parameters. It means that current value
of each CGI parameter is used unless otherwise provided.

This change is meant to make it easier to generate links which differ
from current page URL only by one parameter, for example the same view
but sorted by different column:
href(-replay=>1, order=>"age")
or view which differs by some option, e.g. in log views
href(-replay=>1, extra_options=>"--no-merges")
or alternate view of the same object, e.g. in the 'blob' view
href(-replay=>1, action=>"blob_plain")

Actual use of this functionality is left for later.

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

gitweb: Remove CGI::Carp::set_programname() call from... Jakub Narebski Thu, 1 Nov 2007 13:23:16 +0000 (14:23 +0100)

gitweb: Remove CGI::Carp::set_programname() call from t9500 gitweb test

It does appear to do nothing; gitweb is run as standalone program
and not as CGI script in this test. This call caused problems later.

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

gitweb: Add 'status_str' to parse_difftree_raw_line... Jakub Narebski Thu, 1 Nov 2007 11:38:09 +0000 (12:38 +0100)

gitweb: Add 'status_str' to parse_difftree_raw_line output

Add 'status_str' to diffinfo output, which stores status (also for
merge commit) as a string. This allows for easy checking if there is
given status among all for merge commit, e.g.
$diffinfo->{'status_str'} =~ /D/;

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