gitweb.git
git-fetch: Always fetch tags if the object they referen... Shawn O. Pearce Sun, 11 Nov 2007 07:29:30 +0000 (02:29 -0500)

git-fetch: Always fetch tags if the object they reference exists

Previously git-fetch.sh used `git cat-file -t` to determine if an
object referenced by a tag exists, and if so fetch that tag locally.
This was subtly broken during the port to C based builtin-fetch as
lookup_object() only works to locate an object if it was previously
accessed by the transport. Not all transports will access all
objects in this way, so tags were not always being fetched.

The rsync transport never loads objects into the internal object
table so automated tag following didn't work if rsync was used.
Automated tag following also didn't work on the native transport
if the new tag was behind the common point(s) negotiated between
the two ends of the connection as the tag's referrant would not
be loaded into the internal object table. Further the automated
tag following was broken with the HTTP commit walker if the new
tag's referrant was behind an existing ref, as the walker would
stop before loading the tag's referrant into the object table.

Switching to has_sha1_file() restores the original behavior from
the shell script by checking if the object exists in the ODB,
without relying on the state left behind by a transport.

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

Merge branch 'sp/maint-plug-traverse-commit-list-leak... Junio C Hamano Mon, 12 Nov 2007 01:09:48 +0000 (17:09 -0800)

Merge branch 'sp/maint-plug-traverse-commit-list-leak' into sp/fetch-fix

* sp/maint-plug-traverse-commit-list-leak:
Fix memory leak in traverse_commit_list

Merge branch 'js/upload-pack'Junio C Hamano Sun, 11 Nov 2007 23:19:57 +0000 (15:19 -0800)

Merge branch 'js/upload-pack'

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

Merge branch 'js/reset'Junio C Hamano Sun, 11 Nov 2007 23:19:24 +0000 (15:19 -0800)

Merge branch 'js/reset'

* js/reset:
builtin-reset: avoid forking "update-index --refresh"
builtin-reset: do not call "ls-files --unmerged"

Merge branch 'js/parseopt-abbrev-fix'Junio C Hamano Sun, 11 Nov 2007 23:12:06 +0000 (15:12 -0800)

Merge branch 'js/parseopt-abbrev-fix'

* js/parseopt-abbrev-fix:
parse-options: abbreviation engine fix.

Merge branch 'maint'Junio C Hamano Sun, 11 Nov 2007 23:00:05 +0000 (15:00 -0800)

Merge branch 'maint'

* maint:
fix index-pack with packs >4GB containing deltas on 32-bit machines
git-hash-object should honor config variables
gitweb: correct month in date display for atom feeds

push: teach push to pass --verbose option to transport... Steffen Prohaska Sun, 11 Nov 2007 14:01:44 +0000 (15:01 +0100)

push: teach push to pass --verbose option to transport layer

A --verbose option to push should also be passed to the
transport layer, i.e. git-send-pack, git-http-push.

git push is modified to do so.

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

push: mention --verbose option in documentationSteffen Prohaska Sun, 11 Nov 2007 14:01:43 +0000 (15:01 +0100)

push: mention --verbose option in documentation

Before this commit, only '-v' was documented.

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

fix index-pack with packs >4GB containing deltas on... Nicolas Pitre Sun, 11 Nov 2007 04:29:10 +0000 (23:29 -0500)

fix index-pack with packs >4GB containing deltas on 32-bit machines

This probably hasn't been properly tested before. Here's a script to
create a 8GB repo with the necessary characteristics (copy the
test-genrandom executable from the Git build tree to /tmp first):

-----
#!/bin/bash

git init
git config core.compression 0

# create big objects with no deltas
for i in $(seq -w 1 2 63)
do
echo $i
/tmp/test-genrandom $i 268435456 > file_$i
git add file_$i
rm file_$i
echo "file_$i -delta" >> .gitattributes
done

# create "deltifiable" objects in between big objects
for i in $(seq -w 2 2 64)
do
echo "$i $i $i" >> grow
cp grow file_$i
git add file_$i
rm file_$i
done
rm grow

# create a pack with them
git commit -q -m "commit of big objects interlaced with small deltas"
git repack -a -d
-----

Then clone this repo over the Git protocol.

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

git-hash-object should honor config variablesNicolas Pitre Sat, 10 Nov 2007 20:00:33 +0000 (15:00 -0500)

git-hash-object should honor config variables

... such as core.compression.

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

gitweb: correct month in date display for atom feedsVincent Zanotti Sat, 10 Nov 2007 18:55:27 +0000 (19:55 +0100)

gitweb: correct month in date display for atom feeds

Signed-off-by: Vincent Zanotti <vincent.zanotti@m4x.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

test-lib.sh: move error line after error() declarationMichele Ballabio Sat, 10 Nov 2007 14:17:25 +0000 (15:17 +0100)

test-lib.sh: move error line after error() declaration

This patch removes a spurious "command not found" error
and actually makes the "Test script did not set test_description."
string follow the command line option "--no-color".

Signed-off-by: Michele Ballabio <barra_cuda@katamail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

for-each-ref: fix setup of option-parsing for --sortLars Hjemli Sat, 10 Nov 2007 16:47:54 +0000 (17:47 +0100)

for-each-ref: fix setup of option-parsing for --sort

The option value for --sort is already a pointer to a pointer to struct
ref_sort, so just use it.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint'Junio C Hamano Sat, 10 Nov 2007 10:06:30 +0000 (02:06 -0800)

Merge branch 'maint'

* maint:
print warning/error/fatal messages in one shot

core-tutorial.txt: Fix git-show-branch example and... Sergei Organov Thu, 8 Nov 2007 15:10:28 +0000 (18:10 +0300)

core-tutorial.txt: Fix git-show-branch example and its description

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

Fix memory leak in traverse_commit_listShawn O. Pearce Fri, 9 Nov 2007 11:06:10 +0000 (06:06 -0500)

Fix memory leak in traverse_commit_list

If we were listing objects too then the objects were buffered in an
array only reachable from a stack allocated structure. When this
function returns that array would be leaked as nobody would have
a reference to it anymore.

Historically this hasn't been a problem as the primary user of
traverse_commit_list() (the noble git-rev-list) would terminate
as soon as the function was finished, thus allowing the operating
system to cleanup memory. However we have been leaking this data
in git-pack-objects ever since that program learned how to run the
revision listing internally, rather than relying on reading object
names from git-rev-list.

To better facilitate reuse of traverse_commit_list during other
builtin tools (such as git-fetch) we shouldn't leak temporary memory
like this and instead we need to clean up properly after ourselves.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-commit: a bit more testsJunio C Hamano Sat, 10 Nov 2007 09:49:34 +0000 (01:49 -0800)

git-commit: a bit more tests

Add tests for -s (sign-off) and multiple -m options

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

print warning/error/fatal messages in one shotNicolas Pitre Fri, 9 Nov 2007 19:33:54 +0000 (14:33 -0500)

print warning/error/fatal messages in one shot

Not doing so is likely to create a messed up display when sent over the
sideband protocol.

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

builtin-blame: set up the work_tree before the first... Johannes Schindelin Fri, 9 Nov 2007 11:34:07 +0000 (11:34 +0000)

builtin-blame: set up the work_tree before the first file access

We check in cmd_blame() if the specified path is there, but we
failed to set up the working tree before that.

While at it, make setup_work_tree() just return if it was run
before.

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

add a howto document about corrupted blob recoveryNicolas Pitre Fri, 9 Nov 2007 17:28:19 +0000 (12:28 -0500)

add a howto document about corrupted blob recovery

Extracted from a post by Linus on the mailing list.

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

Documentation: remove documentation for removed tools.Junio C Hamano Fri, 9 Nov 2007 01:22:44 +0000 (17:22 -0800)

Documentation: remove documentation for removed tools.

Old commit walkers other than http/curl transport have been removed
for some time now. Remove their documents.

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

Make check-docs target detect removed commandsJunio C Hamano Fri, 9 Nov 2007 02:38:27 +0000 (18:38 -0800)

Make check-docs target detect removed commands

The maintainer should remember running "make check-docs" from
time to time.

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

Documentation: lost-found is now deprecated.Junio C Hamano Fri, 9 Nov 2007 01:21:48 +0000 (17:21 -0800)

Documentation: lost-found is now deprecated.

This makes it possible to mark commands that are deprecated in the
command list of the primary manual page git(7), and uses it to
mark "git lost-found" and "git tar-tree" as deprecated.

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

Update draft release notes for 1.5.4Junio C Hamano Fri, 9 Nov 2007 08:32:38 +0000 (00:32 -0800)

Update draft release notes for 1.5.4

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

Merge branch 'maint'Junio C Hamano Fri, 9 Nov 2007 08:21:44 +0000 (00:21 -0800)

Merge branch 'maint'

* maint:
Start preparing for 1.5.3.6
git-send-email: Change the prompt for the subject of the initial message.
SubmittingPatches: improve the 'Patch:' section of the checklist
instaweb: Minor cleanups and fixes for potential problems
stop t1400 hiding errors in tests
Makefile: add missing dependency on wt-status.h
refresh_index_quietly(): express "optional" nature of index writing better
Fix sed string regex escaping in module_name.
Avoid a few unportable, needlessly nested "...`...".
git-mailsplit: with maildirs not only process cur/, but also new/

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

git-bisect.sh: Fix sed script to work with AIX and... Ralf Wildenhues Thu, 8 Nov 2007 21:48:24 +0000 (22:48 +0100)

git-bisect.sh: Fix sed script to work with AIX and BSD sed.

\n is not portable in a s/// replacement string, only
in the regex part. backslash-newline helps.

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

Start preparing for 1.5.3.6Junio C Hamano Fri, 9 Nov 2007 08:17:26 +0000 (00:17 -0800)

Start preparing for 1.5.3.6

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

git-send-email: Change the prompt for the subject of... Benoit Sigoure Thu, 8 Nov 2007 18:56:28 +0000 (19:56 +0100)

git-send-email: Change the prompt for the subject of the initial message.

I never understood what this prompt was asking for until I read the actual
source code. I think this wording is much more understandable.

Signed-off-by: Benoit Sigoure <tsuna@lrde.epita.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

SubmittingPatches: improve the 'Patch:' section of... Sergei Organov Thu, 8 Nov 2007 16:40:25 +0000 (19:40 +0300)

SubmittingPatches: improve the 'Patch:' section of the checklist

There were 2 items "send patch to..." but having different set of
addresses to send patch to. Merge them together and move the resulting
item to the end of checklist.

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

instaweb: Minor cleanups and fixes for potential problemsJonas Fonseca Thu, 8 Nov 2007 23:21:42 +0000 (00:21 +0100)

instaweb: Minor cleanups and fixes for potential problems

Fix path quoting and test of empty values that some shells do not like.
Remove duplicate check and setting of $browser.

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

stop t1400 hiding errors in testsAlex Riesen Thu, 8 Nov 2007 23:41:39 +0000 (00:41 +0100)

stop t1400 hiding errors in tests

The last rm in the test was lacking an "&&" before it,
which caused the errors in the commands be silently hidden.

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

Makefile: add missing dependency on wt-status.hJunio C Hamano Fri, 9 Nov 2007 00:41:56 +0000 (16:41 -0800)

Makefile: add missing dependency on wt-status.h

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

refresh_index_quietly(): express "optional" nature... Junio C Hamano Fri, 9 Nov 2007 00:24:00 +0000 (16:24 -0800)

refresh_index_quietly(): express "optional" nature of index writing better

The point of the part of the code this patch touches is that if
we modified the active_cache, we try to write it out and make it
the index file for later users to use by calling
"commit_locked_index", but we do not really care about the
failure from this sequence because it is done purely as an
optimization.

The original code called three functions primarily for their
side effects but as condition of an if statement, which is
admittedly a bad style.

Incidentally, it squelches an "empty if body" warning from gcc.

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

Fix sed string regex escaping in module_name.Ralf Wildenhues Thu, 8 Nov 2007 21:48:49 +0000 (22:48 +0100)

Fix sed string regex escaping in module_name.

When escaping a string to be used as a sed regex, it is important
to only escape active characters. Escaping other characters is
undefined according to POSIX, and in practice leads to issues with
extensions such as GNU sed's \+.

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

Avoid a few unportable, needlessly nested "...`...".Ralf Wildenhues Thu, 8 Nov 2007 21:47:36 +0000 (22:47 +0100)

Avoid a few unportable, needlessly nested "...`...".

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

Style: place opening brace of a function definition... Junio C Hamano Thu, 8 Nov 2007 23:35:32 +0000 (15:35 -0800)

Style: place opening brace of a function definition at column 1

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

contrib/hooks/post-receive-email: remove cruft, $commit... Gerrit Pape Thu, 8 Nov 2007 12:11:57 +0000 (12:11 +0000)

contrib/hooks/post-receive-email: remove cruft, $committer is not used

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

hooks--update: decline deleting tags or branches by... Gerrit Pape Thu, 8 Nov 2007 09:47:39 +0000 (09:47 +0000)

hooks--update: decline deleting tags or branches by default, add config options

Decline deleting tags or branches through git push <remote> :<ref> by
default, support config options hooks.allowdeletetag, hooks.allowdeletebranch
to override this per repository.

Before this patch the update hook interpreted deleting a tag, no matter if
annotated or not, through git push <remote> :<tag> as unannotated tag, and
declined it by default, but with an unappropriate error message:

$ git push origin :atag
deleting 'refs/tags/atag'
*** The un-annotated tag, atag, is not allowed in this repository
*** Use 'git tag [ -a | -s ]' for tags you want to propagate.
ng refs/tags/atag hook declined
error: hooks/update exited with error code 1
error: hook declined to update refs/tags/atag
error: failed to push to 'monolith:/git/qm/test-repo'

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

hooks--update: fix test for properly set up project... Gerrit Pape Thu, 8 Nov 2007 14:02:00 +0000 (14:02 +0000)

hooks--update: fix test for properly set up project description file

The update hook template intends to abort if the project description file
hasn't been adjusted or is empty. This patch fixes the check for 'being
adjusted'.

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

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>

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>

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>

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

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

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>

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>

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>