Code

git.git
14 years agoMerge branch 'en/and-cascade-tests' into next
Junio C Hamano [Mon, 15 Nov 2010 19:02:15 +0000 (11:02 -0800)]
Merge branch 'en/and-cascade-tests' into next

* en/and-cascade-tests: (25 commits)
  t4124 (apply --whitespace): use test_might_fail
  t3404: do not use 'describe' to implement test_cmp_rev
  t3404 (rebase -i): introduce helper to check position of HEAD
  t3404 (rebase -i): move comment to description
  t3404 (rebase -i): unroll test_commit loops
  t3301 (notes): use test_expect_code for clarity
  t1400 (update-ref): use test_must_fail
  t1502 (rev-parse --parseopt): test exit code from "-h"
  t6022 (renaming merge): chain test commands with &&
  test-lib: introduce test_line_count to measure files
  tests: add missing &&, batch 2
  tests: add missing &&
  Introduce sane_unset and use it to ensure proper && chaining
  t7800 (difftool): add missing &&
  t7601 (merge-pull-config): add missing &&
  t7001 (mv): add missing &&
  t6016 (rev-list-graph-simplify-history): add missing &&
  t5602 (clone-remote-exec): add missing &&
  t4026 (color): remove unneeded and unchained command
  t4019 (diff-wserror): add lots of missing &&
  ...

Conflicts:
t/t6020-merge-df.sh
t/t6036-recursive-corner-cases.sh
t/t7006-pager.sh

14 years agoMerge branch 'mm/phrase-remote-tracking' into next
Junio C Hamano [Mon, 15 Nov 2010 19:02:15 +0000 (11:02 -0800)]
Merge branch 'mm/phrase-remote-tracking' into next

* mm/phrase-remote-tracking:
  git-branch.txt: mention --set-upstream as a way to change upstream configuration
  user-manual: remote-tracking can be checked out, with detached HEAD
  user-manual.txt: explain better the remote(-tracking) branch terms
  Change incorrect "remote branch" to "remote tracking branch" in C code
  Change incorrect uses of "remote branch" meaning "remote-tracking"
  Change "tracking branch" to "remote-tracking branch"
  everyday.txt: change "tracking branch" to "remote-tracking branch"
  Change remote tracking to remote-tracking in non-trivial places
  Replace "remote tracking" with "remote-tracking"
  Better "Changed but not updated" message in git-status

14 years agoMerge branch 'rs/opt-help-text' into next
Junio C Hamano [Mon, 15 Nov 2010 19:02:15 +0000 (11:02 -0800)]
Merge branch 'rs/opt-help-text' into next

* rs/opt-help-text:
  verify-tag: document --verbose
  branch: improve --verbose description
  archive: improve --verbose description
  Describe various forms of "be quiet" using OPT__QUIET
  add OPT__FORCE
  add description parameter to OPT__QUIET
  add description parameter to OPT__DRY_RUN
  add description parameter to OPT__VERBOSE

14 years agoMerge branch 'cb/maint-orphan-merge-noclobber' into next
Junio C Hamano [Mon, 15 Nov 2010 19:02:14 +0000 (11:02 -0800)]
Merge branch 'cb/maint-orphan-merge-noclobber' into next

* cb/maint-orphan-merge-noclobber:
  do not overwrite untracked during merge from unborn branch

Conflicts:
t/t7607-merge-overwrite.sh

14 years agoMerge branch 'ao/send-email-irt' into next
Junio C Hamano [Mon, 15 Nov 2010 19:02:14 +0000 (11:02 -0800)]
Merge branch 'ao/send-email-irt' into next

* ao/send-email-irt:
  git-send-email.perl: make initial In-Reply-To apply only to first email

14 years agoMerge branch 'jk/add-e-doc' into next
Junio C Hamano [Mon, 15 Nov 2010 19:02:13 +0000 (11:02 -0800)]
Merge branch 'jk/add-e-doc' into next

* jk/add-e-doc:
  docs: give more hints about how "add -e" works

14 years agoMerge branch 'master' into next
Junio C Hamano [Mon, 15 Nov 2010 19:01:58 +0000 (11:01 -0800)]
Merge branch 'master' into next

* master:
  tests: use test_cmp instead of piping to diff(1)
  t7004-tag.sh: re-arrange git tag comment for clarity
  rebase -X: do not clobber strategy
  Documentation: document show -s
  dir.c: fix EXC_FLAG_MUSTBEDIR match in sparse checkout

14 years agoMerge branch 'maint'
Junio C Hamano [Mon, 15 Nov 2010 19:00:24 +0000 (11:00 -0800)]
Merge branch 'maint'

* maint:
  rebase -X: do not clobber strategy

14 years agoverify-tag: document --verbose
René Scharfe [Mon, 8 Nov 2010 18:04:51 +0000 (19:04 +0100)]
verify-tag: document --verbose

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agobranch: improve --verbose description
René Scharfe [Mon, 8 Nov 2010 18:03:58 +0000 (19:03 +0100)]
branch: improve --verbose description

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoarchive: improve --verbose description
René Scharfe [Mon, 8 Nov 2010 18:02:57 +0000 (19:02 +0100)]
archive: improve --verbose description

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoDescribe various forms of "be quiet" using OPT__QUIET
Jonathan Nieder [Mon, 8 Nov 2010 19:54:48 +0000 (13:54 -0600)]
Describe various forms of "be quiet" using OPT__QUIET

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoadd OPT__FORCE
René Scharfe [Mon, 8 Nov 2010 18:01:54 +0000 (19:01 +0100)]
add OPT__FORCE

Add OPT__FORCE as a helper macro in the same spirit as OPT__VERBOSE
et.al. to simplify defining -f/--force options.

Signed-off-by: Rene Scharfe <rene.scharfe@lstfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoadd description parameter to OPT__QUIET
René Scharfe [Mon, 8 Nov 2010 18:06:54 +0000 (19:06 +0100)]
add description parameter to OPT__QUIET

Allows better help text to be defined than "be quiet".  Also make use
of the macro in a place that already had a different description.  No
object code changes intended.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoadd description parameter to OPT__DRY_RUN
René Scharfe [Mon, 8 Nov 2010 17:58:51 +0000 (18:58 +0100)]
add description parameter to OPT__DRY_RUN

Allows better help text to be defined than "dry run".  Also make use
of the macro in places that already had a different description.  No
object code changes intended.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoadd description parameter to OPT__VERBOSE
René Scharfe [Mon, 8 Nov 2010 17:56:39 +0000 (18:56 +0100)]
add description parameter to OPT__VERBOSE

Allows better help text to be defined than "be verbose".  Also make use
of the macro in places that already had a different description.  No
object code changes intended.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agodo not overwrite untracked during merge from unborn branch
Clemens Buchacher [Sun, 14 Nov 2010 22:07:49 +0000 (23:07 +0100)]
do not overwrite untracked during merge from unborn branch

In case HEAD does not point to a valid commit yet, merge is
implemented as a hard reset. This will cause untracked files to be
overwritten.

Instead, assume the empty tree for HEAD and do a regular merge. An
untracked file will cause the merge to abort and do nothing. If no
conflicting files are present, the merge will have the same effect
as a hard reset.

Signed-off-by: Clemens Buchacher <drizzd@aon.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agotests: use test_cmp instead of piping to diff(1)
Ævar Arnfjörð Bjarmason [Sun, 14 Nov 2010 14:44:16 +0000 (14:44 +0000)]
tests: use test_cmp instead of piping to diff(1)

Change submodule tests that piped to diff(1) to use test_cmp. The
resulting unified diff is easier to read.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agot7004-tag.sh: re-arrange git tag comment for clarity
Ævar Arnfjörð Bjarmason [Sun, 14 Nov 2010 14:44:15 +0000 (14:44 +0000)]
t7004-tag.sh: re-arrange git tag comment for clarity

Split the "message in editor has initial comment" test into three
tests. The motivation is to be able to only skip the middle part under
NO_GETTEXT_POISON.

In addition the return value of 'git tag' was being returned. We now
check that it's non-zero. I used ! instead of test_must_fail so that
the GIT_EDITOR variable was only used in this command invocation, and
because the surrounding tests use this style.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agogit-send-email.perl: make initial In-Reply-To apply only to first email
Antonio Ospite [Fri, 12 Nov 2010 14:55:08 +0000 (15:55 +0100)]
git-send-email.perl: make initial In-Reply-To apply only to first email

When an initial --in-reply-to is supplied, make it apply only to the
first message; --[no-]chain-reply-to setting are honored by second and
subsequent messages; this is also how the git-format-patch option with
the same name behaves.

Moreover, when $initial_reply_to is asked to the user interactively it
is asked as the "Message-ID to be used as In-Reply-To for the _first_
email", this makes the user think that the second and subsequent
patches are not using it but are considered as replies to the first
message or chained according to the --[no-]chain-reply setting.

Look at the v2 series in the illustration to see what the new behavior
ensures:

       (before the patch)          |      (after the patch)
 [PATCH 0/2] Here is what I did... | [PATCH 0/2] Here is what I did...
   [PATCH 1/2] Clean up and tests  |   [PATCH 1/2] Clean up and tests
   [PATCH 2/2] Implementation      |   [PATCH 2/2] Implementation
   [PATCH v2 0/3] Here is a reroll |   [PATCH v2 0/3] Here is a reroll
   [PATCH v2 1/3] Clean up         |     [PATCH v2 1/3] Clean up
   [PATCH v2 2/3] New tests        |     [PATCH v2 2/3] New tests
   [PATCH v2 3/3] Implementation   |     [PATCH v2 3/3] Implementation

This is the typical behaviour we want when we send a series with cover
letter in reply to some discussion, the new patch series should appear
as a separate subtree in the discussion.

Also update the documentation on --in-reply-to to describe the new
behavior.

Signed-off-by: Antonio Ospite <ospite@studenti.unina.it>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agorebase -X: do not clobber strategy
Martin von Zweigbergk [Wed, 10 Nov 2010 07:14:26 +0000 (08:14 +0100)]
rebase -X: do not clobber strategy

If any strategy options are passed to -X, the strategy will always be
set to 'recursive'. According to the documentation, it should default to
'recursive' if it is not set, but it should be possible to set it to
other values.

This fixes a regression introduced in v1.7.3-rc0~67^2 (2010-07-29).

Signed-off-by: Martin von Zweigbergk <martin.von.zweigbergk@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agodocs: give more hints about how "add -e" works
Jeff King [Tue, 9 Nov 2010 04:58:20 +0000 (23:58 -0500)]
docs: give more hints about how "add -e" works

The previous text was not exactly accurate; it is OK to
change space and minus lines, but only in certain ways.

This patch takes a whole new approach, which is to describe
the sorts of conceptual operations you might want to
perform. It also includes a healthy dose of warnings about
how things can go wrong.

Since the size of the text is getting quite long, it also
splits this out into an "editing patches" section. This
makes more sense with the current structure, anyway, which
already splits out the interactive mode description.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agot4124 (apply --whitespace): use test_might_fail
Jonathan Nieder [Sun, 31 Oct 2010 07:41:08 +0000 (02:41 -0500)]
t4124 (apply --whitespace): use test_might_fail

Use test_might_fail instead of ignoring the exit status from git
config --unset, and let the exit status propagate past rm -f (which
does not fail on ENOENT).  Otherwise bugs that lead git config to
crash would not be detected when this test runs.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agot3404: do not use 'describe' to implement test_cmp_rev
Junio C Hamano [Tue, 9 Nov 2010 23:20:20 +0000 (15:20 -0800)]
t3404: do not use 'describe' to implement test_cmp_rev

Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agot3404 (rebase -i): introduce helper to check position of HEAD
Jonathan Nieder [Sun, 31 Oct 2010 07:40:30 +0000 (02:40 -0500)]
t3404 (rebase -i): introduce helper to check position of HEAD

The same code to check the position of HEAD is used by several
tests in this script.  Factor it out as a function and simplify it.

Noticed using an &&-chaining tester, because the current code
does not propagate the precise exit status from errors.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agot3404 (rebase -i): move comment to description
Jonathan 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>
14 years agot3404 (rebase -i): unroll test_commit loops
Jonathan 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>
14 years agot3301 (notes): use test_expect_code for clarity
Jonathan 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>
14 years agot1400 (update-ref): use test_must_fail
Jonathan 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>
14 years agot1502 (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>
14 years agot6022 (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>
14 years agotest-lib: introduce test_line_count to measure files
Jonathan 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>
14 years agotests: add missing &&, batch 2
Jonathan 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>
14 years agotests: 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>
14 years agoMerge branch 'maint'
Junio C Hamano [Tue, 9 Nov 2010 17:45:16 +0000 (09:45 -0800)]
Merge branch 'maint'

* maint:
  Documentation: document show -s
  dir.c: fix EXC_FLAG_MUSTBEDIR match in sparse checkout

14 years agoDocumentation: document show -s
Jonathan Nieder [Tue, 9 Nov 2010 17:12:48 +0000 (11:12 -0600)]
Documentation: document show -s

Git's diff machinery has supported a -s (silence diff output) option
as far back as v0.99~900 (Silent flag for show-diff, 2005-04-13), but
the option is only advertised in an odd corner of the git diff-tree
manual.

The main use is to retrieve basic metadata about a commit:

git show -s rev

Explain this in the 'git log' manual and provide an example in the
'git show' examples section.  This is kind of a cop-out, since it
would be more useful to explain it in the 'git show' manual proper,
which says:

The command takes options applicable to the git
diff-tree command to control how the changes the
commit introduces are shown.

This manual page describes only the most frequently
used options.

Fixing that is a larger task for another day.

Reported-by: Will Hall <will@gnatter.net>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agodir.c: fix EXC_FLAG_MUSTBEDIR match in sparse checkout
Nguyễn Thái Ngọc Duy [Sun, 7 Nov 2010 18:04:58 +0000 (01:04 +0700)]
dir.c: fix EXC_FLAG_MUSTBEDIR match in sparse checkout

Commit c84de70 (excluded_1(): support exclude files in index -
2009-08-20) tries to work around the fact that there is no
directory/file information in index entries, therefore
EXC_FLAG_MUSTBEDIR match would fail.

Unfortunately the workaround is flawed. This fixes it.

Reported-by: Thomas Rinderknecht <thomasr@sailguy.org>
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoMerge branch 'ao/send-email-irt' into next
Junio C Hamano [Mon, 8 Nov 2010 18:58:47 +0000 (10:58 -0800)]
Merge branch 'ao/send-email-irt' into next

* ao/send-email-irt:
  t9001: send-email interation with --in-reply-to and --chain-reply-to

14 years agot9001: send-email interation with --in-reply-to and --chain-reply-to
Junio C Hamano [Tue, 19 Oct 2010 18:46:31 +0000 (11:46 -0700)]
t9001: send-email interation with --in-reply-to and --chain-reply-to

 1. When --in-reply-to gives $reply_to, the first one becomes a reply to
    that message, with or without --chain-reply-to.

 2. When --chain-reply-to is in effect, all the messages are strung
    together to form a single chain.  The first message may be in reply to
    the $reply_to given by --in-reply-to command line option (see
    previous), or the root of the discussion thread.  The second one is a
    response to the first one, and the third one is a response to the
    second one, etc.

 3. When --chain-reply-to is not in effect:

    a. When --in-reply-to is used, too, the second and the subsequent ones
       become replies to $reply_to.  Together with the first rule, all
       messages become replies to $reply_to given by --in-reply-to.

    b. When --in-reply-to is not used, presumably the second and
       subsequent ones become replies to the first one, which would be the
       root.

The documentation is reasonably clear about the 1., 2. and 3a. above, I
think, even though I do not think 3b. is clearly specified.

The two tests added by this patch at least documents what happens between
these two options.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoMerge branch 'mg/make-prove' into next
Junio C Hamano [Fri, 5 Nov 2010 18:52:51 +0000 (11:52 -0700)]
Merge branch 'mg/make-prove' into next

* mg/make-prove:
  test: allow running the tests under "prove"

14 years agoMerge branch 'jn/gitweb-test' into next
Junio C Hamano [Fri, 5 Nov 2010 18:39:08 +0000 (11:39 -0700)]
Merge branch 'jn/gitweb-test' into next

* jn/gitweb-test:
  gitweb/Makefile: Include gitweb/config.mak
  gitweb/Makefile: Add 'test' and 'test-installed' targets
  t/gitweb-lib.sh: Add support for GITWEB_TEST_INSTALLED
  gitweb: Move call to evaluate_git_version after evaluate_gitweb_config

14 years agoMerge branch 'il/remote-fd-ext' into next
Junio C Hamano [Fri, 5 Nov 2010 18:39:08 +0000 (11:39 -0700)]
Merge branch 'il/remote-fd-ext' into next

* il/remote-fd-ext:
  git-remote-ext
  git-remote-fd
  Add bidirectional_transfer_loop()

14 years agoMerge branch 'en/merge-recursive' into next
Junio C Hamano [Fri, 5 Nov 2010 18:39:08 +0000 (11:39 -0700)]
Merge branch 'en/merge-recursive' into next

* en/merge-recursive: (40 commits)
  merge-recursive:make_room_for_directories - work around dumb compilers
  merge-recursive: Remove redundant path clearing for D/F conflicts
  merge-recursive: Make room for directories in D/F conflicts
  handle_delete_modify(): Check whether D/F conflicts are still present
  merge_content(): Check whether D/F conflicts are still present
  conflict_rename_rename_1to2(): Fix checks for presence of D/F conflicts
  conflict_rename_delete(): Check whether D/F conflicts are still present
  merge-recursive: Delay modify/delete conflicts if D/F conflict present
  merge-recursive: Delay content merging for renames
  merge-recursive: Delay handling of rename/delete conflicts
  merge-recursive: Move handling of double rename of one file to other file
  merge-recursive: Move handling of double rename of one file to two
  merge-recursive: Avoid doubly merging rename/add conflict contents
  merge-recursive: Update merge_content() call signature
  merge-recursive: Update conflict_rename_rename_1to2() call signature
  merge-recursive: Structure process_df_entry() to handle more cases
  merge-recursive: Have process_entry() skip D/F or rename entries
  merge-recursive: New function to assist resolving renames in-core only
  merge-recursive: New data structures for deferring of D/F conflicts
  merge-recursive: Move process_entry's content merging into a function
  ...

14 years agoMerge branch 'cb/diff-fname-optim' into next
Junio C Hamano [Fri, 5 Nov 2010 18:39:08 +0000 (11:39 -0700)]
Merge branch 'cb/diff-fname-optim' into next

* cb/diff-fname-optim:
  diff: avoid repeated scanning while looking for funcname
  do not search functions for patch ID
  add rebase patch id tests

14 years agoMerge branch 'ak/submodule-sync' into next
Junio C Hamano [Fri, 5 Nov 2010 18:39:08 +0000 (11:39 -0700)]
Merge branch 'ak/submodule-sync' into next

* ak/submodule-sync:
  submodule sync: Update "submodule.<name>.url" for empty directories

14 years agoMerge branch 'cb/leading-path-removal' into next
Junio C Hamano [Fri, 5 Nov 2010 18:39:08 +0000 (11:39 -0700)]
Merge branch 'cb/leading-path-removal' into next

* cb/leading-path-removal:
  do not overwrite files in leading path
  lstat_cache: optionally return match_len
  add function check_ok_to_remove()
  t7607: add leading-path tests
  t7607: use test-lib functions and check MERGE_HEAD

14 years agoMerge branch 'jk/push-progress' into next
Junio C Hamano [Fri, 5 Nov 2010 18:39:07 +0000 (11:39 -0700)]
Merge branch 'jk/push-progress' into next

* jk/push-progress:
  push: pass --progress down to git-pack-objects
  t5523-push-upstream: test progress messages
  t5523-push-upstream: add function to ensure fresh upstream repo
  test_terminal: ensure redirections work reliably
  test_terminal: catch use without TTY prerequisite
  test-lib: allow test code to check the list of declared prerequisites
  tests: test terminal output to both stdout and stderr
  tests: factor out terminal handling from t7006

14 years agoMerge branch 'jn/send-pack-error' into next
Junio C Hamano [Fri, 5 Nov 2010 18:39:07 +0000 (11:39 -0700)]
Merge branch 'jn/send-pack-error' into next

* jn/send-pack-error:
  send-pack: avoid redundant "pack-objects died with strange error"

14 years agoMerge branch 'ks/no-textconv-symlink' into next
Junio C Hamano [Fri, 5 Nov 2010 18:39:07 +0000 (11:39 -0700)]
Merge branch 'ks/no-textconv-symlink' into next

* ks/no-textconv-symlink:
  blame,cat-file --textconv: Don't assume mode is ``S_IFREF | 0664''
  blame,cat-file: Demonstrate --textconv is wrongly running converter on symlinks
  blame,cat-file: Prepare --textconv tests for correctly-failing conversion program

14 years agoMerge branch 'jk/no-textconv-symlink' into next
Junio C Hamano [Fri, 5 Nov 2010 18:39:07 +0000 (11:39 -0700)]
Merge branch 'jk/no-textconv-symlink' into next

* jk/no-textconv-symlink:
  diff: don't use pathname-based diff drivers for symlinks

14 years agoMerge branch 'kb/completion-checkout' into next
Junio C Hamano [Fri, 5 Nov 2010 18:39:07 +0000 (11:39 -0700)]
Merge branch 'kb/completion-checkout' into next

* kb/completion-checkout:
  completion: Support the DWIM mode for git checkout

14 years agoMerge branch 'sg/completion' into next
Junio C Hamano [Fri, 5 Nov 2010 18:39:07 +0000 (11:39 -0700)]
Merge branch 'sg/completion' into next

* sg/completion:
  bash: support pretty format aliases
  bash: support more 'git notes' subcommands and their options
  bash: not all 'git bisect' subcommands make sense when not bisecting
  bash: offer refs for 'git bisect start'

14 years agoMerge branch 'sg/bisect' into next
Junio C Hamano [Fri, 5 Nov 2010 18:39:07 +0000 (11:39 -0700)]
Merge branch 'sg/bisect' into next

* sg/bisect:
  bisect: check for mandatory argument of 'bisect replay'
  bisect: improve error msg of 'bisect reset' when original HEAD is deleted
  bisect: improve error message of 'bisect log' while not bisecting

14 years agoMerge branch 'jm/mailmap' into next
Junio C Hamano [Fri, 5 Nov 2010 18:39:07 +0000 (11:39 -0700)]
Merge branch 'jm/mailmap' into next

* jm/mailmap:
  t4203: do not let "git shortlog" DWIM based on tty
  t4203 (mailmap): stop hardcoding commit ids and dates
  mailmap: fix use of freed memory

14 years agoMerge branch 'jk/missing-config' into next
Junio C Hamano [Fri, 5 Nov 2010 18:39:06 +0000 (11:39 -0700)]
Merge branch 'jk/missing-config' into next

* jk/missing-config:
  config: treat non-existent config files as empty

14 years agoMerge branch 'jk/diff-CBM' into next
Junio C Hamano [Fri, 5 Nov 2010 18:39:06 +0000 (11:39 -0700)]
Merge branch 'jk/diff-CBM' into next

* jk/diff-CBM:
  diff: report bogus input to -C/-M/-B

14 years agoMerge branch 'jk/add-e-doc' into next
Junio C Hamano [Fri, 5 Nov 2010 18:39:06 +0000 (11:39 -0700)]
Merge branch 'jk/add-e-doc' into next

* jk/add-e-doc:
  docs: give more hints about how "add -e" works

14 years agoMerge branch 'jl/maint-pull-tags-doc' into next
Junio C Hamano [Fri, 5 Nov 2010 18:39:06 +0000 (11:39 -0700)]
Merge branch 'jl/maint-pull-tags-doc' into next

* jl/maint-pull-tags-doc:
  pull: Remove --tags option from manpage

14 years agoMerge branch 'kb/maint-submodule-savearg' into next
Junio C Hamano [Fri, 5 Nov 2010 18:39:06 +0000 (11:39 -0700)]
Merge branch 'kb/maint-submodule-savearg' into next

* kb/maint-submodule-savearg:
  submodule: only preserve flags across recursive status/update invocations
  submodule: preserve all arguments exactly when recursing

14 years agoMerge branch 'kb/maint-diff-ws-check' into next
Junio C Hamano [Fri, 5 Nov 2010 18:39:06 +0000 (11:39 -0700)]
Merge branch 'kb/maint-diff-ws-check' into next

* kb/maint-diff-ws-check:
  diff: handle lines containing only whitespace and tabs better
  test-lib: extend test_decode_color to handle more color codes

14 years agoMerge branch 'bg/maint-gitweb-test-lib' into next
Junio C Hamano [Fri, 5 Nov 2010 18:39:06 +0000 (11:39 -0700)]
Merge branch 'bg/maint-gitweb-test-lib' into next

* bg/maint-gitweb-test-lib:
  t/gitweb-lib: Don't pass constant to decode_utf8

Conflicts:
t/gitweb-lib.sh

14 years agoMerge branch 'tr/maint-merge-file-subdir' into next
Junio C Hamano [Fri, 5 Nov 2010 18:39:06 +0000 (11:39 -0700)]
Merge branch 'tr/maint-merge-file-subdir' into next

* tr/maint-merge-file-subdir:
  merge-file: correctly find files when called in subdir
  prefix_filename(): safely handle the case where pfx_len=0

14 years agoMerge branch 'tr/maint-git-repack-tmpfile' into next
Junio C Hamano [Fri, 5 Nov 2010 18:39:06 +0000 (11:39 -0700)]
Merge branch 'tr/maint-git-repack-tmpfile' into next

* tr/maint-git-repack-tmpfile:
  repack: place temporary packs under .git/objects/pack/

14 years agoMerge branch 'jk/maint-rev-list-nul' into next
Junio C Hamano [Fri, 5 Nov 2010 18:39:06 +0000 (11:39 -0700)]
Merge branch 'jk/maint-rev-list-nul' into next

* jk/maint-rev-list-nul:
  rev-list: handle %x00 NUL in user format

14 years agoMerge branch 'dk/maint-blame-el' into next
Junio C Hamano [Fri, 5 Nov 2010 18:39:05 +0000 (11:39 -0700)]
Merge branch 'dk/maint-blame-el' into next

* dk/maint-blame-el:
  git-blame.el: Add (require 'format-spec)

14 years agoMerge branch 'jk/maint-apply-no-binary' into next
Junio C Hamano [Fri, 5 Nov 2010 18:39:05 +0000 (11:39 -0700)]
Merge branch 'jk/maint-apply-no-binary' into next

* jk/maint-apply-no-binary:
  apply: don't segfault on binary files with missing data

14 years agoMerge branch 'master' into next
Junio C Hamano [Fri, 5 Nov 2010 17:42:56 +0000 (10:42 -0700)]
Merge branch 'master' into next

* master:
  t0003: properly quote $HOME
  contrib/ciabot: git-describe commit instead of HEAD
  Fix a formatting error in git-merge.txt
  git-gui: apply color information from git diff output
  git-gui: use wordprocessor tab style to ensure tabs work as expected
  git-gui: correct assignment of work-tree
  git-gui: use full dialog width for old name when renaming branch
  git-gui: generic version trimming
  git-gui: enable the Tk console when tracing/debugging on Windows
  git-gui: show command-line errors in a messagebox on Windows
  On Windows, avoid git-gui to call Cygwin's nice utility

14 years agoMerge branch 'aw/git-p4-deletion'
Junio C Hamano [Fri, 5 Nov 2010 17:42:46 +0000 (10:42 -0700)]
Merge branch 'aw/git-p4-deletion'

* aw/git-p4-deletion:
  Fix handling of git-p4 on deleted files

14 years agoMerge branch 'master' of git://repo.or.cz/git-gui
Junio C Hamano [Fri, 5 Nov 2010 17:41:09 +0000 (10:41 -0700)]
Merge branch 'master' of git://repo.or.cz/git-gui

* 'master' of git://repo.or.cz/git-gui:
  git-gui: apply color information from git diff output
  git-gui: use wordprocessor tab style to ensure tabs work as expected
  git-gui: correct assignment of work-tree
  git-gui: use full dialog width for old name when renaming branch
  git-gui: generic version trimming
  git-gui: enable the Tk console when tracing/debugging on Windows
  git-gui: show command-line errors in a messagebox on Windows
  On Windows, avoid git-gui to call Cygwin's nice utility

14 years agoMerge branch 'maint'
Junio C Hamano [Fri, 5 Nov 2010 17:36:49 +0000 (10:36 -0700)]
Merge branch 'maint'

* maint:
  Fix a formatting error in git-merge.txt

14 years agopull: Remove --tags option from manpage
Jens Lehmann [Wed, 3 Nov 2010 20:55:48 +0000 (21:55 +0100)]
pull: Remove --tags option from manpage

"Fetch all tags and merge them" does not make any sense as a request at
the logical level, even though it might be more convenient to type.

Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agosubmodule: only preserve flags across recursive status/update invocations
Kevin Ballard [Wed, 3 Nov 2010 06:26:25 +0000 (23:26 -0700)]
submodule: only preserve flags across recursive status/update invocations

Recursive invocations of submodule update/status preserve all arguments,
so executing

        git submodule update --recursive -- foo

attempts to recursively update a submodule named "foo".

Naturally, this fails as one cannot have an infinitely-deep stack of
submodules each containing a submodule named "foo". The desired behavior
is instead to update foo and then recursively update all submodules
inside of foo.

This commit accomplishes that by only saving the flags for use in the
recursive invocation.

Signed-off-by: Kevin Ballard <kevin@sb.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agosubmodule: preserve all arguments exactly when recursing
Kevin Ballard [Wed, 3 Nov 2010 06:26:24 +0000 (23:26 -0700)]
submodule: preserve all arguments exactly when recursing

Shell variables only hold strings, not lists of parameters,
so $orig_args after

        orig_args="$@"

fails to remember where each parameter starts and ends, if
some include whitespace.  So

        git submodule update \
                --reference='/var/lib/common objects.git' \
                --recursive --init

becomes

        git submodule update --reference=/var/lib/common \
                objects.git --recursive --init

in the inner repositories.  Use "git rev-parse --sq-quote" to
save parameters in quoted form ready for evaluation by the
shell, avoiding this problem.

Helped-By: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Kevin Ballard <kevin@sb.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agogit-blame.el: Add (require 'format-spec)
David Kågedal [Tue, 25 May 2010 13:44:15 +0000 (15:44 +0200)]
git-blame.el: Add (require 'format-spec)

c5022f57 (git-blame.el: Change how blame information is shown,
2009-09-29) taught the "M-x git-blame" mode to format its output
in a more interesting way, making use of the format-spec function.

format-spec is included in Emacs 23 and is a useful function.
Older emacsen can get it from Gnus.  In all emacsen, we need
to 'require it before use to avoid warnings:

 git-blame.el:483:1:Warning: the function `format-spec' is not known to be
     defined.

Reported-by: Sergei Organov <osv@javad.com>
Reported-by: Kevin Ryde <user42@zip.com.au>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agogit-branch.txt: mention --set-upstream as a way to change upstream configuration
Matthieu Moy [Tue, 2 Nov 2010 15:31:28 +0000 (16:31 +0100)]
git-branch.txt: mention --set-upstream as a way to change upstream configuration

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agouser-manual: remote-tracking can be checked out, with detached HEAD
Jonathan Nieder [Tue, 2 Nov 2010 15:31:27 +0000 (16:31 +0100)]
user-manual: remote-tracking can be checked out, with detached HEAD

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agouser-manual.txt: explain better the remote(-tracking) branch terms
Matthieu Moy [Tue, 2 Nov 2010 21:06:20 +0000 (22:06 +0100)]
user-manual.txt: explain better the remote(-tracking) branch terms

Now that the documentation is mostly consistant in the use of "remote
branch" Vs "remote-tracking branch", let's make this distinction explicit
early in the user-manual.

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoChange incorrect "remote branch" to "remote tracking branch" in C code
Matthieu Moy [Tue, 2 Nov 2010 15:31:25 +0000 (16:31 +0100)]
Change incorrect "remote branch" to "remote tracking branch" in C code

(Just like we did for documentation already)

In the process, we change "non-remote branch" to "branch outside the
refs/remotes/ hierarchy" to avoid the ugly "non-remote-tracking branch".
The new formulation actually corresponds to how the code detects this
case (i.e. prefixcmp(refname, "refs/remotes")).

Also, we use 'remote-tracking branch' in generated merge messages (by
merge an fmt-merge-msg).

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoChange incorrect uses of "remote branch" meaning "remote-tracking"
Matthieu Moy [Tue, 2 Nov 2010 15:31:24 +0000 (16:31 +0100)]
Change incorrect uses of "remote branch" meaning "remote-tracking"

"remote branch" is a branch hosted in a remote repository, while
"remote-tracking branch" is a copy of such branch, hosted locally.
The distinction is subtle when the copy is up-to-date, but rather
fundamental to understand what "git fetch" and "git push" do.

This patch should fix all incorrect usages in Documentation/ directory.

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoChange "tracking branch" to "remote-tracking branch"
Matthieu Moy [Tue, 2 Nov 2010 15:31:23 +0000 (16:31 +0100)]
Change "tracking branch" to "remote-tracking branch"

One more step towards consistancy. We change the documentation and the C
code in a single patch, since the only instances in the C code are in
comment and usage strings.

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoeveryday.txt: change "tracking branch" to "remote-tracking branch"
Matthieu Moy [Tue, 2 Nov 2010 15:31:22 +0000 (16:31 +0100)]
everyday.txt: change "tracking branch" to "remote-tracking branch"

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoChange remote tracking to remote-tracking in non-trivial places
Matthieu Moy [Tue, 2 Nov 2010 15:31:21 +0000 (16:31 +0100)]
Change remote tracking to remote-tracking in non-trivial places

To complement the straightforward perl application in previous patch,
this adds a few manual changes.

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoReplace "remote tracking" with "remote-tracking"
Matthieu Moy [Tue, 2 Nov 2010 15:31:20 +0000 (16:31 +0100)]
Replace "remote tracking" with "remote-tracking"

"remote-tracking" branch makes it explicit that the branch is "tracking a
remote", as opposed to "remote, and tracking something".

See discussion in e.g.
http://mid.gmane.org/8835ADF9-45E5-4A26-9F7F-A72ECC065BB2@gmail.com
for more details.

This patch is a straightforward application of

  perl -pi -e 's/remote tracking branch/remote-tracking branch/'

except in the RelNotes directory.

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoBetter "Changed but not updated" message in git-status
Matthieu Moy [Tue, 2 Nov 2010 15:31:19 +0000 (16:31 +0100)]
Better "Changed but not updated" message in git-status

Older Gits talked about "updating" a file to add its content to the
index, but this terminology is confusing for new users. "to stage" is far
more intuitive and already used in e.g. the "git stage" command name.

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoapply: don't segfault on binary files with missing data
Jeff King [Mon, 18 Oct 2010 18:39:17 +0000 (14:39 -0400)]
apply: don't segfault on binary files with missing data

Usually when applying a binary diff generated without
--binary, it will be rejected early, as we don't even have
the full sha1 of the pre- and post-images.

However, if the diff is generated with --full-index (but not
--binary), then we will actually try to apply it. If we have
the postimage blob, then we can take a shortcut and never
even look at the binary diff at all (e.g., this can happen
when rebasing changes within a repository).

If we don't have the postimage blob, though, we try to look
at the actual fragments, of which there are none, and get a
segfault. This patch checks explicitly for that case and
complains to the user instead of segfaulting. We need to
keep the check at a low level so that the "shortcut" case
above continues to work.

We also add a test that demonstrates the segfault. While
we're at it, let's also explicitly test the shortcut case.

Reported-by: Rafaël Carré <rafael.carre@gmail.com>
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agot0003: properly quote $HOME
Thomas Rast [Mon, 18 Oct 2010 09:09:54 +0000 (11:09 +0200)]
t0003: properly quote $HOME

6df42ab (Add global and system-wide gitattributes, 2010-09-01) forgot
to quote one instance of $HOME in the tests.  This would be valid
according to POSIX, but bash 4 helpfully declines to execute the
command in question with an "ambiguous redirection" error.

Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agocontrib/ciabot: git-describe commit instead of HEAD
Sven Eckelmann [Mon, 20 Sep 2010 09:31:22 +0000 (11:31 +0200)]
contrib/ciabot: git-describe commit instead of HEAD

For each commit a shorter version of the name will be generated. This is
either the truncated hash or the output of git-describe. The
call to git-describe was only made with an empty shell variable instead
of an actual commit hash. Thus it only described the current HEAD and
not each commit we want to submit to cia.vc.

Signed-off-by: Sven Eckelmann <sven.eckelmann@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoFix a formatting error in git-merge.txt
Nathan W. Panike [Fri, 29 Oct 2010 15:33:54 +0000 (10:33 -0500)]
Fix a formatting error in git-merge.txt

Inside an element of an enumerated list, the second and subsequent
paragraphs need to lose their indent and have to be strung together with a
line with a single '+' on it instead.  Otherwise the lines below are shown
in typewriter face, which just looks wrong.

Signed-off-by: Nathan W. Panike <nathan.panike@gmail.com>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoMerge branch 'master' into next
Junio C Hamano [Fri, 29 Oct 2010 00:14:03 +0000 (17:14 -0700)]
Merge branch 'master' into next

* master:
  completion: fix zsh check under bash with 'set -u'

14 years agocompletion: fix zsh check under bash with 'set -u'
Mark Lodato [Thu, 28 Oct 2010 01:08:21 +0000 (21:08 -0400)]
completion: fix zsh check under bash with 'set -u'

Commit 06f44c3 (completion: make compatible with zsh) broke bash
compatibility with 'set -u': a warning was generated when checking
$ZSH_VERSION.  The solution is to supply a default value, using
${ZSH_VERSION-}.  Thanks to SZEDER Gábor for the fix.

Signed-off-by: Mark Lodato <lodatom@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agogit-gui: apply color information from git diff output
Pat Thoyts [Fri, 22 Oct 2010 15:14:38 +0000 (16:14 +0100)]
git-gui: apply color information from git diff output

This patch extracts the ANSI color sequences from git diff output and
applies these to the diff view window. This ensures that the gui view
makes use of the current git configuration for whitespace display.

ANSI codes may include attributes, foreground and background in a single
sequence. Handle this and support bold and reverse attributes. Ignore
all other attributes.

Suggested-by: Tor Arvid Lund <torarvid@gmail.com>
Suggested-by: Junio C Hamano <gitster@pobox.com>
Tested-by: Tor Arvid Lund <torarvid@gmail.com>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
14 years agogit-gui: use wordprocessor tab style to ensure tabs work as expected
Pat Thoyts [Wed, 27 Oct 2010 22:37:31 +0000 (23:37 +0100)]
git-gui: use wordprocessor tab style to ensure tabs work as expected

The Tk text widget tab style is tabular where the first tab will align to
the first tabstop and if that position is left of the current location
then just a single character space is used. With the wordprocessor style
a tab moves the next character position to the next rightmost tabstop
as expected for viewing code.

Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
14 years agoMerge branch 'master' into next
Junio C Hamano [Wed, 27 Oct 2010 05:03:44 +0000 (22:03 -0700)]
Merge branch 'master' into next

* master:

14 years agoMerge branch 'ab/send-email-perl'
Junio C Hamano [Wed, 27 Oct 2010 05:02:52 +0000 (22:02 -0700)]
Merge branch 'ab/send-email-perl'

* ab/send-email-perl:
  send-email: extract_valid_address use qr// regexes
  send-email: is_rfc2047_quoted use qr// regexes
  send-email: use Perl idioms in while loop
  send-email: make_message_id use "require" instead of "use"
  send-email: send_message die on $!, not $?
  send-email: use (?:) instead of () if no match variables are needed
  send-email: sanitize_address use qq["foo"], not "\"foo\""
  send-email: sanitize_address use $foo, not "$foo"
  send-email: use \E***\Q instead of \*\*\*
  send-email: cleanup_compose_files doesn't need a prototype
  send-email: unique_email_list doesn't need a prototype
  send-email: file_declares_8bit_cte doesn't need a prototype
  send-email: get_patch_subject doesn't need a prototype
  send-email: use lexical filehandles during sending
  send-email: use lexical filehandles for $compose
  send-email: use lexical filehandle for opendir

Conflicts:
git-send-email.perl

14 years agoMerge branch 'sb/send-email-use-to-from-input'
Junio C Hamano [Wed, 27 Oct 2010 05:02:03 +0000 (22:02 -0700)]
Merge branch 'sb/send-email-use-to-from-input'

* sb/send-email-use-to-from-input:
  send-email: Don't leak To: headers between patches
  send-email: Use To: headers in patch files

Conflicts:
git-send-email.perl

14 years agoMerge branch 'ab/require-perl-5.8'
Junio C Hamano [Wed, 27 Oct 2010 04:57:31 +0000 (21:57 -0700)]
Merge branch 'ab/require-perl-5.8'

* ab/require-perl-5.8:
  perl: use "use warnings" instead of -w
  perl: bump the required Perl version to 5.8 from 5.6.[21]

14 years agoMerge branch 'kb/merge-recursive-rename-threshold'
Junio C Hamano [Wed, 27 Oct 2010 04:54:04 +0000 (21:54 -0700)]
Merge branch 'kb/merge-recursive-rename-threshold'

* kb/merge-recursive-rename-threshold:
  diff: add synonyms for -M, -C, -B
  merge-recursive: option to specify rename threshold

Conflicts:
Documentation/diff-options.txt
Documentation/merge-strategies.txt

14 years agoMerge branch 'jp/send-email-to-cmd'
Junio C Hamano [Wed, 27 Oct 2010 04:52:26 +0000 (21:52 -0700)]
Merge branch 'jp/send-email-to-cmd'

* jp/send-email-to-cmd:
  git-send-email.perl: Add --to-cmd

Conflicts:
git-send-email.perl

14 years agoMerge branch 'as/daemon-multi-listen'
Junio C Hamano [Wed, 27 Oct 2010 04:50:03 +0000 (21:50 -0700)]
Merge branch 'as/daemon-multi-listen'

* as/daemon-multi-listen:
  daemon: allow more than one host address given via --listen
  daemon: add helper function named_sock_setup

14 years agoMerge branch 'dm/mergetool-vimdiff'
Junio C Hamano [Wed, 27 Oct 2010 04:47:11 +0000 (21:47 -0700)]
Merge branch 'dm/mergetool-vimdiff'

* dm/mergetool-vimdiff:
  mergetool-lib: make the three-way diff the default for vim/gvim
  mergetool-lib: add a three-way diff view for vim/gvim
  mergetool-lib: combine vimdiff and gvimdiff run blocks