[darcs-devel] [issue2445] internal error if suspended patch is pulled into repository again

Ben Franksen bugs at darcs.net
Fri Jul 31 00:15:04 UTC 2020

Ben Franksen <ben.franksen at online.de> added the comment:

Oh I forgot. Renaming a patch on unsuspend requires a deep rename of 
all suspended patches that might refer to that name, i.e. 
conflictors. I think we should not go there.

A more practical approach is to allow (DelName n) to force-commute 
past a (Named n _ _) instead of calling error. The force-commuted 
DelName can now hit a (Named _ ds _) with (n `elem` ds), so we must 
also handle this case by not allowing the commute so that when we 
push an (AddName n) later, it can cancel the stuck DelName.

Regarding double suspends: This situation must be avoided. We need to 
check if this patch is already suspended, and if it is display a 
warning and then push just fixups.

Darcs bug tracker <bugs at darcs.net>

More information about the darcs-devel mailing list