]> git.99rst.org Git - git.git/log
git.git
18 years agoSubmittingPatches: improve the 'Patch:' section of the checklist
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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agoinstaweb: Minor cleanups and fixes for potential problems
Jonas 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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agostop t1400 hiding errors in tests
Alex 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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agogit-am: -i does not take a string parameter.
Junio C Hamano [Fri, 9 Nov 2007 07:04:31 +0000 (23:04 -0800)]
git-am: -i does not take a string parameter.

    $ git am -3 -s -i file

spewed the usage strings back at the user while

    $ git am -3 -i -s file

didn't.  This fixes it.

Signed-off-by: Junio C Hamano <redacted>
18 years agoMakefile: add missing dependency on wt-status.h
Junio 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 <redacted>
18 years agorefresh_index_quietly(): express "optional" nature of index writing better
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 <redacted>
18 years agoFix 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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agoAvoid 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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agonicer display of thin pack completion
Nicolas Pitre [Thu, 8 Nov 2007 20:45:41 +0000 (15:45 -0500)]
nicer display of thin pack completion

In the same spirit of prettifying Git's output display for mere mortals,
here's a simple extension to the progress API allowing for a final
message to be provided when terminating a progress line, and use it for
the display of the number of objects needed to complete a thin pack,
saving yet one more line of screen display.

Signed-off-by: Nicolas Pitre <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agoStyle: place opening brace of a function definition at column 1
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 <redacted>
18 years agocontrib/hooks/post-receive-email: remove cruft, $committer is not used
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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agohooks--update: decline deleting tags or branches by default, add config options
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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agohooks--update: fix test for properly set up project description file
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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agosh-setup: don't let eval output to be shell-expanded.
Pierre Habouzit [Thu, 8 Nov 2007 09:32:11 +0000 (10:32 +0100)]
sh-setup: don't let eval output to be shell-expanded.

The previous patch missed the same construct in git-clone.

Signed-off-by: Pierre Habouzit <redacted>
18 years agosend-pack: segfault fix on forced push
Junio C Hamano [Thu, 8 Nov 2007 09:38:12 +0000 (01:38 -0800)]
send-pack: segfault fix on forced push

When pushing to overwrite a ref that points at a commit we do
not even have, the recent "terse push" patch tried to get a
unique abbreviation for the non-existent (from our point of
view) object, which resulted in strcpy(buf, NULL) and
segfaulted.

Signed-off-by: Junio C Hamano <redacted>
18 years agogit-mailsplit: with maildirs not only process cur/, but also new/
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 <redacted>
Acked-by: Jeff King <redacted>
Acked-by: Alex Riesen <redacted>
Acked-by: Fernando J. Pereda <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agogit-gui: Bind Meta-T for "Stage To Commit" menu action
Shawn O. Pearce [Thu, 8 Nov 2007 07:22:21 +0000 (02:22 -0500)]
git-gui: Bind Meta-T for "Stage To Commit" menu action

Aaron Digulla suggested we bind Ctrl-T or Cmd-T to "Stage To Commit"
menu action so it can be easily accessed from the keyboard.

Signed-off-by: Shawn O. Pearce <redacted>
18 years agogit-sh-setup: fix parseopt `eval` string underquoting
Junio C Hamano [Thu, 8 Nov 2007 07:04:38 +0000 (23:04 -0800)]
git-sh-setup: fix parseopt `eval` string underquoting

The 'automagic parseopt' support corrupted non option parameters
that had IFS characters in them.  The worst case is when it had
a non option parameter like this:

$1=" * some string"

Signed-off-by: Junio C Hamano <redacted>
18 years agotest format-patch -s: make sure MIME content type is shown as needed
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 <redacted>
18 years agoformat-patch -s: add MIME encoding header if signer's name requires so
Junio C Hamano [Wed, 31 Oct 2007 21:55:17 +0000 (14:55 -0700)]
format-patch -s: add MIME encoding header if signer's name requires so

When the body of the commit log message contains a non-ASCII character,
format-patch correctly emitted the encoding header to mark the resulting
message as such.  However, if the original message was fully ASCII, the
command line switch "-s" was given to add a new sign-off, and
the signer's name was not ASCII only, the resulting message would have
contained non-ASCII character but was not marked as such.

This was cherry-picked from the fix in 'master'

Signed-off-by: Junio C Hamano <redacted>
18 years agoMerge 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

18 years agoMerge 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

18 years agoMerge 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.

18 years agoMerge 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.

18 years agoMerge 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

18 years agoMerge 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

18 years agoSmall code readability improvement in show_reference() in builtin-tag.c
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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agosend-email: apply --suppress-from to S-o-b and cc-cmd
Uwe 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 <redacted>
Cc: Ryan Anderson <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agoFix minor nits in configure.ac
Ralf 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 <redacted>
18 years agoDeprecate git-lost-found
Johannes 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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agoImprove 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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agoAdd Documentation/CodingGuidelines
Johannes 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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agomake display of total transferred fully accurate
Nicolas 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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agocontrib/hooks/post-receive-email: make subject prefix configurable
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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agocontrib/hooks/post-receive-email: reformat to wrap comments at 76 chars
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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agocontrib/hooks/post-receive-email: fix typo
Gerrit Pape [Tue, 6 Nov 2007 13:48:07 +0000 (13:48 +0000)]
contrib/hooks/post-receive-email: fix typo

Signed-off-by: Gerrit Pape <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agorestore fetching with thin-pack capability
Nicolas 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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agogit-stash: Fix listing stashes
Emil 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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agoWhen exec() fails include the failing command in the error message
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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agoRelNotes-1.5.3.5: fix another typo
David 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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agoReteach builtin-ls-remote to understand remotes
Shawn O. Pearce [Wed, 7 Nov 2007 01:29:20 +0000 (20:29 -0500)]
Reteach builtin-ls-remote to understand remotes

Prior to being made a builtin git-ls-remote understood that when
it was given a remote name we wanted it to resolve that to the
pre-configured URL and connect to that location.  That changed when
it was converted to a builtin and many of my automation tools broke.

Signed-off-by: Shawn O. Pearce <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agoGive git-am back the ability to add Signed-off-by lines.
Johannes Sixt [Tue, 6 Nov 2007 20:33:58 +0000 (21:33 +0100)]
Give git-am back the ability to add Signed-off-by lines.

This was lost in the migration to git-rev-parse --parseopt by commit
78443d90491c1b82afdffc3d5d2ab8c1a58928b5.

Signed-off-by: Johannes Sixt <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agogit-rev-parse --parseopt
Junio C Hamano [Tue, 6 Nov 2007 20:23:14 +0000 (12:23 -0800)]
git-rev-parse --parseopt

The "parseopt mode" of git-rev-parse does not need to be run
inside a git repository, although the normal mode does.

Most notabily, lack of this fix breaks git-clone script, as
noticed by Nico.

Signed-off-by: Junio C Hamano <redacted>
18 years agoscripts: Add placeholders for OPTIONS_SPEC
Junio C Hamano [Tue, 6 Nov 2007 09:50:02 +0000 (01:50 -0800)]
scripts: Add placeholders for OPTIONS_SPEC

--text follows this line--
These commands currently lack OPTIONS_SPEC; allow people to
easily list with "git grep 'OPTIONS_SPEC=$'" what they can help
improving.

Signed-off-by: Junio C Hamano <redacted>
18 years agogit-reset: add -q option to operate quietly
Gerrit 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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agoMigrate git-repack.sh to use git-rev-parse --parseopt
Pierre Habouzit [Sun, 4 Nov 2007 10:31:02 +0000 (11:31 +0100)]
Migrate git-repack.sh to use git-rev-parse --parseopt

Signed-off-by: Junio C Hamano <redacted>
18 years agoMigrate git-quiltimport.sh to use git-rev-parse --parseopt
Pierre Habouzit [Sun, 4 Nov 2007 10:31:01 +0000 (11:31 +0100)]
Migrate git-quiltimport.sh to use git-rev-parse --parseopt

Signed-off-by: Pierre Habouzit <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agoMigrate git-checkout.sh to use git-rev-parse --parseopt --keep-dashdash
Pierre Habouzit [Sun, 4 Nov 2007 10:31:00 +0000 (11:31 +0100)]
Migrate git-checkout.sh to use git-rev-parse --parseopt --keep-dashdash

Also fix some space versus tabs issues.

Signed-off-by: Junio C Hamano <redacted>
18 years agoMigrate git-instaweb.sh to use git-rev-parse --parseopt
Pierre Habouzit [Sun, 4 Nov 2007 10:30:59 +0000 (11:30 +0100)]
Migrate git-instaweb.sh to use git-rev-parse --parseopt

Signed-off-by: Pierre Habouzit <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agoMigrate git-merge.sh to use git-rev-parse --parseopt
Pierre Habouzit [Sun, 4 Nov 2007 10:30:58 +0000 (11:30 +0100)]
Migrate git-merge.sh to use git-rev-parse --parseopt

Signed-off-by: Pierre Habouzit <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agoMigrate git-am.sh to use git-rev-parse --parseopt
Pierre Habouzit [Sun, 4 Nov 2007 10:30:57 +0000 (11:30 +0100)]
Migrate git-am.sh to use git-rev-parse --parseopt

Signed-off-by: Pierre Habouzit <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agoMigrate git-clone to use git-rev-parse --parseopt
Pierre Habouzit [Sun, 4 Nov 2007 10:30:56 +0000 (11:30 +0100)]
Migrate git-clone to use git-rev-parse --parseopt

Signed-off-by: Pierre Habouzit <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agoMigrate git-clean.sh to use git-rev-parse --parseopt.
Pierre Habouzit [Sun, 4 Nov 2007 10:30:55 +0000 (11:30 +0100)]
Migrate git-clean.sh to use git-rev-parse --parseopt.

Also minor consistency tweaks in how errors are caught.

Signed-off-by: Pierre Habouzit <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agoUpdate git-sh-setup(1) to allow transparent use of git-rev-parse --parseopt
Pierre Habouzit [Sun, 4 Nov 2007 10:30:54 +0000 (11:30 +0100)]
Update git-sh-setup(1) to allow transparent use of git-rev-parse --parseopt

If you set OPTIONS_SPEC, git-sh-setups uses git-rev-parse --parseopt
automatically.

It also diverts usage to re-exec $0 with the -h option as parse-options.c
will catch that.

If you need git-rev-parse --parseopt to keep the `--` the user may have
passed to your command, set OPTIONS_KEEPDASHDASH to a non empty value
in your script.

Signed-off-by: Pierre Habouzit <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agoAdd a parseopt mode to git-rev-parse to bring parse-options to shell scripts.
Pierre Habouzit [Sun, 4 Nov 2007 10:30:53 +0000 (11:30 +0100)]
Add a parseopt mode to git-rev-parse to bring parse-options to shell scripts.

Signed-off-by: Pierre Habouzit <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agoMake git-blame fail when working tree is needed and we're not in one
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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agoDon't always require working tree for git-rm
Mike 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 <redacted>
Acked-by: Johannes Schindelin <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agoUse setup_work_tree() in builtin-ls-files.c
Mike 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 <redacted>
Acked-by: Johannes Schindelin <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agoRefactor working tree setup
Mike 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 <redacted>
Acked-by: Johannes Schindelin <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agoAdd tests for git tag
Mike 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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agoReuse previous annotation when overwriting a tag
Mike 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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agoupload-pack: Use finish_{command,async}() instead of waitpid().
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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agobuiltin-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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agobuiltin-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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agoparse-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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agoMerge 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

18 years agogit-commit.sh: Fix usage checks regarding paths given when they do not make sense
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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agoFix 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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agoRemove a couple of duplicated include
Marco Costalba [Sun, 4 Nov 2007 14:35:26 +0000 (15:35 +0100)]
Remove a couple of duplicated include

Signed-off-by: Marco Costalba <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agogrep with unmerged index
Junio 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 <redacted>
18 years agoMerge branch 'gp/maint-diffdoc' into maint
Junio 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

18 years agoRearrange 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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agoSome 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 <redacted>
18 years agogit-daemon: fix remote port number in log entry
Gerrit 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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agorevision walker: mini clean-up
Linus Torvalds [Mon, 5 Nov 2007 21:22:34 +0000 (13:22 -0800)]
revision walker: mini clean-up

This removes the unnecessary indirection of "revs->prune_fn",
since that function is always the same one (or NULL), and there
is in fact not even an abstraction reason to make it a function
(i.e. its not called from some other file and doesn't allow us
to keep the function itself static or anything like that).

It then just replaces it with a bit that says "prune or not",
and if not pruning, every commit gets TREECHANGE.

That in turn means that

 - if (!revs->prune_fn || (flags & TREECHANGE))
 - if (revs->prune_fn && !(flags & TREECHANGE))

just become

 - if (flags & TREECHANGE)
 - if (!(flags & TREECHANGE))

respectively.

Together with adding the "single_parent()" helper function, the "complex"
conditional now becomes

if (!(flags & TREECHANGE) && rev->dense && single_parent(commit))
continue;

Also indirection of "revs->dense" checking is thrown away the
same way, because TREECHANGE bit is set appropriately now.

Signed-off-by: Linus Torvalds <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agogc: --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 <redacted>
18 years agot3502: 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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agoEnhance --early-output format
Linus Torvalds [Sun, 4 Nov 2007 20:12:05 +0000 (12:12 -0800)]
Enhance --early-output format

This makes --early-output a bit more advanced, and actually makes it
generate multiple "Final output:" headers as it updates things
asynchronously. I realize that the "Final output:" line is now illogical,
since it's not really final until it also says "done", but

It now _always_ generates a "Final output:" header in front of any commit
list, and that output header gives you a *guess* at the maximum number of
commits available. However, it should be noted that the guess can be
completely off: I do a reasonable job estimating it, but it is not meant
to be exact.

So what happens is that you may get output like this:

 - at 0.1 seconds:

Final output: 2 incomplete
.. 2 commits listed ..

 - half a second later:

Final output: 33 incomplete
.. 33 commits listed ..

 - another half a second after that:

Final output: 71 incomplete
.. 71 commits listed ..

 - another half second later:

Final output: 136 incomplete
.. 100 commits listed: we hit the --early-output limit, and
.. will only output 100 commits, and after this you'll not
.. see an "incomplete" report any more since you got as much
.. early output as you asked for!

 - .. and then finally:

Final output: 73106 done
.. all the commits ..

The above is a real-life scenario on my current kernel tree after having
flushed all the caches.

Tested with the experimental gitk patch that Paul sent out, and by looking
at the actual log output (and verifying that my commit count guesses
actually match real life fairly well).

Signed-off-by: Linus Torvalds <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agoAdd more tests for git-clean
Shawn Bohrer [Mon, 5 Nov 2007 04:28:12 +0000 (22:28 -0600)]
Add more tests for git-clean

Signed-off-by: Shawn Bohrer <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agoUse parseopts in builtin-push
Daniel Barkalow [Mon, 5 Nov 2007 03:35:37 +0000 (22:35 -0500)]
Use parseopts in builtin-push

Signed-off-by: Daniel Barkalow <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agosend-pack: require --verbose to show update of tracking refs
Jeff King [Mon, 5 Nov 2007 05:12:18 +0000 (00:12 -0500)]
send-pack: require --verbose to show update of tracking refs

This is really an uninteresting detail, and it just takes
attention away from the actual push updates and posssible
errors.

Signed-off-by: Jeff King <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agoreceive-pack: don't mention successful updates
Jeff King [Mon, 5 Nov 2007 05:11:41 +0000 (00:11 -0500)]
receive-pack: don't mention successful updates

The proposed updates are already shown to the user by
send-pack, so there's no point. We continue to show errors,
since they are unexpected.

Signed-off-by: Jeff King <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agomore terse push output
Jeff King [Mon, 5 Nov 2007 05:11:15 +0000 (00:11 -0500)]
more terse push output

This changes the output of send-pack to match the new,
more terse fetch output. It looks like this:

To git://host.tld/path/to/repo
 + f3325dc...3b91d1c hasforce -> mirror/hasforce (forced update)
   f3325dc..bb022dc  master -> mirror/master
 ! [rejected]        needsforce -> mirror/needsforce (non-fast forward)
 * [new branch]      newbranch -> mirror/newbranch
 * [new tag]         v1.0 -> v1.0

instead of:

updating 'refs/heads/mirror/hasforce' using 'refs/heads/hasforce'
  from f3325dca9c4a34d74012c0e159254f454930cec7
  to   3b91d1c310ca9d7b547b85466dd876e143498304
updating 'refs/heads/mirror/master' using 'refs/heads/master'
  from f3325dca9c4a34d74012c0e159254f454930cec7
  to   bb022dc363d5c2aa9aa3026beb9706d44fbe1328
error: remote 'refs/heads/mirror/needsforce' is not an ancestor of
 local  'refs/heads/needsforce'.
 Maybe you are not up-to-date and need to pull first?
updating 'refs/heads/mirror/newbranch' using 'refs/heads/newbranch'
  from 0000000000000000000000000000000000000000
  to   3b91d1c310ca9d7b547b85466dd876e143498304
updating 'refs/tags/v1.0'
  from 0000000000000000000000000000000000000000
  to   bb022dc363d5c2aa9aa3026beb9706d44fbe1328

Signed-off-by: Jeff King <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agogit-svn: t9114: verify merge commit message in test
Eric 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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agogit-svn: fix dcommit clobbering when committing a series of diffs
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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agoremove dead code from the csum-file interface
Nicolas 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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agogit-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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agomake display of total transferred more accurate
Nicolas 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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agosideband.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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agoBuild in ls-remote
Daniel Barkalow [Sun, 4 Nov 2007 20:51:17 +0000 (15:51 -0500)]
Build in ls-remote

This actually replaces peek-remote with ls-remote, since peek-remote
now handles everything. peek-remote remains an a second name for
ls-remote, although its help message now gives the "ls-remote" name.

Signed-off-by: Daniel Barkalow <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agoSplit off the pretty print stuff into its own file
Johannes 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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agoFix 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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agoclean: require -f to do damage by default
Junio 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 <redacted>
18 years agoformat-patch: Test --[no-]numbered and format.numbered
Brian 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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agoformat-patch: Add configuration and off switch for --numbered
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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agofix display overlap between remote and local progress
Nicolas 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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agoAdd "--early-output" log flag for interactive GUI use
Linus Torvalds [Sat, 3 Nov 2007 18:11:10 +0000 (11:11 -0700)]
Add "--early-output" log flag for interactive GUI use

This adds support for "--early-output[=n]" as a flag to the "git log"
family of commands.  This allows GUI programs to state that they want to
get some output early, in order to be able to show at least something
quickly, even if the full output may take longer to generate.

If no count is specified, a default count of a hundred commits will be
used, although the actual numbr of commits output may be smaller
depending on how many commits were actually found in the first tenth of
a second (or if *everything* was found before that, in which case no
early output will be provided, and only the final list is made
available).

When the full list is generated, there will be a "Final output:" string
prepended to it, regardless of whether any early commits were shown or
not, so that the consumer can always know the difference between early
output and the final list.

Signed-off-by: Linus Torvalds <redacted>
Signed-off-by: Junio C Hamano <redacted>
18 years agoSimplify topo-sort logic
Linus Torvalds [Fri, 2 Nov 2007 20:32:58 +0000 (13:32 -0700)]
Simplify topo-sort logic

.. by not using quite so much indirection.

This currently grows the "struct commit" a bit, which could be avoided by
using a union for "util" and "indegree" (the topo-sort used to use "util"
anyway, so you cannot use them together), but for now the goal of this was
to simplify, not optimize.

Signed-off-by: Linus Torvalds <redacted>
18 years agoMerge 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

18 years agoMerge 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

git clone https://git.99rst.org/PROJECT