[darcs-users] darcs patch: partial type witnesses in Unrevert

Jason Dagit dagit at codersbase.com
Wed Aug 13 05:54:37 UTC 2008


David,

I started adding type witnesses to Unrevert and I'm not quite sure how
to proceed.

You'll probably want to apply this patch to see the error messages.

In unrevert_cmd, we use get_common_and_uncommon to find the patches
that need to be merged.  Next we try to call considerMergeToWorking.

I think that this code is making an assumption about the return value
of get_common_and_uncommon.  considerMergeToWorking takes two sequences,
FL p C(u x), and FL p C(u y).  When I was working on considerMergeToWorking
I almost made this a merge pair, :\/:, but I realized the relationship to 
repository's unrecorded state might be handy.  So, I think the
considerMergeToWoring signature is correct.  

One problem here is get_common_and_uncommon doesn't break the returned 
patch sets at u.

What's worse is that we assume that if we take the head of both sides of the
returned pair from get_common_and_uncommon that those lists start from
the same context.  I briefly glanced at the guts of get_common_and_uncommon
again and I don't see how the guts ensure that would be the case.  Although,
I admit that's a pretty tricky function.

So, I'm left wondering if unrevert_cmd is buggy or there is some clever
assumption here that I'm not seeing.

The next observation is that we may need to tweak the signature of
tentativeAddToPending, that error seems to depend on this on, so one at a
time.

Thanks!
Jason

Tue Aug 12 22:38:37 PDT 2008  Jason Dagit <dagit at codersbase.com>
  * partial type witnesses in Unrevert

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: text/x-darcs-patch
Size: 9747 bytes
Desc: A darcs patch for your repository!
Url : http://lists.osuosl.org/pipermail/darcs-users/attachments/20080812/e13f5538/attachment.bin 


More information about the darcs-users mailing list