Commit Graph

12486 Commits

Author SHA1 Message Date
Nicolas Pitre
d048a96ee9 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>
2007-11-09 22:25:36 -08:00
Johannes Schindelin
354e6534c1 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>
2007-11-09 21:45:01 -08:00
Nicolas Pitre
2729cadca2 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>
2007-11-09 21:16:54 -08:00
Junio C Hamano
6fd7a1efe4 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>
2007-11-09 01:57:54 -08:00
Junio C Hamano
3f7ce648fa 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>
2007-11-09 01:57:50 -08:00
Junio C Hamano
0bf15e7438 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>
2007-11-09 01:57:43 -08:00
Johannes Schindelin
6fd2f5e60d rebase: operate on a detached HEAD
The interactive version of rebase does all the operations on a detached
HEAD, so that after a successful rebase, <branch>@{1} is the pre-rebase
state.  The reflogs of "HEAD" still show all the actions in detail.

This teaches the non-interactive version to do the same.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-11-09 01:30:31 -08:00
René Scharfe
cde75e59e1 --pretty=format: on-demand format expansion
Some of the --pretty=format placeholders expansions are expensive to
calculate.  This is made worse by the current code's use of
interpolate(), which requires _all_ placeholders are to be prepared
up front.

One way to speed this up is to check which placeholders are present
in the format string and to prepare only the expansions that are
needed.  That still leaves the allocation overhead of interpolate().

Another way is to use a callback based approach together with the
strbuf library to keep allocations to a minimum and avoid string
copies.  That's what this patch does.  It introduces a new strbuf
function, strbuf_expand().

The function takes a format string, list of placeholder strings,
a user supplied function 'fn', and an opaque pointer 'context'
to tell 'fn' what thingy to operate on.

The function 'fn' is expected to accept a strbuf, a parsed
placeholder string and the 'context' pointer, and append the
interpolated value for the 'context' thingy, according to the
format specified by the placeholder.

Thanks to Pierre Habouzit for his suggestion to use strchrnul() and
the code surrounding its callsite.  And thanks to Junio for most of
this commit message. :)

Here my measurements of most of Paul Mackerras' test cases that
highlighted the performance problem (best of three runs):

(master)
$ time git log --pretty=oneline >/dev/null

real    0m0.390s
user    0m0.340s
sys     0m0.040s

(master)
$ time git log --pretty=raw >/dev/null

real    0m0.434s
user    0m0.408s
sys     0m0.016s

(master)
$ time git log --pretty="format:%H {%P} %ct" >/dev/null

real    0m1.347s
user    0m0.080s
sys     0m1.256s

(interp_find_active -- Dscho)
$ time ./git log --pretty="format:%H {%P} %ct" >/dev/null

real    0m0.694s
user    0m0.020s
sys     0m0.672s

(strbuf_expand -- this patch)
$ time ./git log --pretty="format:%H {%P} %ct" >/dev/null

real    0m0.395s
user    0m0.352s
sys     0m0.028s

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-11-09 01:30:07 -08:00
René Scharfe
659c69cfef Add strchrnul()
As suggested by Pierre Habouzit, add strchrnul().  It's a useful GNU
extension and can simplify string parser code.  There are several
places in git that can be converted to strchrnul(); as a trivial
example, this patch introduces its usage to builtin-fetch--tool.c.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-11-09 01:30:07 -08:00
Gordon Hopper
2e458e0575 git-cvsimport: fix handling of user name when it is not set in CVSROOT
The cvs programs do not default to "anonymous" as the user name, but use the
currently logged in user.  This patch more closely matches the cvs behavior.

Signed-off-by: Gordon Hopper <g.hopper@computer.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-11-09 01:23:40 -08:00
Junio C Hamano
c238dad407 Update draft release notes for 1.5.4
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-11-09 00:32:38 -08:00
Junio C Hamano
5d4138a66d 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>
2007-11-09 00:21:44 -08:00
Ralf Wildenhues
063036af08 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>
2007-11-09 00:19:24 -08:00
Junio C Hamano
b9217c0938 Start preparing for 1.5.3.6
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-11-09 00:17:52 -08:00
Benoit Sigoure
cb6c162fba 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>
2007-11-09 00:00:09 -08:00
Sergei Organov
13d4e6f7b7 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>
2007-11-08 23:59:44 -08:00
Jonas Fonseca
9126425df1 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>
2007-11-08 23:59:27 -08:00
Alex Riesen
d9c8344b46 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>
2007-11-08 23:55:55 -08:00
Junio C Hamano
66006c63e7 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 <gitster@pobox.com>
2007-11-08 23:11:10 -08:00
Junio C Hamano
d349a03e74 Makefile: add missing dependency on wt-status.h
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-11-08 16:41:56 -08:00
Junio C Hamano
fbbdbfc3cc 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>
2007-11-08 16:26:23 -08:00
Ralf Wildenhues
4f2e94c0f7 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>
2007-11-08 15:56:22 -08:00
Ralf Wildenhues
b5e960b108 Avoid a few unportable, needlessly nested "...`...".
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-11-08 15:54:58 -08:00
Nicolas Pitre
a984a06a07 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 <nico@cam.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-11-08 15:43:41 -08:00
Junio C Hamano
f3fa183802 Style: place opening brace of a function definition at column 1
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-11-08 15:35:32 -08:00
Gerrit Pape
5c355059c3 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>
2007-11-08 14:18:13 -08:00
Gerrit Pape
ad7638b2ed 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>
2007-11-08 14:17:32 -08:00
Gerrit Pape
1756fed9ee 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>
2007-11-08 14:15:32 -08:00
Pierre Habouzit
e817e3e857 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 <madcoder@debian.org>
2007-11-08 01:49:01 -08:00
Gerrit Pape
d50a4bc4e9 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>
2007-11-08 01:08:14 -08:00
Shawn O. Pearce
cd16a6c929 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 <spearce@spearce.org>
2007-11-08 02:22:21 -05:00
Junio C Hamano
cbea86fd14 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 <gitster@pobox.com>
2007-11-07 23:10:10 -08:00
Junio C Hamano
53d149c54b Merge branch 'jc/clean-config'
* jc/clean-config:
  clean: require -f to do damage by default
2007-11-07 18:19:38 -08:00
Junio C Hamano
f8b7819be9 Merge branch 'gp/reset-q'
* gp/reset-q:
  git-reset: add -q option to operate quietly
2007-11-07 18:18:55 -08:00
Junio C Hamano
0380074315 Merge branch 'ds/maint-deflatebound'
* ds/maint-deflatebound:
  Improve accuracy of check for presence of deflateBound.
2007-11-07 18:17:20 -08:00
Junio C Hamano
7481ebe991 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.
2007-11-07 18:16:18 -08:00
Junio C Hamano
bd6ba4d28b 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
2007-11-07 18:07:07 -08:00
Junio C Hamano
e0901de4b1 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
2007-11-07 17:37:00 -08:00
Mike Hommey
e1f14cce69 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>
2007-11-07 17:25:47 -08:00
Uwe Kleine-König
620bb245b9 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>
2007-11-07 17:23:04 -08:00
Ralf Wildenhues
3c307bfbe8 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>
2007-11-07 17:21:41 -08:00
Johannes Schindelin
fc8b5f0307 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>
2007-11-07 17:12:53 -08:00
David Symonds
609a2289d7 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>
2007-11-07 17:06:14 -08:00
Johannes Schindelin
6d0618a820 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>
2007-11-07 17:05:53 -08:00
Nicolas Pitre
53ed7b5a5d 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>
2007-11-07 16:48:40 -08:00
Gerrit Pape
e7509ee388 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>
2007-11-07 16:45:31 -08:00
Gerrit Pape
15a2f53011 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>
2007-11-07 16:45:31 -08:00
Gerrit Pape
b5786c8283 contrib/hooks/post-receive-email: fix typo
Signed-off-by: Gerrit Pape <pape@smarden.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-11-07 16:45:31 -08:00
Nicolas Pitre
3891f390ea restore fetching with thin-pack capability
Broken since commit fa74052922.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-11-07 16:19:07 -08:00
Emil Medve
a9ee9bf9f9 git-stash: Fix listing stashes
Commit bc9e7399af "reverted" commit
f12e925ac2

Signed-off-by: Emil Medve <Emilian.Medve@Freescale.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-11-07 14:00:12 -08:00