Test case:
darcs init R
cd R
mkdir c
darcs record -lam add-c
darcs move c d
darcs record -am move-c-d
touch d/f
darcs add d/f
darcs obliterate -p move-c-d
cat _darcs/patches/pending
# content: addfile ./d/f instead of ./c/f
darcs whatsnew
# result: rmdir ./d (WTF?)
This bug is only in screened, not in 2.16.5. I suspect this patch to be the
culprit:
patch 4f9ac2caf52b420538798dddc15f4211c1fdcaa8
Author: Ben Franksen <ben.franksen@online.de>
Date: Tue Mar 2 14:13:40 CET 2021
* obliterate, rebase suspend: pass NoUpdatePending to tentativelyRemovePatches
This avoids the redundant use of the (unsafe) tentativelyAddToPending to
remove what gets added to pending with YesUpdatePending.
Indeed I have seen strange things when using rebase pull: after suspending
conflicting patches it sometimes complains about conflicts with unrecorded
changes even though there are no unrecorded changes in the repo. When I abort
the operation at this point, I am left with lots of pending changes.
|