gitweb.git
git submodule: ignore dirty submodules for summary... Jens Lehmann Fri, 25 Jun 2010 14:56:02 +0000 (16:56 +0200)

git submodule: ignore dirty submodules for summary and status

The summary and status commands only care about submodule commits, so it is
rather pointless that they check for dirty work trees. This saves the time
needed to scan the submodules work tree. Even "git status" profits from these
savings when the status.submodulesummary config option is set, as this lead to
traversing the submodule work trees twice, once for status and once again for
the submodule summary. And if the submodule was just dirty, submodule summary
produced rather meaningless output anyway:

* sub 1234567...1234567 (0):

Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

msvc: Fix some compiler warningsRamsay Jones Wed, 23 Jun 2010 19:47:50 +0000 (20:47 +0100)

msvc: Fix some compiler warnings

In particular, using the normal (or production) compiler
warning level (-W3), msvc complains as follows:

.../sha1.c(244) : warning C4018: '<' : signed/unsigned mismatch
.../sha1.c(270) : warning C4244: 'function' : conversion from \
'unsigned __int64' to 'unsigned long', possible loss of data
.../sha1.c(271) : warning C4244: 'function' : conversion from \
'unsigned __int64' to 'unsigned long', possible loss of data

Note that gcc issues a similar complaint about line 244 when
compiling with -Wextra.

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

t4027,4041: Use test -s to test for an empty fileBrian Gernhardt Fri, 25 Jun 2010 17:20:48 +0000 (13:20 -0400)

t4027,4041: Use test -s to test for an empty file

The tests used a mixture of 'echo -n' (which is non-portable) and either
test_cmp or diff to check if a file is empty. The much easier and portable
method to check for an empty file is '! test -s'

While we're in t4027, there was an excess test_done. Remove it.

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

tests: Say "pass" rather than "ok" on empty lines for TAPÆvar Arnfjörð Bjarmason Thu, 24 Jun 2010 17:44:49 +0000 (17:44 +0000)

tests: Say "pass" rather than "ok" on empty lines for TAP

Lines that begin with "ok" confuse the TAP harness because it can't
distinguish them from a test counter. Work around the issue by saying
"pass" instead, which isn't a reserved TAP word.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

tests: Skip tests in a way that makes sense under TAPÆvar Arnfjörð Bjarmason Thu, 24 Jun 2010 17:44:48 +0000 (17:44 +0000)

tests: Skip tests in a way that makes sense under TAP

SKIP messages are now part of the TAP plan. A TAP harness now knows
why a particular test was skipped and can report that information. The
non-TAP harness built into Git's test-lib did nothing special with
these messages, and is unaffected by these changes.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

test-lib: output a newline before "ok" under a TAP... Ævar Arnfjörð Bjarmason Thu, 24 Jun 2010 17:44:47 +0000 (17:44 +0000)

test-lib: output a newline before "ok" under a TAP harness

Some tests in the testsuite will emit a line that doesn't end with a
newline, right before we're about to output "ok" or "not ok". This
breaks the TAP output with "Tests out of sequence" errors since a TAP
harness can't understand this:

ok 1 - A test
[some output here]ok 2 - Another test
ok 3 - Yet another test

Work around it by emitting an empty line before we're about to say
"ok" or "not ok", but only if we're running under --verbose and
HARNESS_ACTIVE=1 is set, which'll only be the case when running under
a harnesses like prove(1).

I think it's better to do this than fix each tests by adding `&& echo'
everywhere. More tests might be added that break TAP in the future,
and a human isn't going to look at the extra whitespace, since
HARNESS_ACTIVE=1 always means a harness is reading it.

The tests that had issues were:

t1007, t3410, t3413, t3409, t3414, t3415, t3416, t3412, t3404,
t5407, t7402, t7003, t9001

With this workaround the entire test suite runs without errors under:

prove -j 10 ./t[0-9]*.sh :: --verbose

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

test-lib: Make the test_external_* functions TAP-awareÆvar Arnfjörð Bjarmason Thu, 24 Jun 2010 17:44:46 +0000 (17:44 +0000)

test-lib: Make the test_external_* functions TAP-aware

Before TAP we just ran the Perl test and assumed that it failed if
nothing was printed on STDERR. Continue doing that, but introduce a
`test_external_has_tap' variable which tests can set to indicate that
they're outputting TAP.

If it's set we won't output a test plan, but trust the external test
to do so. That way we can make external tests work with a TAP harness,
but still maintain compatibility with test-lib's own way of tracking
tests through the test-results directory.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

test-lib: Adjust output to be valid TAP formatÆvar Arnfjörð Bjarmason Thu, 24 Jun 2010 21:52:12 +0000 (21:52 +0000)

test-lib: Adjust output to be valid TAP format

TAP, the Test Anything Protocol, is a simple text-based interface
between testing modules in a test harness. test-lib.sh's output was
already very close to being valid TAP. This change brings it all the
way there. Before:

$ ./t0005-signals.sh
* ok 1: sigchain works
* passed all 1 test(s)

And after:

$ ./t0005-signals.sh
ok 1 - sigchain works
# passed all 1 test(s)
1..1

The advantage of using TAP is that any program that reads the format
(a "test harness") can run the tests. The most popular of these is the
prove(1) utility that comes with Perl. It can run tests in parallel,
display colored output, format the output to console, file, HTML etc.,
and much more. An example:

$ prove ./t0005-signals.sh
./t0005-signals.sh .. ok
All tests successful.
Files=1, Tests=1, 0 wallclock secs ( 0.03 usr 0.00 sys + 0.01 cusr 0.02 csys = 0.06 CPU)
Result: PASS

prove(1) gives you human readable output without being too
verbose. Running the test suite in parallel with `make test -j15`
produces a flood of text. Running them with `prove -j 15 ./t[0-9]*.sh`
makes it easy to follow what's going on.

All this patch does is re-arrange the output a bit so that it conforms
with the TAP spec, everything that the test suite did before continues
to work. That includes aggregating results in t/test-results/, the
--verbose, --debug and other options for tests, and the test color
output.

TAP harnesses ignore everything that they don't know about, so running
the tests with --verbose works:

$ prove ./t0005-signals.sh :: --verbose --debug
./t0005-signals.sh .. Terminated
./t0005-signals.sh .. ok
All tests successful.
Files=1, Tests=1, 0 wallclock secs ( 0.02 usr 0.01 sys + 0.01 cusr 0.01 csys = 0.05 CPU)
Result: PASS

Just supply the -v option to prove itself to get all the verbose
output that it suppresses:

$ prove -v ./t0005-signals.sh :: --verbose --debug
./t0005-signals.sh ..
Initialized empty Git repository in /home/avar/g/git/t/trash directory.t0005-signals/.git/
expecting success:
test-sigchain >actual
case "$?" in
143) true ;; # POSIX w/ SIGTERM=15
3) true ;; # Windows
*) false ;;
esac &&
test_cmp expect actual
Terminated
ok 1 - sigchain works
# passed all 1 test(s)
1..1
ok
All tests successful.
Files=1, Tests=1, 0 wallclock secs ( 0.02 usr 0.00 sys + 0.01 cusr 0.01 csys = 0.04 CPU)
Result: PASS

As a further example, consider this test script that uses a lot of
test-lib.sh features by Jakub Narebski:

#!/bin/sh

test_description='this is a sample test.

This test is here to see various test outputs.'

. ./test-lib.sh

say 'diagnostic message'

test_expect_success 'true test' 'true'
test_expect_success 'false test' 'false'

test_expect_failure 'true test (todo)' 'true'
test_expect_failure 'false test (todo)' 'false'

test_debug 'echo "debug message"'

test_done

The output of that was previously:

* diagnostic message # yellow
* ok 1: true test
* FAIL 2: false test # bold red
false
* FIXED 3: true test (todo)
* still broken 4: false test (todo) # bold green
* fixed 1 known breakage(s) # green
* still have 1 known breakage(s) # bold red
* failed 1 among remaining 3 test(s) # bold red

But is now:

diagnostic message # yellow
ok 1 - true test
not ok - 2 false test # bold red
# false
ok 3 - true test (todo) # TODO known breakage
not ok 4 - false test (todo) # TODO known breakage # bold green
# fixed 1 known breakage(s) # green
# still have 1 known breakage(s) # bold red
# failed 1 among remaining 3 test(s) # bold red
1..4

All the coloring is preserved when the test is run manually. Under
prove(1) the test performs as expected, even with --debug and
--verbose options:

$ prove ./example.sh :: --debug --verbose
./example.sh .. Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/4 subtests
(1 TODO test unexpectedly succeeded)

Test Summary Report
-------------------
./example.sh (Wstat: 256 Tests: 4 Failed: 1)
Failed test: 2
TODO passed: 3
Non-zero exit status: 1
Files=1, Tests=4, 0 wallclock secs ( 0.02 usr 0.00 sys + 0.00 cusr 0.01 csys = 0.03 CPU)
Result: FAIL

The TAP harness itself doesn't get confused by the color output, they
aren't used by test-lib.sh stdout isn't open to a terminal (test -t 1).

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Documentation: grep: fix asciidoc problem with --Christian Couder Fri, 25 Jun 2010 02:16:24 +0000 (04:16 +0200)

Documentation: grep: fix asciidoc problem with --

Asciidoc interprets two dashes separated by spaces as a single big
dash. So let's escape the first dash, so that "\--" will properly
appear as "--".

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

revert: accept arbitrary rev-list optionsChristian Couder Mon, 14 Jun 2010 05:29:38 +0000 (00:29 -0500)

revert: accept arbitrary rev-list options

This can be useful to do something like:

git rev-list --reverse master -- README | git cherry-pick -n --stdin

without using xargs.

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

url_decode: URL scheme ends with a colon and does not... Junio C Hamano Thu, 24 Jun 2010 20:36:30 +0000 (13:36 -0700)

url_decode: URL scheme ends with a colon and does not require a slash

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

git-cat-file.txt: Document --textconvMichael J Gruber Thu, 24 Jun 2010 12:56:55 +0000 (14:56 +0200)

git-cat-file.txt: Document --textconv

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

Allow customizable commit decorations colorsNazri Ramliy Thu, 24 Jun 2010 00:21:16 +0000 (08:21 +0800)

Allow customizable commit decorations colors

Signed-off-by: Nazri Ramliy <ayiehere@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

bash completion: Support "divergence from upstream... Andrew Sayers Thu, 17 Jun 2010 21:32:02 +0000 (22:32 +0100)

bash completion: Support "divergence from upstream" messages in __git_ps1

Add a notification in the command prompt specifying whether (and optionally how
far) your branch has diverged from its upstream. This is especially helpful in
small teams that very frequently (forget to) push to each other.

Support git-svn upstream detection as a special case, as migrators from
centralised version control systems are especially likely to forget to push.

Support for other types of upstream than SVN should be easy to add if anyone is
so inclined.

Signed-off-by: Andrew Sayers <andrew-git@pileofstuff.org>
Acked-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

msvc: Fix some "expr evaluates to function" compiler... Ramsay Jones Wed, 23 Jun 2010 19:40:19 +0000 (20:40 +0100)

msvc: Fix some "expr evaluates to function" compiler warnings

In particular, the following warning is issued while compiling
notes.c:

notes.c(927) : warning C4550: expression evaluates to a \
function which is missing an argument list

along with identical warnings on lines 928, 1016 and 1017.

In order to suppress the warning, we change the definition of
combine_notes_fn, so that the symbol type is an (explicit)
"pointer to function ...". As a result, several other
declarations need some minor fix-up to take account of the
new typedef.

Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Acked-by: Johan Herland <johan@herland.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'jk/url-decode'Junio C Hamano Wed, 23 Jun 2010 17:43:28 +0000 (10:43 -0700)

Merge branch 'jk/url-decode'

* jk/url-decode:
url.c: "<scheme>://" part at the beginning should not be URL decoded

url.c: "<scheme>://" part at the beginning should not... Junio C Hamano Wed, 23 Jun 2010 17:27:39 +0000 (10:27 -0700)

url.c: "<scheme>://" part at the beginning should not be URL decoded

When using the protocol git+ssh:// for example we do not want to
decode the '+' as a space. The url decoding must take place only
for the server name and parameters.

This fixes a regression introduced in 9d2e942.

Initial-fix-by: Pascal Obry <pascal.obry@gmail.com>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Update draft release notes to 1.7.2Junio C Hamano Tue, 22 Jun 2010 17:03:04 +0000 (10:03 -0700)

Update draft release notes to 1.7.2

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

Merge branch 'jc/maint-simpler-common-prefix'Junio C Hamano Tue, 22 Jun 2010 16:45:23 +0000 (09:45 -0700)

Merge branch 'jc/maint-simpler-common-prefix'

* jc/maint-simpler-common-prefix:
common_prefix: simplify and fix scanning for prefixes

Merge branch 'sb/format-patch-signature'Junio C Hamano Tue, 22 Jun 2010 16:45:22 +0000 (09:45 -0700)

Merge branch 'sb/format-patch-signature'

* sb/format-patch-signature:
completion: Add --signature and format.signature
format-patch: Add a signature option (--signature)

Merge branch 'mg/pretty-magic-space'Junio C Hamano Tue, 22 Jun 2010 16:45:22 +0000 (09:45 -0700)

Merge branch 'mg/pretty-magic-space'

* mg/pretty-magic-space:
pretty: Introduce ' ' modifier to add space if non-empty

Conflicts:
pretty.c

Merge branch 'jn/gitweb-return-or-exit-cleanup'Junio C Hamano Tue, 22 Jun 2010 16:45:22 +0000 (09:45 -0700)

Merge branch 'jn/gitweb-return-or-exit-cleanup'

* jn/gitweb-return-or-exit-cleanup:
gitweb: Return or exit after done serving request

Conflicts:
gitweb/gitweb.perl

Merge branch 'bd/maint-unpack-trees-parawalk-fix'Junio C Hamano Tue, 22 Jun 2010 16:45:22 +0000 (09:45 -0700)

Merge branch 'bd/maint-unpack-trees-parawalk-fix'

* bd/maint-unpack-trees-parawalk-fix:
unpack-trees: Make index lookahead less pessimal

Merge branch 'cc/cherry-pick-series'Junio C Hamano Tue, 22 Jun 2010 16:45:21 +0000 (09:45 -0700)

Merge branch 'cc/cherry-pick-series'

* cc/cherry-pick-series:
Documentation/revert: describe passing more than one commit
Documentation/cherry-pick: describe passing more than one commit
revert: add tests to check cherry-picking many commits
revert: allow cherry-picking more than one commit
revert: change help_msg() to take no argument
revert: refactor code into a do_pick_commit() function
revert: use run_command_v_opt() instead of execv_git_cmd()
revert: cleanup code for -x option

Merge branch 'jc/rev-list-ancestry-path'Junio C Hamano Tue, 22 Jun 2010 16:45:21 +0000 (09:45 -0700)

Merge branch 'jc/rev-list-ancestry-path'

* jc/rev-list-ancestry-path:
revision: Turn off history simplification in --ancestry-path mode
revision: Fix typo in --ancestry-path error message
Documentation/rev-list-options.txt: Explain --ancestry-path
Documentation/rev-list-options.txt: Fix missing line in example history graph
revision: --ancestry-path

Merge branch 'lt/extended-sha1-match-commit-with-regexp'Junio C Hamano Tue, 22 Jun 2010 16:45:21 +0000 (09:45 -0700)

Merge branch 'lt/extended-sha1-match-commit-with-regexp'

* lt/extended-sha1-match-commit-with-regexp:
Make :/ accept a regex rather than a fixed pattern

Merge branch 'maint'Junio C Hamano Tue, 22 Jun 2010 16:35:36 +0000 (09:35 -0700)

Merge branch 'maint'

* maint:
Update draft release notes to 1.7.1.1
tests: remove unnecessary '^' from 'expr' regular expression

Conflicts:
diff.c

Update draft release notes to 1.7.1.1Junio C Hamano Tue, 22 Jun 2010 16:18:55 +0000 (09:18 -0700)

Update draft release notes to 1.7.1.1

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

Merge branch 'ic/maint-rebase-i-abort' into maintJunio C Hamano Tue, 22 Jun 2010 16:31:48 +0000 (09:31 -0700)

Merge branch 'ic/maint-rebase-i-abort' into maint

* ic/maint-rebase-i-abort:
rebase -i: Abort cleanly if new base cannot be checked out

Merge branch 'cc/maint-commit-reflog-msg' into maintJunio C Hamano Tue, 22 Jun 2010 16:31:48 +0000 (09:31 -0700)

Merge branch 'cc/maint-commit-reflog-msg' into maint

* cc/maint-commit-reflog-msg:
commit: use value of GIT_REFLOG_ACTION env variable as reflog message

Merge branch 'jk/maint-advice-empty-amend' into maintJunio C Hamano Tue, 22 Jun 2010 16:31:48 +0000 (09:31 -0700)

Merge branch 'jk/maint-advice-empty-amend' into maint

* jk/maint-advice-empty-amend:
commit: give advice on empty amend

Merge branch 'tc/commit-abbrev-fix' into maintJunio C Hamano Tue, 22 Jun 2010 16:31:47 +0000 (09:31 -0700)

Merge branch 'tc/commit-abbrev-fix' into maint

* tc/commit-abbrev-fix:
commit::print_summary(): don't use format_commit_message()
t7502-commit: add summary output tests for empty and merge commits
t7502-commit: add tests for summary output

Merge branch 'jn/document-rebase-i-p-limitation' into... Junio C Hamano Tue, 22 Jun 2010 16:31:47 +0000 (09:31 -0700)

Merge branch 'jn/document-rebase-i-p-limitation' into maint

* jn/document-rebase-i-p-limitation:
rebase -i -p: document shortcomings

Merge branch 'jn/checkout-doc' into maintJunio C Hamano Tue, 22 Jun 2010 16:31:47 +0000 (09:31 -0700)

Merge branch 'jn/checkout-doc' into maint

* jn/checkout-doc:
Documentation/checkout: clarify description
Documentation/checkout: clarify description

Merge branch 'cc/maint-diff-CC-binary' into maintJunio C Hamano Tue, 22 Jun 2010 16:04:14 +0000 (09:04 -0700)

Merge branch 'cc/maint-diff-CC-binary' into maint

* cc/maint-diff-CC-binary:
diff: fix "git show -C -C" output when renaming a binary file

Conflicts:
diff.c

Merge branch 'jc/t9129-any-utf8' into maintJunio C Hamano Tue, 22 Jun 2010 15:31:53 +0000 (08:31 -0700)

Merge branch 'jc/t9129-any-utf8' into maint

* jc/t9129-any-utf8:
t9129: fix UTF-8 locale detection

Merge branch 'cb/ls-files-cdup' into maintJunio C Hamano Tue, 22 Jun 2010 15:31:46 +0000 (08:31 -0700)

Merge branch 'cb/ls-files-cdup' into maint

* cb/ls-files-cdup:
ls-files: allow relative pathspec
quote.c: separate quoting and relative path generation

Merge branch 'tc/merge-m-log' into maintJunio C Hamano Tue, 22 Jun 2010 15:31:25 +0000 (08:31 -0700)

Merge branch 'tc/merge-m-log' into maint

* tc/merge-m-log:
merge: --log appends shortlog to message if specified
fmt-merge-msg: add function to append shortlog only
fmt-merge-msg: refactor merge title formatting
fmt-merge-msg: minor refactor of fmt_merge_msg()
merge: rename variable
merge: update comment
t7604-merge-custom-message: show that --log doesn't append to -m
t7604-merge-custom-message: shift expected output creation

Merge branch 'ph/clone-message-reword' into maintJunio C Hamano Tue, 22 Jun 2010 15:31:20 +0000 (08:31 -0700)

Merge branch 'ph/clone-message-reword' into maint

* ph/clone-message-reword:
clone: reword messages to match the end-user perception

Merge branch 'jn/maint-amend-missing-name' into maintJunio C Hamano Tue, 22 Jun 2010 15:30:44 +0000 (08:30 -0700)

Merge branch 'jn/maint-amend-missing-name' into maint

* jn/maint-amend-missing-name:
commit --amend: cope with missing display name

Merge branch 'pc/remove-warn' into maintJunio C Hamano Tue, 22 Jun 2010 15:30:38 +0000 (08:30 -0700)

Merge branch 'pc/remove-warn' into maint

* 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

tests: remove unnecessary '^' from 'expr' regular expre... Junio C Hamano Mon, 21 Jun 2010 18:18:54 +0000 (11:18 -0700)

tests: remove unnecessary '^' from 'expr' regular expression

As Brandon noticed, a regular expression match given to 'expr' is already
anchored at the beginning. Some versions of expr even complain about this.

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

t/t7811-grep-open.sh: remove broken/redundant creation... Brandon Casey Mon, 21 Jun 2010 17:37:15 +0000 (12:37 -0500)

t/t7811-grep-open.sh: remove broken/redundant creation of fake "less" script

The fake "less" script was already created in a previous test titled
'setup: fake "less"', so it is redundant. Additionally, it is broken since
the redirection of 'cat' is to a file named 'less', but the chmod operates
on the file named by the $less variable which may not contain the value
'less'.

So, just remove this code, and rely on the creation of the fake "less"
script performed earlier within the test script.

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

t/t7811-grep-open.sh: ensure fake "less" is made executableBrandon Casey Mon, 21 Jun 2010 17:37:14 +0000 (12:37 -0500)

t/t7811-grep-open.sh: ensure fake "less" is made executable

The fake "less" script was not being made executable. This can cause the
tests that follow to fail. This failure is not apparent on platforms which
have DEFAULT_PAGER set to the string "less", since lib-pager.sh will have
set the $less variable to "less" and the SIMPLEPAGER prerequisite will have
been set, and so the "less" script will have already been created properly
and made executable in test 2 'git grep -O'. On platforms which set
DEFAULT_PAGER to something like "more", no such script will have been
previously created, and tests 7 and 8 will fail.

So, add a call to chmod to make the fake "less" script executable.

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

t/lib-pager.sh: remove unnecessary '^' from 'expr'... Brandon Casey Mon, 21 Jun 2010 17:37:13 +0000 (12:37 -0500)

t/lib-pager.sh: remove unnecessary '^' from 'expr' regular expression

Regular expressions matched by 'expr' have an implicit '^' at the beginning
of them and so are anchored to the beginning of the string. Using the '^'
character to mean "match at the beginning", is redundant and could produce
the wrong result if 'expr' implementations interpret the '^' as a literal
'^'. Additionally, GNU expr 5.97 complains like this:

expr: warning: unportable BRE: `^[a-z][a-z]*$': using `^' as the first character of the basic regular expression is not portable; it is being ignored

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

Merge branch 'js/maint-receive-pack-symref-alias'Junio C Hamano Mon, 21 Jun 2010 13:02:50 +0000 (06:02 -0700)

Merge branch 'js/maint-receive-pack-symref-alias'

* js/maint-receive-pack-symref-alias:

Merge branch 'cc/maint-commit-reflog-msg'Junio C Hamano Mon, 21 Jun 2010 13:02:50 +0000 (06:02 -0700)

Merge branch 'cc/maint-commit-reflog-msg'

* cc/maint-commit-reflog-msg:
commit: use value of GIT_REFLOG_ACTION env variable as reflog message

Merge branch 'ic/maint-rebase-i-abort'Junio C Hamano Mon, 21 Jun 2010 13:02:50 +0000 (06:02 -0700)

Merge branch 'ic/maint-rebase-i-abort'

* ic/maint-rebase-i-abort:
rebase -i: Abort cleanly if new base cannot be checked out

Merge branch 'jk/maint-advice-empty-amend'Junio C Hamano Mon, 21 Jun 2010 13:02:49 +0000 (06:02 -0700)

Merge branch 'jk/maint-advice-empty-amend'

* jk/maint-advice-empty-amend:
commit: give advice on empty amend

Merge branch 'eb/core-eol'Junio C Hamano Mon, 21 Jun 2010 13:02:49 +0000 (06:02 -0700)

Merge branch 'eb/core-eol'

* eb/core-eol:
Add "core.eol" config variable
Rename the "crlf" attribute "text"
Add per-repository eol normalization
Add tests for per-repository eol normalization

Conflicts:
Documentation/config.txt
Makefile

Merge branch 'fg/autocrlf'Junio C Hamano Mon, 21 Jun 2010 13:02:47 +0000 (06:02 -0700)

Merge branch 'fg/autocrlf'

* fg/autocrlf:
autocrlf: Make it work also for un-normalized repositories

Merge branch 'sm/branch-broken-ref'Junio C Hamano Mon, 21 Jun 2010 13:02:47 +0000 (06:02 -0700)

Merge branch 'sm/branch-broken-ref'

* sm/branch-broken-ref:
branch: don't fail listing branches if one of the commits wasn't found
branch: exit status now reflects if branch listing finds an error

Merge branch 'rr/parse-date-refactor'Junio C Hamano Mon, 21 Jun 2010 13:02:47 +0000 (06:02 -0700)

Merge branch 'rr/parse-date-refactor'

* rr/parse-date-refactor:
Refactor parse_date for approxidate functions

Merge branch 'jn/document-rebase-i-p-limitation'Junio C Hamano Mon, 21 Jun 2010 13:02:47 +0000 (06:02 -0700)

Merge branch 'jn/document-rebase-i-p-limitation'

* jn/document-rebase-i-p-limitation:
rebase -i -p: document shortcomings

Merge branch 'tc/commit-abbrev-fix'Junio C Hamano Mon, 21 Jun 2010 13:02:46 +0000 (06:02 -0700)

Merge branch 'tc/commit-abbrev-fix'

* tc/commit-abbrev-fix:
commit::print_summary(): don't use format_commit_message()
t7502-commit: add summary output tests for empty and merge commits
t7502-commit: add tests for summary output

Merge branch 'tr/receive-pack-aliased-update-fix'Junio C Hamano Mon, 21 Jun 2010 13:02:46 +0000 (06:02 -0700)

Merge branch 'tr/receive-pack-aliased-update-fix'

* tr/receive-pack-aliased-update-fix:
check_aliased_update: strcpy() instead of strcat() to copy

Merge branch 'gs/usage-to-stdout'Junio C Hamano Mon, 21 Jun 2010 13:02:45 +0000 (06:02 -0700)

Merge branch 'gs/usage-to-stdout'

* gs/usage-to-stdout:
parseopt: wrap rev-parse --parseopt usage for eval consumption
print the usage string on stdout instead of stderr

Conflicts:
parse-options.h

Merge branch 'js/async-thread'Junio C Hamano Mon, 21 Jun 2010 13:02:45 +0000 (06:02 -0700)

Merge branch 'js/async-thread'

* js/async-thread:
fast-import: die_nicely() back to vsnprintf (reverts part of ebaa79f)
Enable threaded async procedures whenever pthreads is available
Dying in an async procedure should only exit the thread, not the process.
Reimplement async procedures using pthreads
Windows: more pthreads functions
Fix signature of fcntl() compatibility dummy
Make report() from usage.c public as vreportf() and use it.
Modernize t5530-upload-pack-error.

Conflicts:
http-backend.c

Merge branch 'gv/portable'Junio C Hamano Mon, 21 Jun 2010 13:02:44 +0000 (06:02 -0700)

Merge branch 'gv/portable'

* gv/portable:
test-lib: use DIFF definition from GIT-BUILD-OPTIONS
build: propagate $DIFF to scripts
Makefile: Tru64 portability fix
Makefile: HP-UX 10.20 portability fixes
Makefile: HPUX11 portability fixes
Makefile: SunOS 5.6 portability fix
inline declaration does not work on AIX
Allow disabling "inline"
Some platforms lack socklen_t type
Make NO_{INET_NTOP,INET_PTON} configured independently
Makefile: some platforms do not have hstrerror anywhere
git-compat-util.h: some platforms with mmap() lack MAP_FAILED definition
test_cmp: do not use "diff -u" on platforms that lack one
fixup: do not unconditionally disable "diff -u"
tests: use "test_cmp", not "diff", when verifying the result
Do not use "diff" found on PATH while building and installing
enums: omit trailing comma for portability
Makefile: -lpthread may still be necessary when libc has only pthread stubs
Rewrite dynamic structure initializations to runtime assignment
Makefile: pass CPPFLAGS through to fllow customization

Conflicts:
Makefile
wt-status.h

Merge branch 'bc/portable'Junio C Hamano Mon, 21 Jun 2010 13:02:42 +0000 (06:02 -0700)

Merge branch 'bc/portable'

* bc/portable:
Remove python 2.5'isms
Makefile: add PYTHON_PATH to GIT-BUILD-OPTIONS
t/aggregate-results: accomodate systems with small max argument list length
t/t7006: ignore return status of shell's unset builtin
t/t5150: remove space from sed script
git-request-pull.sh: remove -e switch to shell interpreter which breaks ksh
t/t5800: skip if python version is older than 2.5

Merge branch 'jn/gitweb-fastcgi'Junio C Hamano Mon, 21 Jun 2010 13:02:42 +0000 (06:02 -0700)

Merge branch 'jn/gitweb-fastcgi'

* jn/gitweb-fastcgi:
gitweb: Run in FastCGI mode if gitweb script has .fcgi extension
gitweb: Add support for FastCGI, using CGI::Fast
gitweb: Put all per-connection code in run() subroutine

Merge branch 'jn/checkout-doc'Junio C Hamano Mon, 21 Jun 2010 13:02:42 +0000 (06:02 -0700)

Merge branch 'jn/checkout-doc'

* jn/checkout-doc:
Documentation/checkout: clarify description
Documentation/checkout: clarify description

Merge branch 'em/checkout-orphan'Junio C Hamano Mon, 21 Jun 2010 13:02:41 +0000 (06:02 -0700)

Merge branch 'em/checkout-orphan'

* em/checkout-orphan:
log_ref_setup: don't return stack-allocated array
bash completion: add --orphan to 'git checkout'
t3200: test -l with core.logAllRefUpdates options
checkout --orphan: respect -l option always
refs: split log_ref_write logic into log_ref_setup
Documentation: alter checkout --orphan description

Drop items that are 1.7.1.1 fixes from the 1.7.1 releas... Junio C Hamano Mon, 21 Jun 2010 12:49:26 +0000 (05:49 -0700)

Drop items that are 1.7.1.1 fixes from the 1.7.1 release notes

Merge branch 'maint'Junio C Hamano Mon, 21 Jun 2010 12:48:50 +0000 (05:48 -0700)

Merge branch 'maint'

* maint:
Update draft release notes to 1.7.1.1

Update draft release notes to 1.7.1.1Junio C Hamano Mon, 21 Jun 2010 12:48:18 +0000 (05:48 -0700)

Update draft release notes to 1.7.1.1

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

Merge branch 'mc/maint-zoneparse' into maintJunio C Hamano Mon, 21 Jun 2010 12:41:03 +0000 (05:41 -0700)

Merge branch 'mc/maint-zoneparse' into maint

* mc/maint-zoneparse:
Add "Z" as an alias for the timezone "UTC"

Merge branch 'jk/diff-m-doc' into maintJunio C Hamano Mon, 21 Jun 2010 12:40:57 +0000 (05:40 -0700)

Merge branch 'jk/diff-m-doc' into maint

* jk/diff-m-doc:
docs: clarify meaning of -M for git-log

Merge branch 'jn/maint-doc-ignore' into maintJunio C Hamano Mon, 21 Jun 2010 12:40:53 +0000 (05:40 -0700)

Merge branch 'jn/maint-doc-ignore' into maint

* jn/maint-doc-ignore:
gitignore.5: Clarify matching rules

Merge branch 'bs/userdiff-php' into maintJunio C Hamano Mon, 21 Jun 2010 12:40:48 +0000 (05:40 -0700)

Merge branch 'bs/userdiff-php' into maint

* bs/userdiff-php:
diff: Support visibility modifiers in the PHP hunk header regexp

Merge branch 'jk/maint-sha1-file-name-fix' into maintJunio C Hamano Mon, 21 Jun 2010 12:40:41 +0000 (05:40 -0700)

Merge branch 'jk/maint-sha1-file-name-fix' into maint

* jk/maint-sha1-file-name-fix:
remove over-eager caching in sha1_file_name

Merge branch 'jk/maint-pull-dry-run-noop' into maintJunio C Hamano Mon, 21 Jun 2010 12:40:33 +0000 (05:40 -0700)

Merge branch 'jk/maint-pull-dry-run-noop' into maint

* jk/maint-pull-dry-run-noop:
pull: do nothing on --dry-run

Merge branch 'bw/diff-metainfo-color' into maintJunio C Hamano Mon, 21 Jun 2010 12:40:10 +0000 (05:40 -0700)

Merge branch 'bw/diff-metainfo-color' into maint

* bw/diff-metainfo-color:
diff: fix coloring of extended diff headers

Merge branch 'cb/assume-unchanged-fix' into maintJunio C Hamano Mon, 21 Jun 2010 12:39:23 +0000 (05:39 -0700)

Merge branch 'cb/assume-unchanged-fix' into maint

* cb/assume-unchanged-fix:
Documentation: git-add does not update files marked "assume unchanged"
do not overwrite files marked "assume unchanged"

Merge branch 'jn/notes-doc' into maintJunio C Hamano Mon, 21 Jun 2010 12:39:16 +0000 (05:39 -0700)

Merge branch 'jn/notes-doc' into maint

* jn/notes-doc:
Documentation/notes: nitpicks
Documentation/notes: clean up description of rewriting configuration
Documentation/notes: simplify treatment of default display refs
Documentation/log: add a CONFIGURATION section
Documentation/notes: simplify treatment of default notes ref
Documentation/notes: add configuration section
Documentation/notes: describe content of notes blobs
Documentation/notes: document format of notes trees

Merge branch 'ab/test-cleanup' into maintJunio C Hamano Mon, 21 Jun 2010 12:39:02 +0000 (05:39 -0700)

Merge branch 'ab/test-cleanup' into maint

* ab/test-cleanup:
Turn setup code in t2007-checkout-symlink.sh into a test
Move t6000lib.sh to lib-*

Merge branch 'rs/diff-no-minimal' into maintJunio C Hamano Mon, 21 Jun 2010 12:38:50 +0000 (05:38 -0700)

Merge branch 'rs/diff-no-minimal' into maint

* rs/diff-no-minimal:
git diff too slow for a file

Merge branch 'bg/apply-blank-trailing-context' into... Junio C Hamano Mon, 21 Jun 2010 12:38:36 +0000 (05:38 -0700)

Merge branch 'bg/apply-blank-trailing-context' into maint

* bg/apply-blank-trailing-context:
apply: Allow blank *trailing* context lines to match beyond EOF

Merge branch 'maint'Junio C Hamano Mon, 21 Jun 2010 06:21:27 +0000 (23:21 -0700)

Merge branch 'maint'

* maint:
gitweb/Makefile: fix typo in gitweb.min.css rule

Conflicts:
gitweb/Makefile

git-cvsserver: fix error for invalid password formatsÆvar Arnfjörð Bjarmason Sat, 19 Jun 2010 16:06:58 +0000 (16:06 +0000)

git-cvsserver: fix error for invalid password formats

Change the error message to report the erroneous password
character. $1 was never set in the previos version, it was a leftover
from older code that used a regex for the test.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-cvsserver: typo in a comment: bas -> hasÆvar Arnfjörð Bjarmason Sat, 19 Jun 2010 16:06:57 +0000 (16:06 +0000)

git-cvsserver: typo in a comment: bas -> has

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

log --decorate: Colorize commit decorationsNazri Ramliy Sat, 19 Jun 2010 01:37:35 +0000 (09:37 +0800)

log --decorate: Colorize commit decorations

This makes the decorations stand out more and easier to distinguish
and spot because they are colored differently depending on their type.

Signed-off-by: Nazri Ramliy <ayiehere@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

log-tree.c: Use struct name_decoration's type for class... Nazri Ramliy Sat, 19 Jun 2010 01:37:34 +0000 (09:37 +0800)

log-tree.c: Use struct name_decoration's type for classifying decoration

The "tag: " prefix is no longer prepended to the name of the decoration.
It is now printed conditionally by show_decorations if the decoration
type is DECORATION_REF_TAG.

Signed-off-by: Nazri Ramliy <ayiehere@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

commit.h: add 'type' to struct name_decorationNazri Ramliy Sat, 19 Jun 2010 01:37:33 +0000 (09:37 +0800)

commit.h: add 'type' to struct name_decoration

This allows for semantically better handling of decoration type.

Signed-off-by: Nazri Ramliy <ayiehere@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

gitweb/Makefile: fix typo in gitweb.min.css ruleJay Soffian Fri, 18 Jun 2010 21:01:25 +0000 (17:01 -0400)

gitweb/Makefile: fix typo in gitweb.min.css rule

This typo has been in place since the rule was originally added by
0e6ce21 (Gitweb: add support for minifying gitweb.css).

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

t/t8007: test textconv support for cat-fileClément Poulain Wed, 9 Jun 2010 17:02:09 +0000 (19:02 +0200)

t/t8007: test textconv support for cat-file

Test the correct functionning of textconv with cat-file <sha1:blob>
and cat-file HEAD^ <file>. Test the case when no driver is specified

Signed-off-by: Clément Poulain <clement.poulain@ensimag.imag.fr>
Signed-off-by: Diane Gasselin <diane.gasselin@ensimag.imag.fr>
Signed-off-by: Axel Bonnet <axel.bonnet@ensimag.imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

textconv: support for cat_fileClément Poulain Tue, 15 Jun 2010 15:50:28 +0000 (17:50 +0200)

textconv: support for cat_file

Make the textconv_object function public, and add --textconv option to cat-file
to perform conversion on blob objects. Using --textconv implies that we are
working on a blob.
As files drivers need to be initialized, a new config is required in addition
to git_default_config. Therefore git_cat_file_config() is introduced

Signed-off-by: Clément Poulain <clement.poulain@ensimag.imag.fr>
Signed-off-by: Diane Gasselin <diane.gasselin@ensimag.imag.fr>
Signed-off-by: Axel Bonnet <axel.bonnet@ensimag.imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Update draft release notes to 1.7.2Junio C Hamano Fri, 18 Jun 2010 18:27:01 +0000 (11:27 -0700)

Update draft release notes to 1.7.2

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

Merge branch 'cc/maint-diff-CC-binary'Junio C Hamano Fri, 18 Jun 2010 18:16:57 +0000 (11:16 -0700)

Merge branch 'cc/maint-diff-CC-binary'

* cc/maint-diff-CC-binary:
diff: fix "git show -C -C" output when renaming a binary file

Conflicts:
diff.c

Merge branch 'by/diff-graph'Junio C Hamano Fri, 18 Jun 2010 18:16:57 +0000 (11:16 -0700)

Merge branch 'by/diff-graph'

* by/diff-graph:
Make --color-words work well with --graph
graph.c: register a callback for graph output
Emit a whole line in one go
diff.c: Output the text graph padding before each diff line
Output the graph columns at the end of the commit message
Add a prefix output callback to diff output

Conflicts:
diff.c

Merge branch 'cb/ls-files-cdup'Junio C Hamano Fri, 18 Jun 2010 18:16:56 +0000 (11:16 -0700)

Merge branch 'cb/ls-files-cdup'

* cb/ls-files-cdup:
ls-files: allow relative pathspec
quote.c: separate quoting and relative path generation

Merge branch 'jc/t9129-any-utf8'Junio C Hamano Fri, 18 Jun 2010 18:16:56 +0000 (11:16 -0700)

Merge branch 'jc/t9129-any-utf8'

* jc/t9129-any-utf8:
t9129: fix UTF-8 locale detection

Merge branch 'rr/am-help'Junio C Hamano Fri, 18 Jun 2010 18:16:56 +0000 (11:16 -0700)

Merge branch 'rr/am-help'

* rr/am-help:
git am: Remove stray error message from sed
git am: Display some help text when patch is empty
git am: Set cmdline globally

Merge branch 'jn/rebase-cmdline-fix'Junio C Hamano Fri, 18 Jun 2010 18:16:56 +0000 (11:16 -0700)

Merge branch 'jn/rebase-cmdline-fix'

* jn/rebase-cmdline-fix:
rebase: improve error message when upstream argument is missing

Merge branch 'ps/gitweb--browse-chrome'Junio C Hamano Fri, 18 Jun 2010 18:16:56 +0000 (11:16 -0700)

Merge branch 'ps/gitweb--browse-chrome'

* ps/gitweb--browse-chrome:
git-web--browse: Add support for google chrome and chromium

Merge branch 'jk/am-skip-hint'Junio C Hamano Fri, 18 Jun 2010 18:16:56 +0000 (11:16 -0700)

Merge branch 'jk/am-skip-hint'

* jk/am-skip-hint:
git-am: suggest what to do with superfluous patches

Merge branch 'jh/diff-index-line-abbrev'Junio C Hamano Fri, 18 Jun 2010 18:16:56 +0000 (11:16 -0700)

Merge branch 'jh/diff-index-line-abbrev'

* jh/diff-index-line-abbrev:
diff.c: Ensure "index $from..$to" line contains unambiguous SHA1s

Conflicts:
diff.c

Merge branch 'ab/maint-perl-use-instlibdir'Junio C Hamano Fri, 18 Jun 2010 18:16:55 +0000 (11:16 -0700)

Merge branch 'ab/maint-perl-use-instlibdir'

* ab/maint-perl-use-instlibdir:
Makefile: remove redundant munging of @@INSTLIBDIR@@

Merge branch 'ec/diff-noprefix-config'Junio C Hamano Fri, 18 Jun 2010 18:16:55 +0000 (11:16 -0700)

Merge branch 'ec/diff-noprefix-config'

* ec/diff-noprefix-config:
diff: add configuration option for disabling diff prefixes.

Merge branch 'mg/status-b'Junio C Hamano Fri, 18 Jun 2010 18:16:55 +0000 (11:16 -0700)

Merge branch 'mg/status-b'

* mg/status-b:
Documentation+t5708: document and test status -s -b
Show branch information in short output of git status