Revert "git-am: add am.threeWay config variable"
authorJunio C Hamano <gitster@pobox.com>
Fri, 24 Jul 2015 17:55:24 +0000 (10:55 -0700)
committerJunio C Hamano <gitster@pobox.com>
Fri, 24 Jul 2015 17:55:24 +0000 (10:55 -0700)
This reverts commit d96a275b91bae1800cd43be0651e886e7e042a17.

It used to be possible to apply a patch series with "git am mbox"
and then only after seeing a failure, switch to three-way mode via
"git am -3" (no other options or arguments). The commit being
reverted broke this workflow.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/config.txt
Documentation/git-am.txt
git-am.sh
t/t4150-am.sh
index 3e37b93ed2ac3edfe478952ef445678ae51a5d47..43bb53c0477276d81af484cdb64855698b6a635b 100644 (file)
@@ -769,14 +769,6 @@ am.keepcr::
        by giving '--no-keep-cr' from the command line.
        See linkgit:git-am[1], linkgit:git-mailsplit[1].
 
        by giving '--no-keep-cr' from the command line.
        See linkgit:git-am[1], linkgit:git-mailsplit[1].
 
-am.threeWay::
-       By default, `git am` will fail if the patch does not apply cleanly. When
-       set to true, this setting tells `git am` to fall back on 3-way merge if
-       the patch records the identity of blobs it is supposed to apply to and
-       we have those blobs available locally (equivalent to giving the `--3way`
-       option from the command line). Defaults to `false`.
-       See linkgit:git-am[1].
-
 apply.ignoreWhitespace::
        When set to 'change', tells 'git apply' to ignore changes in
        whitespace, in the same way as the '--ignore-space-change'
 apply.ignoreWhitespace::
        When set to 'change', tells 'git apply' to ignore changes in
        whitespace, in the same way as the '--ignore-space-change'
index dbea6e7ae9131a1e5c51dec460d58cc6deda701b..0d8ba48f792ae82237a56aa0dd2aca03f4e16020 100644 (file)
@@ -10,7 +10,7 @@ SYNOPSIS
 --------
 [verse]
 'git am' [--signoff] [--keep] [--[no-]keep-cr] [--[no-]utf8]
 --------
 [verse]
 'git am' [--signoff] [--keep] [--[no-]keep-cr] [--[no-]utf8]
-        [--[no-]3way] [--interactive] [--committer-date-is-author-date]
+        [--3way] [--interactive] [--committer-date-is-author-date]
         [--ignore-date] [--ignore-space-change | --ignore-whitespace]
         [--whitespace=<option>] [-C<n>] [-p<n>] [--directory=<dir>]
         [--exclude=<path>] [--include=<path>] [--reject] [-q | --quiet]
         [--ignore-date] [--ignore-space-change | --ignore-whitespace]
         [--whitespace=<option>] [-C<n>] [-p<n>] [--directory=<dir>]
         [--exclude=<path>] [--include=<path>] [--reject] [-q | --quiet]
@@ -90,13 +90,10 @@ default.   You can use `--no-utf8` to override this.
 
 -3::
 --3way::
 
 -3::
 --3way::
---no-3way::
        When the patch does not apply cleanly, fall back on
        3-way merge if the patch records the identity of blobs
        it is supposed to apply to and we have those blobs
        When the patch does not apply cleanly, fall back on
        3-way merge if the patch records the identity of blobs
        it is supposed to apply to and we have those blobs
-       available locally. `--no-3way` can be used to override
-       am.threeWay configuration variable. For more information,
-       see am.threeWay in linkgit:git-config[1].
+       available locally.
 
 --ignore-space-change::
 --ignore-whitespace::
 
 --ignore-space-change::
 --ignore-whitespace::
index 8733071624df86f21373db8c3e3cc5a1ece37830..3af351ffaaf32af6431e7a0dd53ea619507c55bf 100755 (executable)
--- a/git-am.sh
+++ b/git-am.sh
@@ -393,11 +393,6 @@ then
     keepcr=t
 fi
 
     keepcr=t
 fi
 
-if test "$(git config --bool --get am.threeWay)" = true
-then
-    threeway=t
-fi
-
 while test $# != 0
 do
        case "$1" in
 while test $# != 0
 do
        case "$1" in
@@ -409,8 +404,6 @@ it will be removed. Please do not use it anymore."
                ;;
        -3|--3way)
                threeway=t ;;
                ;;
        -3|--3way)
                threeway=t ;;
-       --no-3way)
-               threeway=f ;;
        -s|--signoff)
                sign=t ;;
        -u|--utf8)
        -s|--signoff)
                sign=t ;;
        -u|--utf8)
@@ -680,8 +673,6 @@ fi
 if test "$(cat "$dotest/threeway")" = t
 then
        threeway=t
 if test "$(cat "$dotest/threeway")" = t
 then
        threeway=t
-else
-       threeway=f
 fi
 git_apply_opt=$(cat "$dotest/apply-opt")
 if test "$(cat "$dotest/sign")" = t
 fi
 git_apply_opt=$(cat "$dotest/apply-opt")
 if test "$(cat "$dotest/sign")" = t
index b822a3918d32ca57afb7d6585ac927b55b22bde9..6ced98cfb4a71553d66a828118a585e0f7fc84c7 100755 (executable)
@@ -303,25 +303,6 @@ test_expect_success 'am -3 -p0 can read --no-prefix patch' '
        git diff --exit-code lorem
 '
 
        git diff --exit-code lorem
 '
 
-test_expect_success 'am with config am.threeWay falls back to 3-way merge' '
-       rm -fr .git/rebase-apply &&
-       git reset --hard &&
-       git checkout -b lorem4 base3way &&
-       test_config am.threeWay 1 &&
-       git am lorem-move.patch &&
-       test_path_is_missing .git/rebase-apply &&
-       git diff --exit-code lorem
-'
-
-test_expect_success 'am with config am.threeWay overridden by --no-3way' '
-       rm -fr .git/rebase-apply &&
-       git reset --hard &&
-       git checkout -b lorem5 base3way &&
-       test_config am.threeWay 1 &&
-       test_must_fail git am --no-3way lorem-move.patch &&
-       test_path_is_dir .git/rebase-apply
-'
-
 test_expect_success 'am can rename a file' '
        grep "^rename from" rename.patch &&
        rm -fr .git/rebase-apply &&
 test_expect_success 'am can rename a file' '
        grep "^rename from" rename.patch &&
        rm -fr .git/rebase-apply &&