On Friday 11 September 2009, Daniel Barkalow wrote: > On Thu, 10 Sep 2009, Christian Couder wrote: > > This shows that with the "--merge-dirty" option, > > changes that are both in the work tree and the index are kept > > in the work tree after the reset (but discarded in the index). As > with the "--merge" option, > > changes that are in both the work tree and the index are discarded > > after the reset. > > I'm lost here. > > If you have: > > working index HEAD target > version B B A A > > You get: > > working index HEAD target > --m-d B A A A > --merge A A A A > > ? Yes, files that are not different between HEAD and target are changed like that. Thanks for explaining it better than I could! And also when files are different between HEAD and target (and when the index is the same as the working tree but different than HEAD), the result from -m-d and --merge are different: If you have: working index HEAD target version B B A C You get: working index HEAD target --m-d B B A C : --m-d fails (so no change) --merge C C C C : success but changes B discarded In t/t7110-reset-merge.sh these differences are shown by test cases 3, 4, 5 and 6: --merge: discard changes added to index 1 --merge: discard changes added to index 2 --merge-dirty: not ok with touched changes in index --merge-dirty: keep untouched changes > > --- > > t/t7110-reset-merge.sh | 54 > > +++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 49 > > insertions(+), 5 deletions(-) > > > > diff --git a/t/t7110-reset-merge.sh b/t/t7110-reset-merge.sh > > index 45714ae..1e6d634 100755 > > --- a/t/t7110-reset-merge.sh > > +++ b/t/t7110-reset-merge.sh > > @@ -19,7 +19,7 @@ test_expect_success 'creating initial files' ' > > git commit -m "Initial commit" > > ' > > > > -test_expect_success 'ok with changes in file not changed by reset' ' > > +test_expect_success '--merge: ok if changes in file not touched by > > reset' ' > > Should probably have the "--merge: " from the beginning, since you're > adding the test in this series anyway. That would make the diff come out > clearer. Yeah, but I am not sure that patches 3/4 and 4/4 will get merged in the end. If they are not merged it will be better if there is no "--merge: ". If they get merged, the option name '--merge-dirty" will probably be changed to something else like "--merge-safe" so I will have to change some patches anyway. Thanks, Christian. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html