diff --git a/tests/test-copies.t b/tests/test-copies.t --- a/tests/test-copies.t +++ b/tests/test-copies.t @@ -746,3 +746,34 @@ $ hg graft -r 6 --base 4 --hidden -t :other grafting 6:99802e4f1e46 "added willconflict and d" (tip) (no-changeset !) grafting 6:b19f0df72728 "added willconflict and d" (tip) (changeset !) + +Test rebasing a commit after amending rename of added file into its parent +(issue 5457) + + $ cat << EOF >> $HGRCPATH + > [experimental] + > evolution.createmarkers = True + > evolution.allowunstable = True + > EOF + $ newrepo + $ echo a > a + $ hg add a + $ hg ci -m "added a" + $ echo b > b + $ hg add b + $ hg ci -m "added b" + $ echo modified > b + $ hg ci -m "modified b" + $ hg co '.^' + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ hg mv b c + $ hg ci --amend -m "added c" + 1 new orphan changesets + $ hg rebase -s 'desc("modified b")' -d . + rebasing 2:e3e0011b43ad "modified b" (changeset !) + rebasing 2:2612b8963c3f "modified b" (no-changeset !) + file 'b' was deleted in local [dest] but was modified in other [source]. + You can use (c)hanged version, leave (d)eleted, or leave (u)nresolved. + What do you want to do? u + unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') + [240]