René Scharfe [Sat, 22 May 2010 21:29:35 +0000 (23:29 +0200)]
grep: --count over binary
The intent of showing the message "Binary file xyz matches" for
binary files is to avoid annoying users by potentially messing up
their terminals by printing control characters. In --count mode,
this precaution isn't necessary.
Display counts of matches if -c/--count was specified, even if -a
was not given. GNU grep does the same.
Moving the check for ->count before the code for handling binary
file also avoids printing context lines if --count and -[ABC] were
used together, so we can remove the part of the comment that
mentions this behaviour. Again, GNU grep does the same.
Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
René Scharfe [Sat, 22 May 2010 21:28:17 +0000 (23:28 +0200)]
grep: grep: refactor handling of binary mode options
Turn the switch inside-out and add labels for each possible value
of ->binary. This makes the code easier to read and avoids calling
buffer_is_binary() if the option -a was given.
Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
René Scharfe [Sat, 22 May 2010 21:26:39 +0000 (23:26 +0200)]
grep: add test script for binary file handling
Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 19 May 2010 05:39:56 +0000 (22:39 -0700)]
Merge branch 'maint'
* maint:
Documentation/gitdiffcore: fix order in pickaxe description
Documentation: fix minor inconsistency
Documentation: rebase -i ignores options passed to "git am"
hash_object: correction for zero length file
Michael J Gruber [Tue, 18 May 2010 10:49:33 +0000 (12:49 +0200)]
Documentation/gitdiffcore: fix order in pickaxe description
Reverse the order of "origin" and "result" so that the sentence
really describes an addition rather than a removal.
Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Michael J Gruber [Thu, 13 May 2010 12:51:38 +0000 (14:51 +0200)]
Documentation: fix minor inconsistency
While we don't always write out commands in full (`git command`) we
should do it consistently in adjacent paragraphs.
Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Markus Heidelberg [Thu, 13 May 2010 12:47:53 +0000 (14:47 +0200)]
Documentation: rebase -i ignores options passed to "git am"
Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Will Palmer [Thu, 13 May 2010 08:59:00 +0000 (09:59 +0100)]
diff-options: make --patch a synonym for -p
Here we simply make --patch a synonym for -p, whose mnemonic was "patch"
all along.
Signed-off-by: Will Palmer <wmpalmer@gmail.com>
Reviewed-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Michael J Gruber [Thu, 13 May 2010 12:31:46 +0000 (14:31 +0200)]
for-each-ref: Field with abbreviated objectname
Introduce a :short modifier to objectname which outputs the abbreviated
object name.
Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Reviewed-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Dmitry Potapov [Mon, 10 May 2010 21:38:17 +0000 (01:38 +0400)]
hash_object: correction for zero length file
The check whether size is zero was done after if size <= SMALL_FILE_SIZE,
as result, zero size case was never triggered. Instead zero length file
was treated as any other small file. This did not caused any problem, but
if we have a special case for size equal to zero, it is better to make it
work and avoid redundant malloc().
Signed-off-by: Dmitry Potapov <dpotapov@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Pavan Kumar Sunkara [Mon, 10 May 2010 16:41:35 +0000 (18:41 +0200)]
gitweb: Use @diff_opts while using format-patch
Make git-format-patch (used by 'patch' and 'patches' views) use the
same rename detection options that git-diff and git-diff-tree (used
by 'commitdiff', 'blobdiff', etc.) use.
Signed-off-by: Pavan Kumar Sunkara <pavan.sss1991@gmail.com>
Acked-by: Jakub Narebski <jnareb@gmail.com>
Acked-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 12 May 2010 06:04:47 +0000 (23:04 -0700)]
Merge branch 'maint'
* maint:
GIT-VERSION-GEN: restrict tags used
Tay Ray Chuan [Wed, 12 May 2010 03:29:20 +0000 (11:29 +0800)]
GIT-VERSION-GEN: restrict tags used
Restrict the tags used to generate the version string to those that
begin with "v", since git's tags for git-core (ie. excluding git-gui)
are all of the form "vX.Y...".
This is to avoid using private tags by the user in a clone of the git
code repository, which may break certain machinery (eg. Makefile, gitk).
Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 11 May 2010 01:34:03 +0000 (18:34 -0700)]
Merge branch 'maint'
* maint:
handle "git --bare init <dir>" properly
Jeff King [Mon, 10 May 2010 09:42:06 +0000 (05:42 -0400)]
handle "git --bare init <dir>" properly
If we know we are creating a bare repository, we use setenv
to set the GIT_DIR directory to the current directory
(either where we already were, or one we created and chdir'd
into with "git init --bare <dir>").
However, with "git --bare init <dir>" (note the --bare as a
git wrapper option), the setup code actually sets GIT_DIR
for us, but it uses the wrong, original cwd when a directory
is given. Because our setenv does not use the overwrite
flag, it is ignored.
We need to set the overwrite flag, but only when we are
given a directory on the command line. That still allows:
GIT_DIR=foo.git git init --bare
to work. The behavior is changed for:
GIT_DIR=foo.git git init --bare bar.git
which used to create the repository in foo.git, but now will
use bar.git. This is more sane, as command line options
should generally override the environment.
Noticed by Oliver Hoffmann.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Torsten Schmutzler [Thu, 6 May 2010 20:20:43 +0000 (22:20 +0200)]
git-svn: mangle refnames forbidden in git
git-check-ref-format(1) describes names which
cannot be used as refnames for git. Some are
legal branchnames in subversion however.
Mangle the not yet handled cases.
Signed-off-by: Torsten Schmutzler <git-ts@theblacksun.eu>
Acked-by: Eric Wong <normalperson@yhbt.net>
Ævar Arnfjörð Bjarmason [Sat, 8 May 2010 16:40:41 +0000 (16:40 +0000)]
git-svn: Remove unused use of File::Temp
The use line was added in
ffe256f9. File::Temp calls were later moved
to Git.pm in
0b19138b, but that commit neglected to remove the
now-redundant import.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Acked-by: Eric Wong <normalperson@yhbt.net>
Ævar Arnfjörð Bjarmason [Fri, 7 May 2010 19:50:03 +0000 (19:50 +0000)]
git-svn documentation: minor grammar fix
Use the definite article when talking about a configuration property.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Acked-by: Eric Wong <normalperson@yhbt.net>
Jonathan Nieder [Tue, 4 May 2010 23:36:47 +0000 (16:36 -0700)]
git svn: avoid uninitialized var in 'reset'
When "git svn reset" is called with an invalid revision, we
bail out and show the user a proper error message instead
of giving them a cryptic one related to git-svn internals.
ref: http://bugs.debian.org/578908
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Reported-by: Jens Seidel <jensseidel@users.sf.net>
Acked-by: Eric Wong <normalperson@yhbt.net>
Junio C Hamano [Sun, 9 May 2010 05:58:36 +0000 (22:58 -0700)]
Start 1.7.2 cycle
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Sun, 9 May 2010 05:37:41 +0000 (22:37 -0700)]
Merge branch 'bg/apply-blank-trailing-context'
* bg/apply-blank-trailing-context:
apply: Allow blank *trailing* context lines to match beyond EOF
Junio C Hamano [Sun, 9 May 2010 05:37:34 +0000 (22:37 -0700)]
Merge branch 'bg/send-email-smtpdomain'
* bg/send-email-smtpdomain:
send-email: Cleanup smtp-domain and add config
Document send-email --smtp-domain
send-email: Don't use FQDNs without a '.'
send-email: Cleanup { style
Junio C Hamano [Sun, 9 May 2010 05:37:28 +0000 (22:37 -0700)]
Merge branch 'rc/ls-remote-default'
* rc/ls-remote-default:
ls-remote: fall-back to default remotes when no remote specified
Junio C Hamano [Sun, 9 May 2010 05:37:24 +0000 (22:37 -0700)]
Merge branch 'rc/maint-curl-helper'
* rc/maint-curl-helper:
remote-curl: ensure that URLs have a trailing slash
http: make end_url_with_slash() public
t5541-http-push: add test for URLs with trailing slash
Conflicts:
remote-curl.c
Junio C Hamano [Sun, 9 May 2010 05:37:05 +0000 (22:37 -0700)]
Merge branch 'hg/maint-attr-fix'
* hg/maint-attr-fix:
attr: Expand macros immediately when encountered.
attr: Allow multiple changes to an attribute on the same line.
attr: Fixed debug output for macro expansion.
Junio C Hamano [Sun, 9 May 2010 05:36:40 +0000 (22:36 -0700)]
Merge branch 'eb/unpretty-b-format'
* eb/unpretty-b-format:
Add `%B' in format strings for raw commit body in `git log' and friends
Junio C Hamano [Sun, 9 May 2010 05:36:31 +0000 (22:36 -0700)]
Merge branch 'ab/commit-empty-message'
* ab/commit-empty-message:
Add option to git-commit to allow empty log messages
Junio C Hamano [Sun, 9 May 2010 05:36:23 +0000 (22:36 -0700)]
Merge branch 'jc/test-sleepless'
* jc/test-sleepless:
war on "sleep" in tests
Junio C Hamano [Sun, 9 May 2010 05:36:16 +0000 (22:36 -0700)]
Merge branch 'jc/maint-reflog-expire-unreachable'
* jc/maint-reflog-expire-unreachable:
reflog --expire-unreachable: avoid merge-base computation
Junio C Hamano [Sun, 9 May 2010 05:36:14 +0000 (22:36 -0700)]
Merge branch 'sd/log-decorate'
* sd/log-decorate:
log.decorate: only ignore it under "log --pretty=raw"
script with rev-list instead of log
log --pretty/--oneline: ignore log.decorate
log.decorate: usability fixes
Add `log.decorate' configuration variable.
git_config_maybe_bool()
Conflicts:
builtin/log.c
Junio C Hamano [Sun, 9 May 2010 05:35:39 +0000 (22:35 -0700)]
Merge branch 'mh/status-optionally-refresh'
* mh/status-optionally-refresh:
t7508: add a test for "git status" in a read-only repository
git status: refresh the index if possible
t7508: add test for "git status" refreshing the index
Junio C Hamano [Sun, 9 May 2010 05:35:35 +0000 (22:35 -0700)]
Merge branch 'cw/ws-indent-with-tab'
* cw/ws-indent-with-tab:
whitespace: tests for git-apply --whitespace=fix with tab-in-indent
whitespace: add tab-in-indent support for --whitespace=fix
whitespace: replumb ws_fix_copy to take a strbuf *dst instead of char *dst
whitespace: tests for git-diff --check with tab-in-indent error class
whitespace: add tab-in-indent error class
whitespace: we cannot "catch all errors known to git" anymore
Junio C Hamano [Sun, 9 May 2010 05:34:47 +0000 (22:34 -0700)]
Merge branch 'cc/revert-strategy'
* cc/revert-strategy:
revert: add "--strategy" option to choose merge strategy
merge: make function try_merge_command non static
merge: refactor code that calls "git merge-STRATEGY"
revert: refactor merge recursive code into its own function
revert: use strbuf to refactor the code that writes the merge message
Conflicts:
builtin/revert.c
Junio C Hamano [Sun, 9 May 2010 05:33:16 +0000 (22:33 -0700)]
Merge branch 'sc/http-late-auth'
* sc/http-late-auth:
Prompt for a username when an HTTP request 401s
Junio C Hamano [Sun, 9 May 2010 05:33:08 +0000 (22:33 -0700)]
Merge branch 'jk/cached-textconv'
* jk/cached-textconv:
diff: avoid useless filespec population
diff: cache textconv output
textconv: refactor calls to run_textconv
introduce notes-cache interface
make commit_tree a library function
Junio C Hamano [Sun, 9 May 2010 05:32:59 +0000 (22:32 -0700)]
Merge branch 'pc/remove-warn'
* pc/remove-warn:
Remove a redundant errno test in a usage of remove_path
Introduce remove_or_warn function
Implement the rmdir_or_warn function
Generalise the unlink_or_warn function
Jonathan Nieder [Sat, 8 May 2010 23:17:29 +0000 (18:17 -0500)]
cherry-pick: do not dump core when iconv fails
When cherry-picking, usually the new and old commit encodings are both
UTF-8. Most old iconv implementations do not support this trivial
conversion, so on old platforms, out->message remains NULL, and later
attempts to read it segfault.
Fix this by noticing the input and output encodings match and skipping
the iconv step, like the other reencode_string() call sites already do.
Also stop segfaulting on other iconv failures: if iconv fails for some
other reason, the best we can do is to pass the old message through.
This fixes a regression introduced in v1.7.1-rc0~15^2~2 (revert:
clarify label on conflict hunks, 2010-03-20).
Reported-by: Andreas Krey <a.krey@gmx.de>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Ramsay Jones [Sat, 8 May 2010 17:36:15 +0000 (18:36 +0100)]
Makefile: Fix 'clean' target to remove all gitweb build files
In particular the gitweb/GITWEB-BUILD-OPTIONS file was not being
removed by the main Makefile. However, the gitweb/Makefile has a
'clean' target that correctly removes all the build products.
In order to fix the problem, rather than duplicate the clean-up
instructions, we change the main Makefile so that it delegates
the clean-up actions to the gitweb Makefile.
Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Acked-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Leif Arne Storset [Wed, 5 May 2010 14:16:25 +0000 (16:16 +0200)]
Documentation/config.txt: GIT_NOTES_REWRITE_REF overrides notes.rewriteRef
The documentation erroneously mentions the GIT_NOTES_REWRITE_REF
override in the description of notes.rewrite.<command>. Move it
under notes.rewriteRef where it belongs.
Signed-off-by: Leif Arne Storset <lstorset@opera.com>
Acked-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jonathan Nieder [Thu, 6 May 2010 08:41:10 +0000 (03:41 -0500)]
test-lib: some shells do not let $? propagate into an eval
In
3bf7886 (test-lib: Let tests specify commands to be run at end of
test, 2010-05-02), the git test harness learned to run cleanup
commands unconditionally at the end of a test. During each test,
the intended cleanup actions are collected in the test_cleanup variable
and evaluated. That variable looks something like this:
eval_ret=$?; clean_something && (exit "$eval_ret")
eval_ret=$?; clean_something_else && (exit "$eval_ret")
eval_ret=$?; final_cleanup && (exit "$eval_ret")
eval_ret=$?
All cleanup actions are run unconditionally but if one of them fails
it is properly reported through $eval_ret.
On FreeBSD, unfortunately, $? is set at the beginning of an ‘eval’
to 0 instead of the exit status of the previous command. This results
in tests using test_expect_code appearing to fail and all others
appearing to pass, unless their cleanup fails. Avoid the problem by
setting eval_ret before the ‘eval’ begins.
Thanks to Jeff King for the explanation.
Cc: Jeff King <peff@peff.net>
Cc: Johannes Sixt <j6t@kdbg.org>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jonathan Nieder [Sun, 2 May 2010 08:53:41 +0000 (03:53 -0500)]
test-lib: Let tests specify commands to be run at end of test
Certain actions can imply that if the test fails early, recovery from
within other tests is too much to expect:
- creating unwritable directories, like the EACCESS test in t0001-init
- setting unusual configuration, like user.signingkey in t7004-tag
- crashing and leaving the index lock held, like t3600-rm once did
Some test scripts work around this by running cleanup actions outside
the supervision of the test harness, with the unfortunate consequence
that those commands are not appropriately echoed and their output not
suppressed. Others explicitly save exit status, clean up, and then
reset the exit status within the tests, which has excellent behavior
but makes the tests hard to read. Still others ignore the problem.
Allow tests a fourth option: by calling this function, tests can
stack up commands they would like to be run to clean up.
Commands passed to test_when_finished during a test are
unconditionally run in the test environment immediately before the
test is completed, in last-in-first-out order. If some cleanup
command fails, then the other cleanup commands are still run before
the failure is reported and the test script allowed to continue.
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 4 May 2010 22:20:47 +0000 (15:20 -0700)]
Merge branch 'maint-1.7.0' into maint
* maint-1.7.0:
remove ecb parameter from xdi_diff_outf()
René Scharfe [Tue, 4 May 2010 20:41:34 +0000 (22:41 +0200)]
remove ecb parameter from xdi_diff_outf()
xdi_diff_outf() overrides the structure members of its last parameter,
ignoring any value that callers pass in. It's no surprise then that all
callers pass a pointer to an uninitialized structure. They also don't
read it after the call, so the parameter is neither used for input nor
for output. Turn it into a local variable of xdi_diff_outf().
Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Ping Yin [Sat, 24 Apr 2010 07:34:02 +0000 (15:34 +0800)]
Documentation/git-send-email: Add "Use gmail as the smtp server"
Signed-off-by: Ping Yin <pkufranky@gmail.com>
Acked by: Sverre Rabbelier <srabbelier@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Fri, 23 Apr 2010 12:37:22 +0000 (14:37 +0200)]
clone: quell the progress report from init and report on clone
Currently, a local git clone reports only initializing an empty
git dir, which is potentially confusing.
Instead, report that cloning is in progress and when it is done
(unless -q) is given, and suppress the init report.
Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Michal Sojka [Fri, 16 Apr 2010 13:53:59 +0000 (15:53 +0200)]
test-lib.sh: Add explicit license detail, with change from GPLv2 to GPLv2+.
Dear Junio,
this is a resend of relicensing patch for test suite library, which
was initially sent by Carl Worth. Since the time you sent me acks for
this patch collected by you, I collected 8 additional acks as is
documented at
https://git.wiki.kernel.org/index.php/Test-lib_reclicensing. There are
still three contributors missing: Bert Wesarg, Stephan Beyer and Bryan
Donlan. The contributions of first two are clearly not copyrightable.
I'm not sure about the copyrightability of Bryan Donlan's
contributions (git log -p --author='Bryan Donlan' t/test-lib.sh).
Carl told me that in your ack collection process you missed only three
acks. So I wonder whether you already did some analysis of which
contributions are copyrightable. If so, are the missing acks in the
list bellow?
Thanks
Michal
8<--------8<--------8<--------
This file has had no explicit license information noted in it, but
has clearly been created and modified according to the terms of GPLv2
as with the rest of the git code base.
The purpose of relicensing is to allow other GPLv3+ projects (in
particular, the notmuch project: http://notmuchmail.org) to use this
same test-suite structure and to contribute changes back as well.
Signed-off-by: Carl Worth <cworth@cworth.org>
Signed-off-by: Michal Sojka <sojkam1@fel.cvut.cz>
Acked-by: Alex Riesen <raa.lkml@gmail.com>
Acked-by: Brandon Casey <drafnel@gmail.com>
Acked-by: Clemens Buchacher <drizzd@aon.at>
Acked-by: David Reiss <dreiss@facebook.com>
Acked-by: Emil Sit <sit@emilsit.net>
Acked-by: Eric Wong <normalperson@yhbt.net>
Acked-by: Fredrik Kuivinen <frekui@gmail.com>
Acked-by: Gerrit Pape <pape@smarden.org>
Acked-by: Christian Couder <chriscool@tuxfamily.org>
Acked-by: Jakub Narebski <jnareb@gmail.com>
Acked-by: Jeff King <peff@peff.net>
Acked-by: Johan Herland <johan@herland.net>
Acked-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Acked-by: Johannes Sixt <j6t@kdbg.org>
Acked-by: Jonathan Nieder <jrnieder@gmail.com>
Acked-by: Josh Triplett <josh@joshtriplett.org>
Acked-by: Junio C Hamano <gitster@pobox.com>
Acked-by: Lea Wiemann <lewiemann@gmail.com>
Acked-by: Markus Heidelberg <markus.heidelberg@web.de>
Acked-by: Martin Waitz <tali@admingilde.org>
Acked-by: Matthew Ogilvie <mmogilvi_git@miniinfo.net>
Acked-by: Matthias Lederhofer <matled@gmx.net>
Acked-by: Michael J Gruber <git@drmicha.warpmail.net>
Acked-by: Michele Ballabio <barra_cuda@katamail.com>
Acked-by: Miklos Vajna <vmiklos@frugalware.org>
Acked-by: Nicolas Pitre <nico@fluxnic.net>
Acked-by: Pavel Roskin <proski@gnu.org>
Acked-by: Petr Baudis <pasky@ucw.cz>
Acked-by: Pierre Habouzit <madcoder@debian.org>
Acked-by: Robin Rosenberg <robin.rosenberg@dewire.com>
Acked-by: Shawn O. Pearce <spearce@spearce.org>
Acked-by: Stephen Boyd <bebarino@gmail.com>
Acked-by: Sverre Rabbelier <srabbelier@gmail.com>
Acked-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Sverre Rabbelier [Sun, 25 Apr 2010 20:17:05 +0000 (22:17 +0200)]
Gitweb: ignore built file
Signed-off-by: Sverre Rabbelier <srabbelier@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Sun, 2 May 2010 03:23:10 +0000 (20:23 -0700)]
Merge branch 'maint'
* maint:
index-pack: fix trivial typo in usage string
git-submodule.sh: properly initialize shell variables
Michael J Gruber [Thu, 29 Apr 2010 15:42:47 +0000 (17:42 +0200)]
index-pack: fix trivial typo in usage string
Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Gerrit Pape [Mon, 26 Apr 2010 09:50:39 +0000 (11:50 +0200)]
git-submodule.sh: properly initialize shell variables
git-submodule inherits variables from the environment it is started in,
expects the internal variables init= and recursive= to have an empty
value, but doesn't initialize them appropriately. Thanks to the
selftests, this can be reproduced through
init=1 make test
recursive=1 make test
With this commit the variables are initialized, and the selftests
succeed even if these variables have some values in the environment.
The bug was discovered through the Debian autobuilders
http://bugs.debian.org/569594
Signed-off-by: Gerrit Pape <pape@smarden.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Alexey Mahotkin [Wed, 28 Apr 2010 11:29:06 +0000 (15:29 +0400)]
xdiff/xmerge.c: use memset() instead of explicit for-loop
memset() is heavily optimized, and resulting assembler code
is about 150 lines less for that file.
Signed-off-by: Alexey Mahotkin <squadette@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Sat, 24 Apr 2010 01:27:17 +0000 (18:27 -0700)]
Git 1.7.1
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Sat, 24 Apr 2010 01:24:32 +0000 (18:24 -0700)]
Merge branch 'maint'
* maint:
Documentation improvements for the description of short format.
Eric Raymond [Fri, 23 Apr 2010 17:40:15 +0000 (13:40 -0400)]
Documentation improvements for the description of short format.
Incorporates the detailed explanation from Jeff King in
<
20100410040959.GA11977@coredump.intra.peff.net> and fixes
the bug noted by Junio C Hamano in
<7vmxxc1i8g.fsf@alter.siamese.dyndns.org>.
Signed-off-by: Eric S. Raymond <esr@thyrsus.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Fri, 23 Apr 2010 06:05:49 +0000 (23:05 -0700)]
Sync with 1.7.0.6
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Fri, 23 Apr 2010 05:46:24 +0000 (22:46 -0700)]
Git 1.7.0.6
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Fri, 23 Apr 2010 05:39:26 +0000 (22:39 -0700)]
Merge branch 'mg/use-default-abbrev-length-in-rev-list' into maint
* mg/use-default-abbrev-length-in-rev-list:
rev-list: use default abbrev length when abbrev-commit is in effect
Junio C Hamano [Fri, 23 Apr 2010 05:29:50 +0000 (22:29 -0700)]
Merge branch 'wp/doc-filter-direction' into maint
* wp/doc-filter-direction:
documentation: clarify direction of core.autocrlf
Junio C Hamano [Fri, 23 Apr 2010 05:29:13 +0000 (22:29 -0700)]
Merge branch 'jk/maint-diffstat-overflow' into maint
* jk/maint-diffstat-overflow:
diff: use large integers for diffstat calculations
Junio C Hamano [Fri, 23 Apr 2010 05:29:07 +0000 (22:29 -0700)]
Merge branch 'da/maint-python-startup' into maint
* da/maint-python-startup:
Makefile: Remove usage of deprecated Python "has_key" method
Junio C Hamano [Thu, 22 Apr 2010 06:54:04 +0000 (23:54 -0700)]
Merge branch 'maint'
* maint:
Documentation/Makefile: fix interrupted builds of user-manual.xml
Jonathan Nieder [Thu, 22 Apr 2010 01:18:21 +0000 (20:18 -0500)]
Documentation/Makefile: fix interrupted builds of user-manual.xml
Unlike gcc, asciidoc does not atomically write its output file or
delete it when interrupted. If it is interrupted in the middle of
writing an XML file, the result will be truncated input for xsltproc.
XSLTPROC user-manual.html
user-manual.xml:998: parser error : Premature end of data in t
Take care of this case by writing to a temporary and renaming it when
finished.
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 20 Apr 2010 05:41:30 +0000 (22:41 -0700)]
Merge branch 'maint'
* maint:
t7012: Mark missing tests as TODO
reflog: remove 'show' from 'expire's usage string
MSVC: Fix build by adding missing termios.h dummy
Michael J Gruber [Mon, 19 Apr 2010 08:14:32 +0000 (10:14 +0200)]
t7012: Mark missing tests as TODO
Currently, there are 6 tests which are not even written but are
'test_expect_failure message false'.
Do not abuse test_expect_failure as a to do marker, but mark them as
'#TODO' instead.
Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Acked-by: Nguyen Thai Ngoc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
SZEDER Gábor [Mon, 19 Apr 2010 09:52:30 +0000 (11:52 +0200)]
reflog: remove 'show' from 'expire's usage string
Most of 'expire's options are not recognized by the 'show' subcommand,
hence it errors out.
Signed-off-by: SZEDER Gábor <szeder@ira.uka.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 19 Apr 2010 08:28:27 +0000 (01:28 -0700)]
Merge branch 'maint-1.6.6' into maint
* maint-1.6.6:
MSVC: Fix build by adding missing termios.h dummy
Johannes Sixt [Mon, 19 Apr 2010 07:37:20 +0000 (09:37 +0200)]
MSVC: Fix build by adding missing termios.h dummy
A use of this header file was introduced in
eb80042 (Add missing #include
to support TIOCGWINSZ on Solaris, 2010-01-11).
Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 19 Apr 2010 05:19:04 +0000 (22:19 -0700)]
Git 1.7.1-rc2
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 19 Apr 2010 04:32:25 +0000 (21:32 -0700)]
Merge branch 'rr/remote-helper-doc'
* rr/remote-helper-doc:
Documentation/remote-helpers: Fix typos and improve language
Fixup: Second argument may be any arbitrary string
Documentation/remote-helpers: Add invocation section
Documentation/urls: Rewrite to accomodate <transport>::<address>
Documentation/remote-helpers: Rewrite description
Junio C Hamano [Mon, 19 Apr 2010 04:32:21 +0000 (21:32 -0700)]
Merge branch 'wp/doc-filter-direction'
* wp/doc-filter-direction:
documentation: clarify direction of core.autocrlf
Junio C Hamano [Mon, 19 Apr 2010 04:31:50 +0000 (21:31 -0700)]
Merge branch 'jk/maint-diffstat-overflow'
* jk/maint-diffstat-overflow:
diff: use large integers for diffstat calculations
Junio C Hamano [Mon, 19 Apr 2010 04:31:29 +0000 (21:31 -0700)]
Merge branch 'jg/auto-initialize-notes-with-percent-n-in-format'
* jg/auto-initialize-notes-with-percent-n-in-format:
t3301: add tests to use --format="%N"
pretty: Initialize notes if %N is used
Junio C Hamano [Mon, 19 Apr 2010 04:31:20 +0000 (21:31 -0700)]
Merge branch 'maint'
* maint:
Documentation: Describe other situations where -z affects git diff
Junio C Hamano [Mon, 19 Apr 2010 01:36:41 +0000 (18:36 -0700)]
Merge git://git.kernel.org/pub/scm/gitk/gitk
* git://git.kernel.org/pub/scm/gitk/gitk:
gitk: Display dirty submodules correctly
gitk: Fix display of copyright symbol
gitk: Add emacs editor variable block
gitk: Avoid calling tk_setPalette on Windows
gitk: Don't clobber "Remember this view" setting
gitk: Add comments to explain encode_view_opts and decode_view_opts
gitk: Use consistent font for all text input fields
gitk: Set the font for all listbox widgets
gitk: Set the font for all spinbox widgets
gitk: Remove forced use of sans-serif font
gitk: Add Ctrl-W shortcut for closing the active window
Ramkumar Ramachandra [Sun, 18 Apr 2010 00:57:37 +0000 (06:27 +0530)]
Documentation/remote-helpers: Fix typos and improve language
Fix some typos and errors in grammar and tense.
Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Acked-by: Sverre Rabbelier <srabbelier@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Ramkumar Ramachandra [Sun, 18 Apr 2010 00:56:37 +0000 (06:26 +0530)]
Fixup: Second argument may be any arbitrary string
This is intended to be a fixup for commit
ad466d1 in pu. As Jonathan
Neider pointed out, the second argument may be any arbitrary string,
and need not conform to any URL-like shape.
Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Acked-by: Sverre Rabbelier <srabbelier@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Ramkumar Ramachandra [Wed, 7 Apr 2010 05:44:41 +0000 (11:14 +0530)]
Documentation/remote-helpers: Add invocation section
Add an 'Invocation' section to specify what the command line arguments
mean. Also include a link to git-remote in the 'See Also' section.
Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Acked-by: Sverre Rabbelier <srabbelier@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Ramkumar Ramachandra [Tue, 6 Apr 2010 08:38:19 +0000 (14:08 +0530)]
Documentation/urls: Rewrite to accomodate <transport>::<address>
Rewrite the first part of the document to explicitly show differences
between the URLs that can be used with different transport
protocols. Mention <transport>::<address> format to explicitly invoke
a remote helper.
Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Acked-by: Sverre Rabbelier <srabbelier@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Ramkumar Ramachandra [Sun, 28 Mar 2010 18:03:50 +0000 (23:33 +0530)]
Documentation/remote-helpers: Rewrite description
Rewrite the description section to describe what exactly remote
helpers are and the need for them. Also mention the curl family of
remote helpers as an example.
[jc: with readability fixes from Jonathan squashed in]
Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Acked-by: Sverre Rabbelier <srabbelier@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Charles Bailey [Sun, 18 Apr 2010 18:28:17 +0000 (19:28 +0100)]
Documentation: Describe other situations where -z affects git diff
-z also alters the behaviour of --name-only and --name-status.
Signed-off-by: Charles Bailey <charles@hashpling.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jeff King [Sun, 18 Apr 2010 12:01:45 +0000 (08:01 -0400)]
rebase-interactive: silence warning when no commits rewritten
If you do a "rebase -i" and don't change any commits,
nothing is rewritten, and we have no REWRITTEN_LIST. The
shell prints out an ugly message:
$ GIT_EDITOR=true git rebase -i HEAD^
/path/to/git-rebase--interactive: 1: cannot open
/path/to/repo/.git/rebase-merge/rewritten-list: No such file
Successfully rebased and updated refs/heads/master.
We can fix it by not running "notes copy" at all if nothing
was rewritten.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Sun, 18 Apr 2010 18:19:39 +0000 (11:19 -0700)]
t3301: add tests to use --format="%N"
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Sat, 17 Apr 2010 19:40:45 +0000 (12:40 -0700)]
Merge branch 'maint'
* maint:
t1010-mktree: Adjust expected result to code and documentation
combined diff: correctly handle truncated file
Document new "already-merged" rule for branch -d
Matthew Ogilvie [Sat, 17 Apr 2010 02:29:18 +0000 (20:29 -0600)]
t6006: do not write to /tmp
Signed-off-by: Matthew Ogilvie <mmogilvi_git@miniinfo.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Chris Webb [Thu, 15 Apr 2010 13:29:45 +0000 (14:29 +0100)]
git-instaweb: pass through invoking user's path to gitweb CGI scripts
When used with lighttpd or mongoose, git-instaweb previously passed a
hard-coded, default value of PATH to the gitweb CGI script. Use the invoking
user's value for PATH for this instead. (This is already implicitly the
behaviour for other web servers supported by git-instaweb.)
Signed-off-by: Chris Webb <chris@arachsys.com>
Acked-by: Eric Wong <normalperson@yhbt.net>
Junio C Hamano [Thu, 15 Apr 2010 12:57:18 +0000 (08:57 -0400)]
gitweb: simplify gitweb.min.* generation and clean-up rules
GITWEB_CSS and GITWEB_JS are meant to be "what URI should the installed
cgi script use to refer to the stylesheet and JavaScript", never "this
is the name of the file we are building". Don't use them to decide what
file to build minified versions in.
While we are at it, lose FILES that is used only for "clean" target in a
misguided way. "make clean" should try to remove all the potential
build artifacts regardless of a minor configuration change. Instead of
trying to remove only the build product "make clean" would have created
if it were run without "clean", explicitly list the three potential build
products for removal.
Tested-by: Mark Rada <marada@uwaterloo.co>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jonathan Nieder [Thu, 15 Apr 2010 09:36:25 +0000 (04:36 -0500)]
tag -v: use RUN_GIT_CMD to run verify-tag
This is the preferred way to run a git command.
The only obvious observable effects I can think of are that the exec
is properly reported in GIT_TRACE output and that verifying signed
tags will still work if the git-verify-tag hard link in gitexecdir
goes missing.
Helped-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Will Palmer [Sat, 17 Apr 2010 16:55:26 +0000 (17:55 +0100)]
documentation: clarify direction of core.autocrlf
The description for core.autocrlf refers to reads from / writes to
"the filesystem", the only use of this rather ambiguous term, which
technically could be referring to the git object database. (All other
mentions are part of phrases such as "..filesystems (like NFS)..").
Other sections, including the section on core.safecrlf, use the term
"work tree" for the same purpose as the term "the filesystem" is used in
the core.autocrlf section, so that seems like a good alternative, which
makes it clearer what direction the addition/removal of CR characters
occurs in.
Signed-off-by: Will Palmer <wmpalmer@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jeff King [Sat, 17 Apr 2010 17:41:08 +0000 (13:41 -0400)]
diff: use large integers for diffstat calculations
The diffstat "added" and "changed" fields generally store
line counts; however, for binary files, they store file
sizes. Since we store and print these values as ints, a
diffstat on a file larger than 2G can show a negative size.
Instead, let's use uintmax_t, which should be at least 64
bits on modern platforms.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Michael J Gruber [Thu, 15 Apr 2010 09:34:07 +0000 (11:34 +0200)]
t1010-mktree: Adjust expected result to code and documentation
The last two tests here were always supposed to fail in the sense
that, according to code and documentation, mktree should read non-recursive
ls-tree output, but not recursive one, and therefore explicitely refuses
to deal with slashes.
Adjust the test (must_fail) so that it succeeds when mktree dies on
slashes.
Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Thomas Rast [Thu, 15 Apr 2010 12:59:37 +0000 (14:59 +0200)]
combined diff: correctly handle truncated file
Consider an evil merge of two commits A and B, both of which have a
file 'foo', but the merge result does not have that file.
The combined-diff code learned in
4462731 (combine-diff: do not punt
on removed or added files., 2006-02-06) to concisely show only the
removal, since that is the evil part and the previous contents are
presumably uninteresting.
However, to diagnose an empty merge result, it overloaded the variable
that holds the file's length. This means that the check also triggers
for truncated files. Consequently, such files were not shown in the
diff at all despite the merge being clearly evil.
Fix this by adding a new variable that distinguishes whether the file
was deleted (which is the case
4462731 handled) or truncated. In the
truncated case, we show the full combined diff again, which is rather
spammy but at least does not hide the evilness.
Reported-by: David Martínez Martí <desarrollo@gestiweb.com>
Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jens Lehmann [Fri, 9 Apr 2010 20:16:42 +0000 (22:16 +0200)]
gitk: Display dirty submodules correctly
Since recently "git diff --submodule" prints out extra lines when the
submodule contains untracked or modified files. Show all those lines of
one submodule under the same header.
Also for newly added or removed submodules the submodule name contained
trailing garbage because the extraction of the name was not done right.
Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Jonathan Nieder [Thu, 15 Apr 2010 07:25:38 +0000 (02:25 -0500)]
Document new "already-merged" rule for branch -d
v1.7.0-rc0~18^2 (branch -d: base the "already-merged" safety on the
branch it merges with, 2009-12-29) taught ‘git branch’ a new heuristic
for when it is safe to delete a branch without forcing the issue. It
is safe to delete a branch "topic" without second thought if:
- the branch "topic" is set up to pull from a (remote-tracking,
usually) branch and is fully merged in that "upstream" branch, or
- there is no branch.topic.merge configuration and branch "topic" is
fully merged in the current HEAD.
Update the man page to acknowledge the new rules.
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jonathan Nieder [Thu, 15 Apr 2010 07:35:20 +0000 (02:35 -0500)]
Add .depend directories to .gitignore
The makefile snippets that would land in these directories are already
being ignored. Ignore the directories instead so they don’t show up
in ‘git clean -n’ output.
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 14 Apr 2010 01:21:29 +0000 (18:21 -0700)]
Merge branch 'maint'
* maint:
Documentation/config.txt: default gc.aggressiveWindow is 250, not 10
Docs: Add -X option to git-merge's synopsis.
Conflicts:
Documentation/merge-options.txt
Johannes Gilger [Tue, 13 Apr 2010 20:31:12 +0000 (22:31 +0200)]
pretty: Initialize notes if %N is used
When using git log --pretty='%N' without an explicit --show-notes, git
would segfault. This patches fixes this behaviour by loading the needed
notes datastructures if --pretty is used and the format contains %N.
When --pretty='%N' is used together with --no-notes, %N won't be
expanded.
This is an extension to a proposed patch by Jeff King.
Signed-off-by: Johannes Gilger <heipei@hackvalue.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jay Soffian [Tue, 13 Apr 2010 16:52:55 +0000 (12:52 -0400)]
Documentation/config.txt: default gc.aggressiveWindow is 250, not 10
The default for gc.aggressiveWindow has been 250 since
1c192f3
(gc --aggressive: make it really aggressive, 2007-12-06).
Signed-off-by: Jay Soffian <jaysoffian@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Marc Branchaud [Mon, 12 Apr 2010 16:28:13 +0000 (12:28 -0400)]
Docs: Add -X option to git-merge's synopsis.
Also move -X's description next to -s's in merge-options.txt.
This makes it easier to learn how to specify merge strategy options.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Sun, 11 Apr 2010 20:54:28 +0000 (13:54 -0700)]
Merge branch 'jl/maint-submodule-gitfile-awareness'
* jl/maint-submodule-gitfile-awareness:
Windows: start_command: Support non-NULL dir in struct child_process
Johannes Sixt [Sun, 11 Apr 2010 20:40:12 +0000 (22:40 +0200)]
Windows: start_command: Support non-NULL dir in struct child_process
A caller of start_command can set the member 'dir' to a directory to
request that the child process starts with that directory as CWD. The first
user of this feature was added recently in
eee49b6 (Teach diff --submodule
and status to handle .git files in submodules).
On Windows, we have been lazy and had not implemented support for this
feature, yet. This fixes the shortcoming.
Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>