Re: [PATCH 4/4] reset: add test cases for "--merge-dirty" option

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]