gitweb.git
t3404 (rebase -i): move comment to descriptionJonathan Nieder Sun, 31 Oct 2010 07:39:51 +0000 (02:39 -0500)

t3404 (rebase -i): move comment to description

Add a comment describing the setup in t3404 to its --help output.

This should make it easier to decide where to put new functions
without disrupting the flow of the file or obstructing the description
of the test setup.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t3404 (rebase -i): unroll test_commit loopsJonathan Nieder Sun, 31 Oct 2010 07:38:25 +0000 (02:38 -0500)

t3404 (rebase -i): unroll test_commit loops

Allow test_commit failures in loop iterations before the last one to
cause the test assertion to fail.

More importantly, avoiding these loops makes the test a little
simpler to read and decreases the vertical screen footprint of
the setup test assertion by one line.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t3301 (notes): use test_expect_code for clarityJonathan Nieder Sun, 31 Oct 2010 07:36:57 +0000 (02:36 -0500)

t3301 (notes): use test_expect_code for clarity

Use the test_expect_code helper instead of open-coding it.

The main behavior change is to print the command and actual exit
status when the test fails. More importantly, this would make it
easier to add commands before "git notes show" as part of the
same test assertion if needed.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t1400 (update-ref): use test_must_failJonathan Nieder Sun, 31 Oct 2010 07:36:19 +0000 (02:36 -0500)

t1400 (update-ref): use test_must_fail

As t/README explains:

When a gitcommand dies due to a segfault, test_must_fail
diagnoses it as an error; "! git <command>" treats it as
just another expected failure, which would let such a bug
go unnoticed.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t1502 (rev-parse --parseopt): test exit code from "-h"Jonathan Nieder Sun, 31 Oct 2010 07:35:49 +0000 (02:35 -0500)

t1502 (rev-parse --parseopt): test exit code from "-h"

rev-parse --parseopt exits with code 129 (usage error) when asked
to dump usage with -h on behalf of another command. Scripts can
take advantage of this to avoid trying to parse usage information
as though it were the regular output from some git command.

Noticed with an &&-chaining tester.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t6022 (renaming merge): chain test commands with &&Jonathan Nieder Sun, 31 Oct 2010 07:34:44 +0000 (02:34 -0500)

t6022 (renaming merge): chain test commands with &&

Using 'return' in an attempt to end a test assertion can have
unpredictable results (probably escaping from test_run_ and breaking
its bookkeeping). Redo the control flow using helpers like
test_expect_code and git diff --exit-code, so each test assertion can
follow the usual form

command that should succeed &&
command that should succeed &&
command that should succeed &&
...

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

test-lib: introduce test_line_count to measure filesJonathan Nieder Sun, 31 Oct 2010 07:33:50 +0000 (02:33 -0500)

test-lib: introduce test_line_count to measure files

Some tests check their output with code like the following:

test "$(git ls-files -u B | wc -l)" -eq 3 || {
echo "BAD: should have left stages for B"
return 1
}

The verbose failure condition is used because test, unlike
diff, does not print any useful information about the
nature of the failure when it fails.

Introduce a test_line_count function to help. If used like

git ls-files -u B >output &&
test_line_count -eq 3 output

it will produce output like

test_line_count: line count for output !-eq 3
100644 b023018cabc396e7692c70bbf5784a93d3f738ab 2 hi.c
100644 45b983be36b73c0788dc9cbcb76cbb80fc7bb057 3 hi.c

on failure.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

tests: add missing &&, batch 2Jonathan Nieder Sun, 31 Oct 2010 07:30:58 +0000 (02:30 -0500)

tests: add missing &&, batch 2

Same rules as before: this patch only adds " &&" to the end of
some lines in the test suite.

Intended to be applied on top of or squashed with the last
batch if they look okay.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

tests: add missing &&Jonathan Nieder Sun, 31 Oct 2010 01:46:54 +0000 (20:46 -0500)

tests: add missing &&

Breaks in a test assertion's && chain can potentially hide
failures from earlier commands in the chain.

Commands intended to fail should be marked with !, test_must_fail, or
test_might_fail. The examples in this patch do not require that.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Introduce sane_unset and use it to ensure proper &... Elijah Newren Sun, 3 Oct 2010 20:00:14 +0000 (14:00 -0600)

Introduce sane_unset and use it to ensure proper && chaining

Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t7800 (difftool): add missing &&Elijah Newren Sun, 3 Oct 2010 20:00:12 +0000 (14:00 -0600)

t7800 (difftool): add missing &&

Also remove a call to 'git config --unset difftool.prompt', since that is
already unset by restore_test_defaults.

Acked-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t7601 (merge-pull-config): add missing &&Elijah Newren Sun, 3 Oct 2010 20:00:11 +0000 (14:00 -0600)

t7601 (merge-pull-config): add missing &&

Also prefix several relevant git merge commands with 'test_must_fail' to
keep the tests passing.

Acked-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t7001 (mv): add missing &&Elijah Newren Sun, 3 Oct 2010 20:00:10 +0000 (14:00 -0600)

t7001 (mv): add missing &&

Also, prefix an expected-to-fail git mv command with 'test_must_fail'.

Acked-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t6016 (rev-list-graph-simplify-history): add missing &&Elijah Newren Sun, 3 Oct 2010 20:00:09 +0000 (14:00 -0600)

t6016 (rev-list-graph-simplify-history): add missing &&

Also move repeated tag and branch deletions into a separate setup test, to
avoid failures from tags and branches having already been deleted.

Acked-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t5602 (clone-remote-exec): add missing &&Elijah Newren Sun, 3 Oct 2010 20:00:08 +0000 (14:00 -0600)

t5602 (clone-remote-exec): add missing &&

Also add a couple test_must_fail invocations where needed, and avoid
one-shot environment variable export and function calls.

Acked-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t4026 (color): remove unneeded and unchained commandElijah Newren Sun, 3 Oct 2010 20:00:07 +0000 (14:00 -0600)

t4026 (color): remove unneeded and unchained command

Ever since 8b12413 (color: allow multiple attributes 2010-02-27),
diff.color.new has been unused in t4026, so also remove the final unsetting
of that value to make the third to last test pass with appropriate
'&&' chaining.

Acked-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Acked-by: Jeff King <peff@peff.net>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t4019 (diff-wserror): add lots of missing &&Elijah Newren Sun, 3 Oct 2010 20:00:06 +0000 (14:00 -0600)

t4019 (diff-wserror): add lots of missing &&

Also add test_might_fail in front of the git_config --unset commands that
may be trying to unset a value that never got set (due to a previous
failing test) or that were already unset.

Acked-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t4202 (log): Replace '<git-command> || :' with test_mig... Elijah Newren Sun, 3 Oct 2010 20:00:04 +0000 (14:00 -0600)

t4202 (log): Replace '<git-command> || :' with test_might_fail

Acked-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t4002 (diff-basic): use test_might_fail for commands... Elijah Newren Sun, 3 Oct 2010 20:00:03 +0000 (14:00 -0600)

t4002 (diff-basic): use test_might_fail for commands that might fail

Also replace '|| return 1' by '&&' to allow chain of operations to be
checked for proper return status, and modify the update-index command
as suggested by Jonathan Nieder to not exit early but try to make sure
files that match the work tree are marked as matching.

Acked-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t100[12] (read-tree-m-2way, read_tree_m_u_2way): add... Elijah Newren Sun, 3 Oct 2010 20:00:02 +0000 (14:00 -0600)

t100[12] (read-tree-m-2way, read_tree_m_u_2way): add missing &&

Also, replace "|| return 1" with "&&" in order to keep commands chained.

Acked-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t4017 (diff-retval): replace manual exit code check... Elijah Newren Sun, 3 Oct 2010 20:00:01 +0000 (14:00 -0600)

t4017 (diff-retval): replace manual exit code check with test_expect_code

This commit takes advantage of Ævar Arnfjörð Bjarmason's recent change
to test_expect_code (test-lib: make test_expect_code a test command) to
simplify several testcases.

Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

test-lib: make test_expect_code a test commandÆvar Arnfjörð Bjarmason Sun, 3 Oct 2010 19:59:59 +0000 (13:59 -0600)

test-lib: make test_expect_code a test command

Change test_expect_code to be a normal test command instead of a
top-level command.

As a top-level command it would fail in cases like:

test_expect_code 1 'phoney' '
foo && bar && (exit 1)
'

Here the test might incorrectly succeed if "foo" or "bar" happened to
fail with exit status 1. Instead we now do:

test_expect_success 'phoney' '
foo && bar && test_expect_code 1 "(exit 1)"
'

Which will only succeed if "foo" and "bar" return status 0, and "(exit
1)" returns status 1. Note that test_expect_code has been made slightly
noisier, as it reports the exit code it receives even upon success.

Some test code in t0000-basic.sh relied on the old semantics of
test_expect_code to test the test_when_finished command. I've
converted that code to use an external test similar to the TODO test I
added in v1.7.3-rc0~2^2~3.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Acked-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Documentation/git-clone: describe --mirror more verboselyUwe Kleine-König Mon, 4 Oct 2010 17:28:27 +0000 (19:28 +0200)

Documentation/git-clone: describe --mirror more verbosely

Some people in #linux-rt noticed that describing what "--mirror" option does
with "it mirrors" is way insufficient.

Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Darren 'Some People' Hart <darren@dvhart.com>
Cc: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

do not depend on signed integer overflowErik Faye-Lund Tue, 5 Oct 2010 07:24:10 +0000 (09:24 +0200)

do not depend on signed integer overflow

Signed integer overflow is not defined in C, so do not depend on it.

This fixes a problem with GCC 4.4.0 and -O3 where the optimizer would
consider "consumed_bytes > consumed_bytes + bytes" as a constant
expression, and never execute the die()-call.

Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Acked-by: Nicolas Pitre <nico@fluxnic.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

work around buggy S_ISxxx(m) implementationsRené Scharfe Mon, 4 Oct 2010 10:53:11 +0000 (12:53 +0200)

work around buggy S_ISxxx(m) implementations

There are buggy implementations of S_ISxxx(m) macros on some platforms
(e.g. NetBSD). The issue is that NetBSD doesn't take care to wrap its
macro arguments in parentheses, so on Linux and sane systems we have
S_ISREG(m) defined as something like:

(((m) & S_IFMT) == S_IFREG)

But on NetBSD:

((m & _S_IFMT) == _S_IFREG)

Since a caller in builtin/diff.c called our macro as `S_IFREG | 0644'
this bug introduced a logic error on NetBSD, since the precedence of
bit-wise & is higher than | in C.

[jc: took change description from Ævar Arnfjörð Bjarmason's patch]

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

xdiff: cast arguments for ctype functions to unsigned... Jonathan Nieder Mon, 4 Oct 2010 09:09:17 +0000 (04:09 -0500)

xdiff: cast arguments for ctype functions to unsigned char

The ctype functions isspace(), isalnum(), et al take an integer
argument representing an unsigned character, or -1 for EOF. On
platforms with a signed char, it is unsafe to pass a char to them
without casting it to unsigned char first.

Most of git is already shielded against this by the ctype
implementation in git-compat-util.h, but xdiff, which uses libc
ctype.h, ought to be fixed.

Noticed-by: der Mouse <mouse@Rodents-Montreal.ORG>
Reported-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

init: plug tiny one-time memory leakJonathan Nieder Mon, 4 Oct 2010 04:34:27 +0000 (23:34 -0500)

init: plug tiny one-time memory leak

The buffer used to construct paths like ".git/objects/info" and
".git/objects/pack" is allocated on the heap and never freed.

So free it. While at it, factor out the relevant code into its own
function and rename the sha1_dir variable to object_directory (to
match the change in everyday usage after the renaming of
SHA1_FILE_DIRECTORY in v0.99~603^2~7, 2005).

Noticed by valgrind while setting up tests (in test-lib).

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

diffcore-pickaxe.c: remove unnecessary curly bracesBrandon Casey Mon, 4 Oct 2010 22:51:47 +0000 (17:51 -0500)

diffcore-pickaxe.c: remove unnecessary curly braces

Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge early part of git-svn into maintJunio C Hamano Tue, 5 Oct 2010 15:36:10 +0000 (08:36 -0700)

Merge early part of git-svn into maint

* commit 'git-svn/master~1':
git-svn: fix processing of decorated commit hashes
git-svn: check_cherry_pick should exclude commits already in our history
Documentation/git-svn: discourage "noMetadata"

t3020 (ls-files-error-unmatch): remove stray '1' from... Elijah Newren Sun, 3 Oct 2010 20:00:00 +0000 (14:00 -0600)

t3020 (ls-files-error-unmatch): remove stray '1' from end of file

Acked-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

setup: make sure git dir path is in a permanent bufferJonathan Nieder Sat, 2 Oct 2010 08:36:52 +0000 (03:36 -0500)

setup: make sure git dir path is in a permanent buffer

If setup_git_env() is run before the usual repository discovery
sequence and .git is a file with the text

gitdir: <path>

(with <path> any string) then the in-core git_dir variable is set to
the result of converting <path> to an absolute path using
make_absolute_path().

Unfortunately make_absolute_path() returns its result in a static
buffer that is overwritten by later calls. Such a call could cause
later accesses to git_dir (from git_pathdup(), for example) to read
the wrong path, leaving git very confused.

It is not obvious whether any existing code in git will trigger the
problem, but in any case, it is worth a few dozen bytes to copy the
return value from make_absolute_path() for some added peace of mind.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

environment.c: remove unused variableJonathan Nieder Sat, 2 Oct 2010 08:35:29 +0000 (03:35 -0500)

environment.c: remove unused variable

After v1.6.0-rc0~230^2^ (environment.c: remove unused function,
2008-06-19), git_refs_dir is not used any more.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Fix typo in pack-objects' usageJohannes Schindelin Wed, 29 Sep 2010 22:22:33 +0000 (23:22 +0100)

Fix typo in pack-objects' usage

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Make sure that git_getpass() never returns NULLJohannes Schindelin Wed, 29 Sep 2010 22:22:32 +0000 (23:22 +0100)

Make sure that git_getpass() never returns NULL

The result of git_getpass() is used without checking for NULL, so let's
just die() instead of returning NULL.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t0004 (unwritable files): simplify error handlingJonathan Nieder Tue, 7 Sep 2010 01:50:17 +0000 (20:50 -0500)

t0004 (unwritable files): simplify error handling

Instead of

... normal test script ...
status=$?
... cleanup ...
(exit $status)

set up cleanup commands with test_when_finished. This makes the
test script a little shorter, and more importantly, it ensures errors
during cleanup are reported.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

rev-list-options: clarify --parents and --childrenMichael J Gruber Thu, 30 Sep 2010 15:31:43 +0000 (17:31 +0200)

rev-list-options: clarify --parents and --children

Make it clearer that --parents resp. --children list the parent resp.
child commits next to each commit, so that I understand next time.

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

MinGW: avoid collisions between "tags" and "TAGS"Junio C Hamano Tue, 28 Sep 2010 21:08:38 +0000 (16:08 -0500)

MinGW: avoid collisions between "tags" and "TAGS"

On case insensitive filesystems, "tags" and "TAGS" target will try to
overwrite the same file. Allow MinGW to use "ETAGS" instead.

These two targets do produce real files; do not put them on .PHONY target
list.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

diff: trivial fix for --output file error messageMatthieu Moy Wed, 29 Sep 2010 07:26:23 +0000 (09:26 +0200)

diff: trivial fix for --output file error message

The option argument is either after the equal sign in --output=... or in
the next command-line argument. optarg is the reliable way to access it.

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

user-manual: fix anchor name Finding-comments-With... Michael J Gruber Tue, 28 Sep 2010 11:16:07 +0000 (13:16 +0200)

user-manual: fix anchor name Finding-comments-With-given-Content

Change the anchor name to

Finding-commits-With-given-Content

so that it corresponds to the actual content there.

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

user-manual: be consistent in illustrations to 'git... Kirill Smelkov Tue, 28 Sep 2010 08:20:24 +0000 (12:20 +0400)

user-manual: be consistent in illustrations to 'git rebase'

Since we use a-b-c for mywork commits in one place, I think it would be
logical to also use a-b-c too in other illustration on this topic.

Signed-off-by: Kirill Smelkov <kirr@mns.spb.ru>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

stash: simplify parsing fixesJon Seymour Mon, 27 Sep 2010 15:32:45 +0000 (01:32 +1000)

stash: simplify parsing fixes

This patch simplifies Brian's fix for the recent regression by:

* eliminating the extra loop
* eliminating use of git rev-parse for parsing flags
* making use of the for opt idiom for the retained loop
* eliminating the redundant -- case

The patch has been tested with the tests in current maint.

Signed-off-by: Jon Seymour <jon.seymour@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Git 1.7.3.1 v1.7.3.1Junio C Hamano Wed, 29 Sep 2010 16:42:53 +0000 (09:42 -0700)

Git 1.7.3.1

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

stash: fix git stash branch regression when branch... Jon Seymour Tue, 28 Sep 2010 13:19:52 +0000 (23:19 +1000)

stash: fix git stash branch regression when branch creation fails

"git stash branch <branch> <stash>" started discarding the stash
when the branch creation fails. It should have kept the stash
intact when aborting.

Signed-off-by: Jon Seymour <jon.seymour@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

stash drops the stash even if creating the branch fails... Tomas Carnecky Tue, 28 Sep 2010 13:19:51 +0000 (23:19 +1000)

stash drops the stash even if creating the branch fails because it already exists

This bug was disovered by someone on IRC when he tried to

$ git stash branch <branch> <stash>

while <branch> already existed. In that case the stash is dropped even
though it isn't applied on any branch, so the stash is effectively lost.

Signed-off-by: Tomas Carnecky <tom@dbservice.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Fix missing 'does' in man-page for 'git checkout'Linus Torvalds Mon, 27 Sep 2010 19:14:57 +0000 (12:14 -0700)

Fix missing 'does' in man-page for 'git checkout'

Reported-by: Rainer Standke <rainer.standke@krankikom.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

dir.c: squelch false uninitialized memory warningPat Notz Thu, 16 Sep 2010 20:53:22 +0000 (14:53 -0600)

dir.c: squelch false uninitialized memory warning

GCC 4.4.4 on MacOS incorrectly warns about potential use of uninitialized memory.

Signed-off-by: Pat Notz <patnotz@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-send-email.perl: ensure $domain is defined before... Brandon Casey Mon, 27 Sep 2010 03:18:01 +0000 (22:18 -0500)

git-send-email.perl: ensure $domain is defined before using it

valid_fqdn() may attempt to operate on an undefined value if
Net::Domain::domainname fails to determine the domain name. This causes
perl to emit unpleasant warnings.

So, add a check for whether $domain has been defined before using it.

Signed-off-by: Brandon Casey <drafnel@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

wt-status.c: don't leak directory entries when processi... Brandon Casey Mon, 27 Sep 2010 02:49:13 +0000 (21:49 -0500)

wt-status.c: don't leak directory entries when processing untracked,ignored

When iterating through the list of directory entries, searching for
untracked entries, only the entries added to the string_list were free'd.
The rest (tracked or not matching the pathspec) were leaked.

Ditto for the "ignored" loop.

Rearrange the loops so that all entries are free'd.

Signed-off-by: Brandon Casey <drafnel@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t6050 (replace): fix bogus "fetch branch with replaceme... Christian Couder Sun, 26 Sep 2010 05:20:18 +0000 (07:20 +0200)

t6050 (replace): fix bogus "fetch branch with replacement" test

The test was missing some "&&" at the end of some lines and it
was wrong because, as the replacement refs were not fetched,
the commits from the parallel branch should not show up. This
was found by Elijah Newren.

This is fixed by checking that after the branch from HASH6 is
fetched, the commits from the parallel branch don't show up,
and then by fetching the replacement refs and checking that
they do show up afterwards.

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Documentation: Refer to git-commit-tree in git-filter... Wesley J. Landaker Mon, 13 Sep 2010 14:59:54 +0000 (08:59 -0600)

Documentation: Refer to git-commit-tree in git-filter-branch help

Currently, the help for git filter-branch refers users of --env-filter
to git-commit for information about environment variables affecting
commits. However, this information is not contained in the git-commit
help, but is very explicitly detailed in git-commit-tree.

Signed-off-by: Wesley J. Landaker <wjl@icecavern.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

update comment and documentation for :/foo syntaxMatthieu Moy Fri, 24 Sep 2010 16:43:59 +0000 (18:43 +0200)

update comment and documentation for :/foo syntax

The documentation in revisions.txt did not match the implementation, and
the comment in sha1_name.c was incomplete.

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Improvements to `git checkout -h`Daniel Knittl-Frank Fri, 24 Sep 2010 16:21:59 +0000 (18:21 +0200)

Improvements to `git checkout -h`

be a little more verbose about what each option does

Signed-off-by: Daniel Knittl-Frank <knittl89+git@googlemail.com>
Reviewed-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

contrib/completion: --no-index option to git diffMichael J Gruber Thu, 23 Sep 2010 12:33:51 +0000 (14:33 +0200)

contrib/completion: --no-index option to git diff

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

prefer test -h over test -L in shell scriptsJeff King Wed, 22 Sep 2010 00:35:59 +0000 (20:35 -0400)

prefer test -h over test -L in shell scripts

Even though "-L" is POSIX, the former is more portable, and
we tend to prefer it already.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

CodingGuidelines: spell Arithmetic Expansion with ... Junio C Hamano Wed, 22 Sep 2010 19:15:37 +0000 (12:15 -0700)

CodingGuidelines: spell Arithmetic Expansion with $(($var))

POSIX wants shells to support both "N" and "$N" and requires them to yield
the same answer to $((N)) and $(($N)), but we should aim for portability
in a case like this, especially when the price we pay to do so is so
small, i.e. a few extra dollars.

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

t1503: Fix arithmetic expansion syntax error when using... Ramsay Jones Tue, 21 Sep 2010 17:45:09 +0000 (18:45 +0100)

t1503: Fix arithmetic expansion syntax error when using dash

On systems which have dash as /bin/sh, such as Ubuntu, the final
test (master@{n} for various n) fails with a syntax error while
processing an arithmetic expansion. The syntax error is caused by
using a bare name ('N') as a variable reference in the expression.

In order to avoid the syntax error, we spell the variable reference
as '$N' rather than simply 'N'.

Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

strbuf.h: fix comment typoPat Notz Thu, 16 Sep 2010 20:53:23 +0000 (14:53 -0600)

strbuf.h: fix comment typo

Signed-off-by: Pat Notz <patnotz@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-stash: fix flag parsingBrian Gernhardt Fri, 24 Sep 2010 22:15:34 +0000 (18:15 -0400)

git-stash: fix flag parsing

Currently git-stash uses `git rev-parse --no-revs -- "$@"` to set its
FLAGS variable. This is the same as `FLAGS="-- $@"`. It should use
`git rev-parse --no-revs --flags "$@"`, but that eats any "-q" or
"--quiet" argument. So move the check for quiet before rev-parse.

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

t/t3903-stash: improve testing of git-stash showBrandon Casey Fri, 24 Sep 2010 20:40:38 +0000 (15:40 -0500)

t/t3903-stash: improve testing of git-stash show

Recently, the 'stash show' functionality was broken for the case when a
stash-like argument was supplied. Since, commit 9bf09e, 'stash show' when
supplied a stash-like argument prints nothing and still exists with a zero
status. Unfortunately, the flaw slipped through the test suite cracks
since the output of 'stash show' was not verified to be correct.

Improve and expand on the existing tests so that this flaws is detected.

Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-svn: fix processing of decorated commit hashesMathias Lafeldt Thu, 23 Sep 2010 22:05:03 +0000 (00:05 +0200)

git-svn: fix processing of decorated commit hashes

The function working_head_info() fails to parse commit hashes if they
are decorated (i.e. log.decorate is true), causing dcommit, rebase, and
other vital git-svn commands to malfunction.

This patch disables decorated log output with --no-decorate.

[ew: wrapped long line]

Signed-off-by: Mathias Lafeldt <misfire@debugon.org>
Acked-by: Eric Wong <normalperson@yhbt.net>

git-svn: check_cherry_pick should exclude commits alrea... Steven Walter Thu, 2 Sep 2010 22:32:06 +0000 (18:32 -0400)

git-svn: check_cherry_pick should exclude commits already in our history

The merge-base between @$parents and $merge_tip may have been reached
through a merge commit. This means that some commits that are ancestors
of @$parents will not be ancestors of $merge_base. The mergeinfo
property will not list commits that are ancestors of @$parents, so we
need to explicitly exclude them.

[ew: squashed and cleaned up test case from Steven]

Signed-off-by: Steven Walter <stevenrwalter@gmail.com>
Acked-by: Eric Wong <normalperson@yhbt.net>

Documentation/git-svn: discourage "noMetadata"Eric Wong Sat, 21 Aug 2010 18:52:14 +0000 (18:52 +0000)

Documentation/git-svn: discourage "noMetadata"

"noMetadata" is a sometimes harmful option, so better document
its behavior and limitations.

Suggested-by: Vadim Zeitlin
Signed-off-by: Eric Wong <normalperson@yhbt.net>

Git 1.7.3 v1.7.3Junio C Hamano Sat, 18 Sep 2010 21:55:08 +0000 (14:55 -0700)

Git 1.7.3

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

Merge branch 'js/ls-files-x-doc'Junio C Hamano Sat, 18 Sep 2010 21:46:44 +0000 (14:46 -0700)

Merge branch 'js/ls-files-x-doc'

* js/ls-files-x-doc:
ls-files documentation: reword for consistency
git-ls-files.txt: clarify -x/--exclude option

Conflicts:
Documentation/git-ls-files.txt

git-rebase--interactive.sh: replace cut with ${v%% *}Chris Johnsen Fri, 17 Sep 2010 21:42:51 +0000 (16:42 -0500)

git-rebase--interactive.sh: replace cut with ${v%% *}

Some versions of cut do not cope well with lines that do not end in
an LF. In this case, we can completely avoid cut by using the
${var%% *} parameter expansion (suggested by Brandon Casey).

I found this problem when t3404's "avoid unnecessary reset" failed
due to the "rebase -i" not avoiding updating the tested timestamp.

On a Mac OS X 10.4.11 system:

% printf '%s' 'foo bar' | /usr/bin/cut -d ' ' -f 1
cut: stdin: Illegal byte sequence

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

t/t7300: workaround ancient touch by rearranging argumentsBrandon Casey Wed, 15 Sep 2010 20:58:22 +0000 (15:58 -0500)

t/t7300: workaround ancient touch by rearranging arguments

The ancient touch on Solaris 7 thinks that a decimal number supplied as
the first argument specifies a date_time to give to the files specified by
the remaining arguments. In this case, it fails to parse '1' as a proper
date_time and exits with a failure status. Workaround this flaw by
rearranging the arguments supplied to touch so that a non-digit appears
first and touch will not be confused.

Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'bg/fix-t7003'Junio C Hamano Thu, 16 Sep 2010 14:43:41 +0000 (07:43 -0700)

Merge branch 'bg/fix-t7003'

* bg/fix-t7003:
t7003: Use test_commit instead of custom function

ls-files documentation: reword for consistencyJunio C Hamano Thu, 16 Sep 2010 00:34:20 +0000 (17:34 -0700)

ls-files documentation: reword for consistency

Similar to descriptions of other options, state what -x does in imperative
mood. Start sentences for -X and --exclude-per-directory options in
capital letters.

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

git-ls-files.txt: clarify -x/--exclude optionJay Soffian Wed, 15 Sep 2010 23:56:48 +0000 (19:56 -0400)

git-ls-files.txt: clarify -x/--exclude option

Since b5227d8, -x/--exclude does not apply to cached files.
This is easy to miss unless you read the discussion in the
EXCLUDE PATTERNS section. Clarify that the option applies
to untracked files and direct the reader to EXCLUDE PATTERNS.

Signed-off-by: Jay Soffian <jaysoffian@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Git 1.7.3 rc2 v1.7.3-rc2Junio C Hamano Wed, 15 Sep 2010 19:47:37 +0000 (12:47 -0700)

Git 1.7.3 rc2

Merge branch 'dr/maint-ls-tree-prefix-recursion-fix'Junio C Hamano Wed, 15 Sep 2010 19:41:13 +0000 (12:41 -0700)

Merge branch 'dr/maint-ls-tree-prefix-recursion-fix'

* dr/maint-ls-tree-prefix-recursion-fix:
ls-tree $di $dir: do not mistakenly recurse into directories

Merge branch 'os/fix-rebase-diff-no-prefix'Junio C Hamano Wed, 15 Sep 2010 19:40:33 +0000 (12:40 -0700)

Merge branch 'os/fix-rebase-diff-no-prefix'

* os/fix-rebase-diff-no-prefix:
Add --src/dst-prefix to git-formt-patch in git-rebase.sh

Merge branch 'jl/fix-test'Junio C Hamano Wed, 15 Sep 2010 19:40:12 +0000 (12:40 -0700)

Merge branch 'jl/fix-test'

* jl/fix-test:
t1020: Get rid of 'cd "$HERE"' at the start of each test
t2016 (checkout -p): add missing &&
t1302 (core.repositoryversion): style tweaks
t2105 (gitfile): add missing &&
t1450 (fsck): remove dangling objects
tests: subshell indentation stylefix
Several tests: cd inside subshell instead of around

Merge branch 'ch/filter-branch-deprecate-remap-to-ancestor'Junio C Hamano Wed, 15 Sep 2010 19:39:32 +0000 (12:39 -0700)

Merge branch 'ch/filter-branch-deprecate-remap-to-ancestor'

* ch/filter-branch-deprecate-remap-to-ancestor:
filter-branch: retire --remap-to-ancestor

Merge branch 'ch/maint-cannot-create-bundle-error'Junio C Hamano Wed, 15 Sep 2010 19:39:22 +0000 (12:39 -0700)

Merge branch 'ch/maint-cannot-create-bundle-error'

* ch/maint-cannot-create-bundle-error:
bundle: detect if bundle file cannot be created

Merge branch 'ks/recursive-rename-add-identical'Junio C Hamano Wed, 15 Sep 2010 19:39:12 +0000 (12:39 -0700)

Merge branch 'ks/recursive-rename-add-identical'

* ks/recursive-rename-add-identical:
RE: [PATCH] Avoid rename/add conflict when contents are identical

Merge git://repo.or.cz/git-guiJunio C Hamano Wed, 15 Sep 2010 19:34:37 +0000 (12:34 -0700)

Merge git://repo.or.cz/git-gui

* 'master' of git://repo.or.cz/git-gui:
git-gui 0.13
git-gui: avoid mis-encoding the copyright message on Windows.
git-gui: Update Swedish translation (521t).
git-gui: ensure correct application termination in git-gui--askpass
git-gui: handle textconv filter on Windows and in development
git-gui: use shell to launch textconv filter in "blame"
git-gui: display error launching blame as a message box.
git-gui: Make usage statement visible on Windows.

git-gui 0.13 gitgui-0.13.0Pat Thoyts Tue, 14 Sep 2010 21:42:37 +0000 (22:42 +0100)

git-gui 0.13

Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>

git-gui: avoid mis-encoding the copyright message on... Pat Thoyts Mon, 13 Sep 2010 19:41:42 +0000 (20:41 +0100)

git-gui: avoid mis-encoding the copyright message on Windows.

On Windows the tcl script file will use the system encoding and attempting
to convert the copyright mis-encodes the string. Instead, keep the message
as ASCII and substitute in the correct unicode character when running.

Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>

git-gui: Update Swedish translation (521t).Peter Krefting Sun, 12 Sep 2010 20:13:29 +0000 (21:13 +0100)

git-gui: Update Swedish translation (521t).

Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>

t7003: Use test_commit instead of custom functionBrian Gernhardt Fri, 10 Sep 2010 22:06:36 +0000 (18:06 -0400)

t7003: Use test_commit instead of custom function

t7003-filter-branch.sh had a make_commit() function that was identical
to test_commit() in test-lib.sh except that it used tr to create a
lowercase file name from the uppercase branch name instead of
appending ".t".

Not only is this unneeded code duplication, it also was something
simply waiting to fail on case-insensitive file systems. So replace
all uses of make_commit with test_commit.

While we're editing the setup, chain it together with && so that
failures early in the sequence don't get lost and add a commit graph.

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

Merge branch 'maint'Junio C Hamano Sun, 12 Sep 2010 20:53:03 +0000 (13:53 -0700)

Merge branch 'maint'

* maint:
t3101: modernise style
compat/nedmalloc: don't force NDEBUG on the rest of git

Conflicts:
Makefile

ls-tree $di $dir: do not mistakenly recurse into direct... Junio C Hamano Sat, 11 Sep 2010 18:47:09 +0000 (11:47 -0700)

ls-tree $di $dir: do not mistakenly recurse into directories

When applying two pathspecs, one of which is named as a prefix to the
other, we mistakenly recursed into the shorter one.

Noticed and fixed by David Reis.

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

t3101: modernise styleJunio C Hamano Sat, 11 Sep 2010 17:53:29 +0000 (10:53 -0700)

t3101: modernise style

Also add a few " &&" cascade that were missing.

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

vcs-svn: Fix some printf format compiler warningsRamsay Jones Thu, 9 Sep 2010 17:24:06 +0000 (18:24 +0100)

vcs-svn: Fix some printf format compiler warnings

In particular, on systems that define uint32_t as an unsigned long,
gcc complains as follows:

CC vcs-svn/fast_export.o
vcs-svn/fast_export.c: In function `fast_export_modify':
vcs-svn/fast_export.c:28: warning: unsigned int format, uint32_t arg (arg 2)
vcs-svn/fast_export.c:28: warning: int format, uint32_t arg (arg 3)
vcs-svn/fast_export.c: In function `fast_export_commit':
vcs-svn/fast_export.c:42: warning: int format, uint32_t arg (arg 5)
vcs-svn/fast_export.c:62: warning: int format, uint32_t arg (arg 2)
vcs-svn/fast_export.c: In function `fast_export_blob':
vcs-svn/fast_export.c:72: warning: int format, uint32_t arg (arg 2)
vcs-svn/fast_export.c:72: warning: int format, uint32_t arg (arg 3)
CC vcs-svn/svndump.o
vcs-svn/svndump.c: In function `svndump_read':
vcs-svn/svndump.c:260: warning: int format, uint32_t arg (arg 3)

In order to suppress the warnings we use the C99 format specifier
macros PRIo32 and PRIu32 from <inttypes.h>.

Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Acked-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

compat/nedmalloc: don't force NDEBUG on the rest of gitRené Scharfe Sat, 11 Sep 2010 09:59:18 +0000 (11:59 +0200)

compat/nedmalloc: don't force NDEBUG on the rest of git

Define the nedmalloc feature configuration macros for nedmalloc.o, only.
This keeps assert(3) working for the rest of the git source; it was
turned off for nedmalloc users before by defining NDEBUG globally.

Also remove -DUSE_NED_ALLOCATOR as this macro isn't used anywhere.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Git 1.7.3 rc1 v1.7.3-rc1Junio C Hamano Fri, 10 Sep 2010 18:55:55 +0000 (11:55 -0700)

Git 1.7.3 rc1

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

Merge branch 'np/relnotes-in-subdir'Junio C Hamano Fri, 10 Sep 2010 18:54:58 +0000 (11:54 -0700)

Merge branch 'np/relnotes-in-subdir'

* np/relnotes-in-subdir:
install-webdoc: keep installed RelNotes-*.txt
Documentation: move RelNotes into a directory of their own

Prepare for 1.7.3 rc1Junio C Hamano Fri, 10 Sep 2010 18:54:34 +0000 (11:54 -0700)

Prepare for 1.7.3 rc1

Merge branch 'maint'Junio C Hamano Fri, 10 Sep 2010 16:39:08 +0000 (09:39 -0700)

Merge branch 'maint'

* maint:
config.txt: fix placement of diff.noprefix

config.txt: fix placement of diff.noprefixMark Lodato Fri, 10 Sep 2010 01:39:37 +0000 (21:39 -0400)

config.txt: fix placement of diff.noprefix

In git-config(1), diff.noprefix was placed in between
diff.mnemonicprefix and the list of mnemonic prefixes, which is
obviously incorrect and very confusing to readers. Now, it is located
after the end of the explanation of mnemonicprefix, which makes much
more sense.

Signed-off-by: Mark Lodato <lodatom@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t/t4018: avoid two unnecessary sub-shell invocationsBrandon Casey Fri, 10 Sep 2010 16:13:38 +0000 (11:13 -0500)

t/t4018: avoid two unnecessary sub-shell invocations

Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint'Junio C Hamano Fri, 10 Sep 2010 00:29:40 +0000 (17:29 -0700)

Merge branch 'maint'

* maint:
xdiff-interface.c: always trim trailing space from xfuncname matches
diff.c: call regfree to free memory allocated by regcomp when necessary

t/t4018: test whether the word_regex patterns compileBrandon Casey Thu, 9 Sep 2010 19:02:47 +0000 (14:02 -0500)

t/t4018: test whether the word_regex patterns compile

Previously (e3bf5e43), a test was added to test whether the builtin
xfuncname regular expressions could be compiled without error by regcomp.
Let's do the same for the word_regex patterns. This should help catch any
cross-platform incompatibilities that exist between the pattern creator's
system and the various platforms that the test suite is commonly run on.

Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

xdiff-interface.c: always trim trailing space from... Brandon Casey Thu, 9 Sep 2010 19:02:46 +0000 (14:02 -0500)

xdiff-interface.c: always trim trailing space from xfuncname matches

Generally, trailing space is removed from the string matched by the
xfuncname patterns. The exception is when the matched string exceeds the
length of the fixed-size buffer that it will be copied in to. But, a
string that exceeds the buffer can still contain trailing space in the
portion of the string that will be copied into the buffer. So, simplify
this code slightly, and just perform the trailing space removal always.

Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

diff.c: call regfree to free memory allocated by regcom... Brandon Casey Thu, 9 Sep 2010 19:02:45 +0000 (14:02 -0500)

diff.c: call regfree to free memory allocated by regcomp when necessary

Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t/t5510-fetch.sh: improve testing with explicit URL... Brandon Casey Thu, 9 Sep 2010 18:56:37 +0000 (13:56 -0500)

t/t5510-fetch.sh: improve testing with explicit URL and merge spec

Commit 6106ce46 introduced a test to demonstrate fetch's failure to
retrieve any objects or update FETCH_HEAD when it was supplied a repository
URL and the current branch had a configured merge spec. This commit
expands the original test based on comments from Junio Hamano. In addition
to actually verifying that the fetch updates FETCH_HEAD correctly, and does
not update the current branch, two more tests are added to ensure that the
merge configuration is ignored even when the supplied URL matches the URL
of the remote configured for the branch.

Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

builtin/fetch.c: comment that branch->remote_name is... Brandon Casey Thu, 9 Sep 2010 18:56:36 +0000 (13:56 -0500)

builtin/fetch.c: comment that branch->remote_name is usable when has_merge

Save future readers the trouble of tracing code to determine that the two
uses of branch->remote_name are safe when has_merge is set, by adding a
comment explaining that it is so.

Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Makefile: use compat regex on IRIX 6.5Brandon Casey Thu, 9 Sep 2010 19:15:58 +0000 (14:15 -0500)

Makefile: use compat regex on IRIX 6.5

The IRIX 6.5 regex.h header file defines REG_STARTEND, but the feature does
not appear to work. Since REG_STARTEND is required for proper functioning
of git-grep, set NO_REGEX and use the alternative regex libraries in compat/

Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t/t7008: workaround broken handling of \000 by printf... Brandon Casey Thu, 9 Sep 2010 19:15:57 +0000 (14:15 -0500)

t/t7008: workaround broken handling of \000 by printf on IRIX

On IRIX 6.5, the printf utility in /usr/bin does not appear to handle the
\ddd notation according to POSIX. This printf appears to halt processing
of the string argument and ignore any additional characters in the string.
Work around this flaw by replacing the \000's with 'Q' and using the
q_to_nul helper function provided by test-lib.sh

This problem with printf is not apparent when using the Bash shell since
Bash implements a POSIX compatible printf function internally.

Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: Junio C Hamano <gitster@pobox.com>