
Hi there! As I'm preparing to merge Bluetile's repository back into xmonad's mainline, I'm a little unsure how to best use Darcs for this goal. I don't have that much experience with Darcs, so I was hoping, I could get some advice on what is the best way to go about this. So there is the public xmonad repository as well as the public Bluetile repository. Now let's say I have two kinds of features: Some simple ones, like feature X, that can just go in unchanged. But there might also be some feature Y, where I might decide that for submission as a patch, I have to do it in a somewhat different way. So I want to revert Y and code it again as Z. How do I do this? I can think of these ways: 1. Have a new repository based on xmonad's mainline, where I incrementally pull in stuff from Bluetile's repo and polish it up. So in this case, I would pull X, but not pull Y, instead write a new patch for this repo that implements Z. Seems like a simple approach to me, but has the disadvantage, that Bluetile's repo will never get in sync with xmonad's repo, because it still has the X stuff. 2. Work with Bluetile's repo and simply obliterate patch Y and implement patch Z. This seems like a bad approach, as people that might have pulled from Bluetile's repo won't notice that a patch was obliterated. It seems the Darcs manual agrees, that patches should never be obliterated, once they are public. 3. Work with Bluetile's repo and create a reverse patch Y^-1 as well as patch Z. This has the advantage, that Bluetile's repo can get in sync with xmonad's mainline. I'm just not sure, if this is the 'darcs way' of doing things? Also, when submitting patches for feature Z, do I submit a) Y, Y^-1 and Z or b) just Z? Case a) seems like a lot of junk that shouldn't be in xmonad's mainline. But for case b) I fear, it might not be possible for some cases. Let's say the patch history looks something like: Y A B C D E F Y^-1 Z. Then later when working on A or B, it might not be possible to go without Y even so it's later reverted. Comments? Advice? Best regards, Jan