https://bz.mercurial-scm.org/show_bug.cgi?id=6454
Bug ID: 6454 Summary: Rebase w/ dirty wdir + in-memory merge can lead to data loss Product: Mercurial Version: unspecified Hardware: PC OS: Mac OS Status: UNCONFIRMED Severity: feature Priority: wish Component: rebase Assignee: bugzi...@mercurial-scm.org Reporter: h...@pewpew.net CC: mercurial-devel@mercurial-scm.org Python Version: --- With in-memory merge turned on, and a dirty working directory, attempt to rebase a commit that does not involve the wdir. This doesn't require a clean wdir due to in-memory merge. However, if there's merge conflicts, you can get a message like: ``` ≻ hg rebase -r 42917 -d dest rebasing 42917 26ec666f "callcatch: log error.Abort()s to ui.log" merging mercurial/dispatch.py merging mercurial/scmutil.py hit merge conflicts; rebasing that commit again in the working copy abort: uncommitted changes ``` At this point, rebase has already serialized the "Rebase in progress" state. If I `hg diff`, I see the changes I had before I ran `hg rebase`. If I run `hg commit`, it refuses (rebase in progress). If I run `hg rebase --abort`, it doesn't realize that it must *not* clean the wdir, so it happily does so, losing my data. Luckily I didn't care about those changes, *and* I'd just run `hg diff` if I had. -- You are receiving this mail because: You are on the CC list for the bug. _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel