Subject: Re: [PATCH] Rename ".dotest/" to ".git/rebase" and ".dotest-merge" to "rebase-merge"

From: Olivier Marin <[email-masked]>
Date: Wed, 23 Jul 2008 16:54:15 +0200

Stephan Beyer a écrit :
> 
>>> Perhaps I am confused, but ...

I can understand. ;-)

>>> Why is there "HEAD" and "ORIG_HEAD" and not only "ORIG_HEAD"?
>> Just being a bit defensive -- in this case I think it might be Ok to say
>> "read-tree --reset -u ORIG_HEAD", but I haven't checked in a conflicted
>> case.

git read-tree --reset -u ORIG_HEAD clears local changes which is not good.

> Well, the test suite fails:
> * FAIL 4: am --abort goes back after failed am
> 
>                         git-am --abort &&
>                         git rev-parse HEAD >actual &&
>                         git rev-parse initial >expect &&
>                         test_cmp expect actual &&
>   here>                 test_cmp file-2-expect file-2 &&

Local changes have been lost.

> The reason of my question was that I *blindly* incorporated the change into
> sequencer to make it able to work on a dirty working tree and thus to be
> able to migrate am onto it without losing the ability to apply patches
> on a dirty working tree....

Are you talking about your seq-proto-dev3 branch?

> All am tests applied afterwards, but the sequencer and the rebase-i
> test suite failed in a place where I didn't expect it. I *then* had
> a deeper look at the read-tree line and I was wondering what the "HEAD"
> should achieve.
> I removed it and all tests passed. (I didn't have t4151 in my branch
> at that point.)
> 
> Now, because t4151 does not pass, I am wondering what's the best thing
> I could do...

I looked at your code. You use reset_almost_hard() instead of "reset --hard",
it's fine but you does not update require_clean_work_tree() to be less
restrictive and let the sequencer work with local modifications. Those two
lines must be removed, I think:
  git update-index --ignore-submodules --refresh &&
  git diff-files --quiet --ignore-submodules &&

Try that with the original read-tree line and t4151 should pass.

Ah, you should change "Applying 6" with "Applying \"6\"" in t4151-am-abort.sh
too.

Olivier.