Code

git.git
14 years agoMerge branch 'maint'
Junio C Hamano [Tue, 29 Jun 2010 00:42:26 +0000 (17:42 -0700)]
Merge branch 'maint'

* maint:
  Update draft release notes to 1.7.1.1
  notes: Initialise variable to appease gcc
  notes: check number of parameters to "git notes copy"

14 years agoUpdate draft release notes to 1.7.1.1
Junio C Hamano [Tue, 29 Jun 2010 00:42:18 +0000 (17:42 -0700)]
Update draft release notes to 1.7.1.1

Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoMerge branch 'tr/send-email-8bit' into maint
Junio C Hamano [Mon, 28 Jun 2010 23:19:03 +0000 (16:19 -0700)]
Merge branch 'tr/send-email-8bit' into maint

* tr/send-email-8bit:
  send-email: ask about and declare 8bit mails

14 years agoMerge branch 'pb/maint-perl-errmsg-no-dir' into maint
Junio C Hamano [Mon, 28 Jun 2010 23:18:58 +0000 (16:18 -0700)]
Merge branch 'pb/maint-perl-errmsg-no-dir' into maint

* pb/maint-perl-errmsg-no-dir:
  Git.pm: better error message

14 years agoMerge branch 'js/maint-am-rebase-invalid-author' into maint
Junio C Hamano [Mon, 28 Jun 2010 23:18:43 +0000 (16:18 -0700)]
Merge branch 'js/maint-am-rebase-invalid-author' into maint

* js/maint-am-rebase-invalid-author:
  am: use get_author_ident_from_commit instead of mailinfo when rebasing

14 years agoMerge branch 'jc/maint-simpler-common-prefix' into maint
Junio C Hamano [Mon, 28 Jun 2010 23:18:15 +0000 (16:18 -0700)]
Merge branch 'jc/maint-simpler-common-prefix' into maint

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

14 years agoMerge branch 'bd/maint-unpack-trees-parawalk-fix' into maint
Junio C Hamano [Mon, 28 Jun 2010 23:18:02 +0000 (16:18 -0700)]
Merge branch 'bd/maint-unpack-trees-parawalk-fix' into maint

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

14 years agogit --paginate: do not commit pager choice too early
Nguyễn Thái Ngọc Duy [Sat, 26 Jun 2010 19:26:37 +0000 (14:26 -0500)]
git --paginate: do not commit pager choice too early

When git is passed the --paginate option, starting up a pager requires
deciding what pager to start, which requires access to the core.pager
configuration.

At the relevant moment, the repository has not been searched for yet.
Attempting to access the configuration at this point results in
git_dir being set to .git [*], which is almost certainly not what was
wanted.  In particular, when run from a subdirectory of the toplevel,
git --paginate does not respect the core.pager setting from the
current repository.

[*] unless GIT_DIR or GIT_CONFIG is set

So delay the pager startup when possible:

1. run_argv() already commits pager choice inside run_builtin() if a
   command is found.  For commands that use RUN_SETUP, waiting until
   then fixes the problem described above: once git knows where to
   look, it happily respects the core.pager setting.

2. list_common_cmds_help() prints out 29 lines and exits.  This can
   benefit from pagination, so we need to commit the pager choice
   before writing this output.

   Luckily ‘git’ without subcommand has no other reason to access a
   repository, so it would be intuitive to ignore repository-local
   configuration in this case.  Simpler for now to choose a pager
   using the funny code that notices a repository that happens to be
   at .git.  That this accesses a repository when it is very
   convenient to is a bug but not an important one.

3. help_unknown_cmd() prints out a few lines to stderr.  It is not
   important to paginate this, so don’t.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agotests: local config file should be honored from subdirs of toplevel
Jonathan Nieder [Sat, 26 Jun 2010 19:25:37 +0000 (14:25 -0500)]
tests: local config file should be honored from subdirs of toplevel

When git is passed the --paginate option, starting up a pager requires
deciding what pager to start, which requires access to the core.pager
configuration.  If --paginate is handled before searching for the
git dir, this configuration will be missed.

In other words, with --paginate and only with --paginate, any
repository-local core.pager setting is being ignored [*].

[*] unless the git directory is ./.git or GIT_DIR or GIT_CONFIG was
set explicitly.

Add a test to demonstrate this counterintuitive behavior.  Noticed
while reading over a patch by Duy that fixes it.

Cc: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Improved-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agot7006: test pager configuration for several git commands
Jonathan Nieder [Sat, 26 Jun 2010 19:24:50 +0000 (14:24 -0500)]
t7006: test pager configuration for several git commands

Test choice of pager at several stages of repository setup.  This
provides some (admittedly uninteresting) examples to keep in mind when
considering changes to the setup procedure.

Improved-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agot7006 (pager): introduce helper for parameterized tests
Jonathan Nieder [Sat, 26 Jun 2010 19:23:02 +0000 (14:23 -0500)]
t7006 (pager): introduce helper for parameterized tests

The current tests test pager configuration for ‘git log’, but other
commands use a different setup procedure and should therefore be
tested separately.  Add a helper to make this easier.

This patch introduces the helper and changes some existing tests to
use it.  The only functional change should be the introduction of ‘git
log - ’ to a few test descriptions.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agonotes: Initialise variable to appease gcc
Ramsay Jones [Mon, 21 Jun 2010 18:52:29 +0000 (19:52 +0100)]
notes: Initialise variable to appease gcc

gcc version 3.4.4 thinks that the 'cmp' variable could be used
while uninitialised and complains thus:

    notes.c: In function `write_each_non_note_until':
    notes.c:719: warning: 'cmp' might be used uninitialized in \
        this function

Note that gcc versions 4.1.2 and 4.4.0 do not issue this warning.

Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agonotes: check number of parameters to "git notes copy"
Jeff King [Mon, 28 Jun 2010 08:59:07 +0000 (04:59 -0400)]
notes: check number of parameters to "git notes copy"

Otherwise we may segfault with too few parameters.

Signed-off-by: Jeff King <peff@peff.net>
Tested-by: Bert Wesarg <Bert.Wesarg@googlemail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agomsvc: Select the "fast" definition of the {get,put}_be32() macros
Ramsay Jones [Wed, 23 Jun 2010 19:47:02 +0000 (20:47 +0100)]
msvc: Select the "fast" definition of the {get,put}_be32() macros

On Intel machines, the msvc compiler defines the CPU architecture
macros _M_IX86 and _M_X64 (equivalent to __i386__ and __x86_64__
respectively). Use these macros in the pre-processor expression
to select the "fast" definition of the {get,put}_be32() macros.

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>
14 years agogit-rev-parse.txt: Document ":path" specifier
Michael J Gruber [Sun, 27 Jun 2010 13:15:22 +0000 (15:15 +0200)]
git-rev-parse.txt: Document ":path" specifier

The empty treeish in ":path" means "index". This is actually a special
case of the ":stage:path" syntax where it is documented, but mentioning
it also together with "treeish:path" is helpful, so do it.

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoGit 1.7.2-rc0 v1.7.2-rc0
Junio C Hamano [Sun, 27 Jun 2010 19:01:12 +0000 (12:01 -0700)]
Git 1.7.2-rc0

Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoMerge branch 'cp/textconv-cat-file'
Junio C Hamano [Sun, 27 Jun 2010 19:07:55 +0000 (12:07 -0700)]
Merge branch 'cp/textconv-cat-file'

* cp/textconv-cat-file:
  git-cat-file.txt: Document --textconv
  t/t8007: test textconv support for cat-file
  textconv: support for cat_file
  sha1_name: add get_sha1_with_context()

14 years agoMerge branch 'pb/maint-perl-errmsg-no-dir'
Junio C Hamano [Sun, 27 Jun 2010 19:07:45 +0000 (12:07 -0700)]
Merge branch 'pb/maint-perl-errmsg-no-dir'

* pb/maint-perl-errmsg-no-dir:
  Git.pm: better error message

14 years agoMerge branch 'tr/send-email-8bit'
Junio C Hamano [Sun, 27 Jun 2010 19:07:45 +0000 (12:07 -0700)]
Merge branch 'tr/send-email-8bit'

* tr/send-email-8bit:
  send-email: ask about and declare 8bit mails

14 years agoMerge branch 'js/maint-am-rebase-invalid-author'
Junio C Hamano [Sun, 27 Jun 2010 19:07:44 +0000 (12:07 -0700)]
Merge branch 'js/maint-am-rebase-invalid-author'

* js/maint-am-rebase-invalid-author:
  am: use get_author_ident_from_commit instead of mailinfo when rebasing

14 years agoMerge branch 'ab/blame-textconv'
Junio C Hamano [Sun, 27 Jun 2010 19:07:44 +0000 (12:07 -0700)]
Merge branch 'ab/blame-textconv'

* ab/blame-textconv:
  t/t8006: test textconv support for blame
  textconv: support for blame
  textconv: make the API public

Conflicts:
diff.h

14 years agoMerge branch 'jn/show-num-walks'
Junio C Hamano [Sun, 27 Jun 2010 19:07:44 +0000 (12:07 -0700)]
Merge branch 'jn/show-num-walks'

* jn/show-num-walks:
  DWIM 'git show -5' to 'git show --do-walk -5'

14 years agot6018: make sure all tested symbolic names are different revs
Michael J Gruber [Fri, 14 May 2010 18:26:51 +0000 (20:26 +0200)]
t6018: make sure all tested symbolic names are different revs

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agot6018: add tests for rev-list's --branches and --tags
Michael J Gruber [Fri, 14 May 2010 18:26:50 +0000 (20:26 +0200)]
t6018: add tests for rev-list's --branches and --tags

so that we know when they break.

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agot9700: Use Test::More->builder, not $Test::Builder::Test
Ævar Arnfjörð Bjarmason [Sat, 26 Jun 2010 12:42:41 +0000 (12:42 +0000)]
t9700: Use Test::More->builder, not $Test::Builder::Test

$Test::Builder::Test was only made into an `our' variable in 0.94
released in September 2009, older distros are more likely to have 0.92
or earlier. Use the singleton Test::More->builder constructor instead.

The exit() call was also unportable to <0.94. Just output a meaningful
exit code if the ->is_passing method exists. The t9700-perl-git.sh
test only cares about stderr output, so this doesn't affect test
results when using older Test::More modules.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoMerge branch 'jp/string-list-api-cleanup' into jn/grep-open
Julian Phillips [Fri, 25 Jun 2010 23:41:39 +0000 (00:41 +0100)]
Merge branch 'jp/string-list-api-cleanup' into jn/grep-open

An evil merge to adjust the series to cleaned-up API.

  From: Julian Phillips <julian@quantumfyre.co.uk>
  Subject: [PATCH v2 7/7] grep: fix string_list_append calls
  Date: Sat, 26 Jun 2010 00:41:39 +0100
  Message-ID: <20100625234140.18927.35025.julian@quantumfyre.co.uk>

* jp/string-list-api-cleanup:
  string_list: Fix argument order for string_list_append
  string_list: Fix argument order for string_list_lookup
  string_list: Fix argument order for string_list_insert_at_index
  string_list: Fix argument order for string_list_insert
  string_list: Fix argument order for for_each_string_list
  string_list: Fix argument order for print_string_list

Signed-off-by: Julian Phillips <julian@quantumfyre.co.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agostring_list: Fix argument order for string_list_append
Julian Phillips [Fri, 25 Jun 2010 23:41:38 +0000 (00:41 +0100)]
string_list: Fix argument order for string_list_append

Update the definition and callers of string_list_append to use the
string_list as the first argument.  This helps make the string_list
API easier to use by being more consistent.

Signed-off-by: Julian Phillips <julian@quantumfyre.co.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agostring_list: Fix argument order for string_list_lookup
Julian Phillips [Fri, 25 Jun 2010 23:41:37 +0000 (00:41 +0100)]
string_list: Fix argument order for string_list_lookup

Update the definition and callers of string_list_lookup to use the
string_list as the first argument.  This helps make the string_list
API easier to use by being more consistent.

Signed-off-by: Julian Phillips <julian@quantumfyre.co.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agostring_list: Fix argument order for string_list_insert_at_index
Julian Phillips [Fri, 25 Jun 2010 23:41:36 +0000 (00:41 +0100)]
string_list: Fix argument order for string_list_insert_at_index

Update the definition and callers of string_list_insert_at_index to
use the string_list as the first argument.  This helps make the
string_list API easier to use by being more consistent.

Signed-off-by: Julian Phillips <julian@quantumfyre.co.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agostring_list: Fix argument order for string_list_insert
Julian Phillips [Fri, 25 Jun 2010 23:41:35 +0000 (00:41 +0100)]
string_list: Fix argument order for string_list_insert

Update the definition and callers of string_list_insert to use the
string_list as the first argument.  This helps make the string_list
API easier to use by being more consistent.

Signed-off-by: Julian Phillips <julian@quantumfyre.co.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agostring_list: Fix argument order for for_each_string_list
Julian Phillips [Fri, 25 Jun 2010 23:41:34 +0000 (00:41 +0100)]
string_list: Fix argument order for for_each_string_list

Update the definition and callers of for_each_string_list to use the
string_list as the first argument.  This helps make the string_list
API easier to use by being more consistent.

Signed-off-by: Julian Phillips <julian@quantumfyre.co.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agostring_list: Fix argument order for print_string_list
Julian Phillips [Fri, 25 Jun 2010 23:41:33 +0000 (00:41 +0100)]
string_list: Fix argument order for print_string_list

Update the definition and callers of print_string_list to use the
string_list as the first argument.  This helps make the API easier to
use by being more consistent.

Signed-off-by: Julian Phillips <julian@quantumfyre.co.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoMerge branch 'maint'
Junio C Hamano [Fri, 25 Jun 2010 18:45:27 +0000 (11:45 -0700)]
Merge branch 'maint'

* maint:
  msvc: Fix some compiler warnings
  Documentation: grep: fix asciidoc problem with --
  msvc: Fix some "expr evaluates to function" compiler warnings

14 years agoAdd the option "--ignore-submodules" to "git status"
Jens Lehmann [Fri, 25 Jun 2010 14:56:47 +0000 (16:56 +0200)]
Add the option "--ignore-submodules" to "git status"

In some use cases it is not desirable that "git status" considers
submodules that only contain untracked content as dirty. This may happen
e.g. when the submodule is not under the developers control and not all
build generated files have been added to .gitignore by the upstream
developers. Using the "untracked" parameter for the "--ignore-submodules"
option disables checking for untracked content and lets git diff report
them as changed only when they have new commits or modified content.

Sometimes it is not wanted to have submodules show up as changed when they
just contain changes to their work tree (this was the behavior before
1.7.0). An example for that are scripts which just want to check for
submodule commits while ignoring any changes to the work tree. Also users
having large submodules known not to change might want to use this option,
as the - sometimes substantial - time it takes to scan the submodule work
tree(s) is saved when using the "dirty" parameter.

And if you want to ignore any changes to submodules, you can now do that
by using this option without parameters or with "all" (when the config
option status.submodulesummary is set, using "all" will also suppress the
output of the submodule summary).

A new function handle_ignore_submodules_arg() is introduced to parse this
option new to "git status" in a single location, as "git diff" already
knew it.

Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agogit submodule: ignore dirty submodules for summary and status
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>
14 years agomsvc: Fix some compiler warnings
Ramsay 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>
14 years agot4027,4041: Use test -s to test for an empty file
Brian 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>
14 years agobuiltin/checkout: learn -B
Tay Ray Chuan [Wed, 23 Jun 2010 19:29:00 +0000 (03:29 +0800)]
builtin/checkout: learn -B

Internally, --track and --orphan still use the 'safe' -b, not -B.

Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agobuiltin/checkout: reword hint for -b
Tay Ray Chuan [Wed, 23 Jun 2010 19:28:59 +0000 (03:28 +0800)]
builtin/checkout: reword hint for -b

Shift the 'new' from the param to the hint, and expand the hint.

Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoadd tests for checkout -b
Tay Ray Chuan [Wed, 23 Jun 2010 19:28:58 +0000 (03:28 +0800)]
add tests for checkout -b

Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agotests: 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>
14 years agotests: 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>
14 years agotest-lib: output a newline before "ok" under a TAP harness
Æ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>
14 years agotest-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>
14 years agotest-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>
14 years agoDocumentation: 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>
14 years agorevert: accept arbitrary rev-list options
Christian 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>
14 years agoAnother fix for PATH and msysgit.
Avery Pennarun [Thu, 24 Jun 2010 20:57:58 +0000 (16:57 -0400)]
Another fix for PATH and msysgit.

Evan Shaw tells me the previous fix didn't work.  Let's use this one
instead, which he says does work.

This fix is kind of wrong because it will run the "correct" git-sh-setup
*after* the one in /usr/bin, if there is one, which could be weird if you
have multiple versions of git installed.  But it works on my Linux and his
msysgit, so it's obviously better than what we had before.

14 years agourl_decode: URL scheme ends with a colon and does not require a slash
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>
14 years agogit-cat-file.txt: Document --textconv
Michael 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>
14 years agoAllow customizable commit decorations colors
Nazri 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>
14 years agobash completion: Support "divergence from upstream" messages in __git_ps1
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>
14 years agomsvc: Fix some "expr evaluates to function" compiler warnings
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>
14 years agoMerge remote branch 'origin/master'
Avery Pennarun [Thu, 24 Jun 2010 06:11:04 +0000 (02:11 -0400)]
Merge remote branch 'origin/master'

* origin/master:
  Fixed regression with splitting out new subtree
  Use 'git merge -Xsubtree' when git version >= 1.7.0.

14 years ago(Hopefully) fix PATH setting for msysgit.
Avery Pennarun [Thu, 24 Jun 2010 05:53:05 +0000 (01:53 -0400)]
(Hopefully) fix PATH setting for msysgit.

Reported by Evan Shaw.  The problem is that $(git --exec-path) includes a
'git' binary which is incompatible with the one in /usr/bin; if you run it,
it gives you an error about libiconv2.dll.

You might think we could just add $(git --exec-path) at the *end* of PATH,
but then if there are multiple versions of git installed, we could end up
with the wrong one; earlier versions used to put git-sh-setup in /usr/bin,
so we'd pick up that one before the new one.

So now we just set PATH back to its original value right after running
git-sh-setup, and we should be okay.

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

14 years agourl.c: "<scheme>://" part at the beginning should not be URL decoded
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>
14 years agoUpdate draft release notes to 1.7.2
Junio 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>
14 years agoMerge 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

14 years agoMerge 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)

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

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

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

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

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

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

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

14 years agoUpdate draft release notes to 1.7.1.1
Junio 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>
14 years agoMerge branch 'ic/maint-rebase-i-abort' into maint
Junio 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

14 years agoMerge branch 'cc/maint-commit-reflog-msg' into maint
Junio 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

14 years agoMerge branch 'jk/maint-advice-empty-amend' into maint
Junio 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

14 years agoMerge branch 'tc/commit-abbrev-fix' into maint
Junio 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

14 years agoMerge branch 'jn/document-rebase-i-p-limitation' into maint
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

14 years agoMerge branch 'jn/checkout-doc' into maint
Junio 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

14 years agoMerge branch 'cc/maint-diff-CC-binary' into maint
Junio 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

14 years agoMerge branch 'jc/t9129-any-utf8' into maint
Junio 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

14 years agoMerge branch 'cb/ls-files-cdup' into maint
Junio 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

14 years agoMerge branch 'tc/merge-m-log' into maint
Junio 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

14 years agoMerge branch 'ph/clone-message-reword' into maint
Junio 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

14 years agoMerge branch 'jn/maint-amend-missing-name' into maint
Junio 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

14 years agoMerge branch 'pc/remove-warn' into maint
Junio 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

14 years agotests: remove unnecessary '^' from 'expr' regular expression
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>
14 years agot/t7811-grep-open.sh: remove broken/redundant creation of fake "less" script
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>
14 years agot/t7811-grep-open.sh: ensure fake "less" is made executable
Brandon 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>
14 years agot/lib-pager.sh: remove unnecessary '^' from 'expr' regular expression
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>
14 years agoMerge 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:

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

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

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

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

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

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

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

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

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

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

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

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

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

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