Re: [PATCH v2 3/8] merge-recursive: -Xindex-only to leave worktree unchanged

2014-02-23 Thread Eric Sunshine
On Sat, Feb 22, 2014 at 4:17 AM, Thomas Rast t...@thomasrast.ch wrote:
 Using the new no_worktree flag from the previous commit, we can teach
 merge-recursive to leave the worktree untouched.  Expose this with a
 new strategy option so that scripts can use it.

 Signed-off-by: Junio C Hamano gits...@pobox.com
 ---
 diff --git a/Documentation/merge-strategies.txt 
 b/Documentation/merge-strategies.txt
 index fb6e593..2934e99 100644
 --- a/Documentation/merge-strategies.txt
 +++ b/Documentation/merge-strategies.txt
 @@ -92,6 +92,10 @@ subtree[=path];;
 is prefixed (or stripped from the beginning) to make the shape of
 two trees to match.

 +index-only;;

s/;;/::/

 +   Write the merge result only to the index; do not touch the
 +   worktree.
 +
  octopus::
 This resolves cases with more than two heads, but refuses to do
 a complex merge that needs manual resolution.  It is
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v2 3/8] merge-recursive: -Xindex-only to leave worktree unchanged

2014-02-23 Thread Thomas Rast
Eric Sunshine sunsh...@sunshineco.com writes:

 On Sat, Feb 22, 2014 at 4:17 AM, Thomas Rast t...@thomasrast.ch wrote:
 Using the new no_worktree flag from the previous commit, we can teach
 merge-recursive to leave the worktree untouched.  Expose this with a
 new strategy option so that scripts can use it.

 Signed-off-by: Junio C Hamano gits...@pobox.com
 ---
 diff --git a/Documentation/merge-strategies.txt 
 b/Documentation/merge-strategies.txt
 index fb6e593..2934e99 100644
 --- a/Documentation/merge-strategies.txt
 +++ b/Documentation/merge-strategies.txt
 @@ -92,6 +92,10 @@ subtree[=path];;
 is prefixed (or stripped from the beginning) to make the shape of
 two trees to match.

 +index-only;;

 s/;;/::/

I think ;; is actually correct: this continues the sub-list of options
to the recursive strategy.  The :: level lists the available strategies.

 +   Write the merge result only to the index; do not touch the
 +   worktree.
 +
  octopus::
 This resolves cases with more than two heads, but refuses to do
 a complex merge that needs manual resolution.  It is
 --
 To unsubscribe from this list: send the line unsubscribe git in
 the body of a message to majord...@vger.kernel.org
 More majordomo info at  http://vger.kernel.org/majordomo-info.html

-- 
Thomas Rast
t...@thomasrast.ch
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v2 3/8] merge-recursive: -Xindex-only to leave worktree unchanged

2014-02-23 Thread Eric Sunshine
On Sun, Feb 23, 2014 at 6:57 AM, Thomas Rast t...@thomasrast.ch wrote:
 Eric Sunshine sunsh...@sunshineco.com writes:

 On Sat, Feb 22, 2014 at 4:17 AM, Thomas Rast t...@thomasrast.ch wrote:
 Using the new no_worktree flag from the previous commit, we can teach
 merge-recursive to leave the worktree untouched.  Expose this with a
 new strategy option so that scripts can use it.

 Signed-off-by: Junio C Hamano gits...@pobox.com
 ---
 diff --git a/Documentation/merge-strategies.txt 
 b/Documentation/merge-strategies.txt
 index fb6e593..2934e99 100644
 --- a/Documentation/merge-strategies.txt
 +++ b/Documentation/merge-strategies.txt
 @@ -92,6 +92,10 @@ subtree[=path];;
 is prefixed (or stripped from the beginning) to make the shape of
 two trees to match.

 +index-only;;

 s/;;/::/

 I think ;; is actually correct: this continues the sub-list of options
 to the recursive strategy.  The :: level lists the available strategies.

Make sense. Thanks for the explanation.

 +   Write the merge result only to the index; do not touch the
 +   worktree.
 +
  octopus::
 This resolves cases with more than two heads, but refuses to do
 a complex merge that needs manual resolution.  It is
 --
 To unsubscribe from this list: send the line unsubscribe git in
 the body of a message to majord...@vger.kernel.org
 More majordomo info at  http://vger.kernel.org/majordomo-info.html

 --
 Thomas Rast
 t...@thomasrast.ch
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v2 3/8] merge-recursive: -Xindex-only to leave worktree unchanged

2014-02-22 Thread Thomas Rast
From: Thomas Rast tr...@inf.ethz.ch

Using the new no_worktree flag from the previous commit, we can teach
merge-recursive to leave the worktree untouched.  Expose this with a
new strategy option so that scripts can use it.

Signed-off-by: Junio C Hamano gits...@pobox.com
---
 Documentation/merge-strategies.txt |  4 
 merge-recursive.c  |  2 ++
 t/t3030-merge-recursive.sh | 13 +
 3 files changed, 19 insertions(+)

diff --git a/Documentation/merge-strategies.txt 
b/Documentation/merge-strategies.txt
index fb6e593..2934e99 100644
--- a/Documentation/merge-strategies.txt
+++ b/Documentation/merge-strategies.txt
@@ -92,6 +92,10 @@ subtree[=path];;
is prefixed (or stripped from the beginning) to make the shape of
two trees to match.
 
+index-only;;
+   Write the merge result only to the index; do not touch the
+   worktree.
+
 octopus::
This resolves cases with more than two heads, but refuses to do
a complex merge that needs manual resolution.  It is
diff --git a/merge-recursive.c b/merge-recursive.c
index 35be144..f59c1d3 100644
--- a/merge-recursive.c
+++ b/merge-recursive.c
@@ -2096,6 +2096,8 @@ int parse_merge_opt(struct merge_options *o, const char 
*s)
if ((o-rename_score = parse_rename_score(score)) == -1 || 
*score != 0)
return -1;
}
+   else if (!strcmp(s, index-only))
+   o-no_worktree = 1;
else
return -1;
return 0;
diff --git a/t/t3030-merge-recursive.sh b/t/t3030-merge-recursive.sh
index 2f96100..2f3a16c 100755
--- a/t/t3030-merge-recursive.sh
+++ b/t/t3030-merge-recursive.sh
@@ -296,6 +296,19 @@ test_expect_success 'merge-recursive result' '
 
 '
 
+test_expect_success 'merge-recursive --index-only' '
+
+   rm -fr [abcd] 
+   git checkout -f $c2 
+   test_expect_code 1 git merge-recursive --index-only $c0 -- $c2 
$c1 
+   git ls-files -s actual 
+   # reuses expected from previous test!
+   test_cmp expected actual 
+   git diff HEAD actual-diff 
+   : expected-diff 
+   test_cmp expected-diff actual-diff
+'
+
 test_expect_success 'fail if the index has unresolved entries' '
 
rm -fr [abcd] 
-- 
1.9.0.313.g3d0a325

--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html