1. Summarise the issue (what were doing, what went wrong?)
Doing "darcs rebase pull --reorder" fails with the following message:
"
Rebase finished!
darcs: bug at src/Darcs/Patch/Depends.hs:275 compiled Jul 8 2014 21:04:39
Impossible case at src/Darcs/Patch/Depends.hs:275 compiled Jul 8 2014 21:04:39
See http://wiki.darcs.net/BugTracker/Reporting for help on bug reporting.
"
As the error report says, it seems that the impossible happend
in the function commuteToEnd. But before to comment more about
that I have a questions;
- Can the unique identifier of a path change? (respecting the uniqueness, of course)
Because after thinking a while and make some tests I realized that
the pattern matching that should be successful in commuteToEnd it
isn't;
| commuteToEnd (p :<: ps) (PatchSet xs ts) | info p `elem` mapRL info xs = ...
because it seems that when checking that a patch p is in the patchset xs,
p effectively is in xs but with a different unique identifier, so as we
are comparing info's;
info p `elem` mapRL info xs == False
This happend when p is the:
DO NOT TOUCH: Rebase patch
.
.
.
2. What behaviour were you expecting instead?
The expected behavior should be, make rebase pull and moves to the top
the uncommon set of patches between the current repository and remote
repository.
3. What darcs version are you using? (Try: darcs --exact-version)
darcs-2.9.9 (+ 70 patches)
4. What operating system are you running?
Ubuntu 14.04 LTS 64bits
|