On Sat, Jan 13, 2007 at 11:56:29PM +0100, Eric Y. Kow wrote: > > > Mon Jan 8 14:09:33 BRST 2007 [EMAIL PROTECTED] > > > * (add a + mv a b = add b) and (mv a b + remove b = remove a) > > > I think this is probably fine, but it's a little bit scary. > > A nervous David and an ignorant Eric don't make me very keen to accept > this patch just yet, at least not until we've had some more time to > think about it (ahem... namely from the people who understand this stuff > well) > > > The reason is that I this change does affect the semantics of a patch. > > It's probably fine, since I think coalesce is only used on pending > > changes, but I'd like to see a bit of a review of where coalesce is > > used, before this patch is accepted. > > coalesce seems to be used all over the PatchCommute module. I can trace > a path up from it to commute_split, eventually up to the commute > function. > > Waiting for your green/red light, David.
I'd say green. commute_split should never be used, as we no longer generate split patches, so far as I recall. It could be used in older repositories, though. And there once was a time when darcs would generate patches that would be affected by this change, but there were serious semantic issues with those patches (they disobeyed certain commute properties... predating our current understanding). I'd be very surprised if there are any split patches living in the wild today, and they really ought to be fossilized if they do exist. I wouldn't let the split patches bother us, although it'd be a good idea to make moves towards deprecating them at some point soon, so we'd be able to find out whether we can actually remove them a few releases down the road. Coalesce is also used in the merger code, but only for merger_equivalent. As far as I can see, it's not used, however, for any of the merger commutation, so I believe this is okay. I'd prefer if you (or someone else) could double-check this, to be sure that the commute or merge of a merger is not affected by coalesce. If I can get confirmation on that, I'll give the green light for this change. Perhaps the easiest way is to chop out the code for coalese from this file, and see if we can still compile commute (except for commute_split, which I believe is okay). -- David Roundy http://www.darcs.net
signature.asc
Description: Digital signature
_______________________________________________ darcs-devel mailing list [email protected] http://lists.osuosl.org/mailman/listinfo/darcs-devel
