Hi,

Nice breakdown.

On Sat, Nov 15, 2008 at 12:03:41 +0100, Christian Kellermann wrote:
> - Extract the patch from a TaggedPatch, I guess with tp_patch tp
> - Feed the output of showPatch to an editor (that is the easy part
> IMHO)
> - Search for markup on how to split up the patch (easy)
> - create two new Patchy patches (I don't know how to do that)
> - create new TaggedPatches for those two patchys (seems easy, just
> call the constructor)
> - add them to the tp_todo list for further inspection ( probably easy )
> 
> For the last three points I don't know if
> - how do I create patches in the first place

Well, so you know these are primitive patches, right?  I guess the
problem here is that the SelectChanges code is generic; it works
with any instance of the Patchy typeclass, be they named patches,
primitive patches, conflictors, etc.  One option might be fore one
of the SelectChanges functions to take a patch converter function
:: (p -> p) as an argument

> - this is going to break patch properties
> - if it is possible at all at this point

I think a safe thing to do would be work on a tool that only lets
you split hunks (and not edit them).  Putting in type witnesses to
clarify what I mean, your patch converter function could be something
like

 p C(x y) -> FL p C(x y)

I'm not sure if I've got the types exactly right here, but hopefully
this gives you some ideas.

Do these two thoughts give you any extra traction?  Maybe other people
on this list would have some ideas to help out...

-- 
Eric Kow <http://www.nltg.brighton.ac.uk/home/Eric.Kow>
PGP Key ID: 08AC04F9

Attachment: signature.asc
Description: Digital signature

_______________________________________________
darcs-users mailing list
[email protected]
http://lists.osuosl.org/mailman/listinfo/darcs-users

Reply via email to