Mercurial > hg
view tests/test-issue3084.t @ 19925:9c78ed396075
rebase: preserve working directory parent (BC)
Prior to this changeset, rebase always left the working directory as a parent of
the last rebased changeset. The is dubious when, before the rebase, the working
directory was not a parent of the tip most rebased changeset.
With this changeset, we move the working directory back to its original parent.
If the original parent was rebased, we use it's successors.
This is a step toward solving issue3813 (rebase loses active bookmark if it's
not on a head)
author | Pierre-Yves David <pierre-yves.david@ens-lyon.org> |
---|---|
date | Mon, 14 Oct 2013 16:12:29 +0200 |
parents | 894a5897a9dd |
children | 427ce5633c1c |
line wrap: on
line source
$ echo "[extensions]" >> $HGRCPATH $ echo "largefiles =" >> $HGRCPATH Create the repository outside $HOME since largefiles write to $HOME/.cache/largefiles. $ hg init test $ cd test $ echo "root" > root $ hg add root $ hg commit -m "Root commit" $ echo "large" > foo $ hg add --large foo $ hg commit -m "Add foo as a largefile" $ hg update -r 0 getting changed largefiles 0 largefiles updated, 1 removed 0 files updated, 0 files merged, 1 files removed, 0 files unresolved $ echo "normal" > foo $ hg add foo $ hg commit -m "Add foo as normal file" created new head Normal file in the working copy, keeping the normal version: $ echo "n" | hg merge --config ui.interactive=Yes foo has been turned into a largefile use (l)argefile or keep as (n)ormal file? 0 files updated, 0 files merged, 1 files removed, 0 files unresolved (branch merge, don't forget to commit) getting changed largefiles 0 largefiles updated, 0 removed $ hg status $ cat foo normal Normal file in the working copy, keeping the largefile version: $ hg update -q -C $ echo "l" | hg merge --config ui.interactive=Yes foo has been turned into a largefile use (l)argefile or keep as (n)ormal file? 1 files updated, 0 files merged, 1 files removed, 0 files unresolved (branch merge, don't forget to commit) getting changed largefiles 1 largefiles updated, 0 removed $ hg status M foo $ hg diff --nodates diff -r fa129ab6b5a7 .hglf/foo --- /dev/null +++ b/.hglf/foo @@ -0,0 +1,1 @@ +7f7097b041ccf68cc5561e9600da4655d21c6d18 diff -r fa129ab6b5a7 foo --- a/foo +++ /dev/null @@ -1,1 +0,0 @@ -normal $ cat foo large Largefile in the working copy, keeping the normal version: $ hg update -q -C -r 1 $ echo "n" | hg merge --config ui.interactive=Yes foo has been turned into a normal file keep as (l)argefile or use (n)ormal file? 1 files updated, 0 files merged, 1 files removed, 0 files unresolved (branch merge, don't forget to commit) getting changed largefiles 0 largefiles updated, 0 removed $ hg status M foo $ hg diff --nodates diff -r ff521236428a .hglf/foo --- a/.hglf/foo +++ /dev/null @@ -1,1 +0,0 @@ -7f7097b041ccf68cc5561e9600da4655d21c6d18 diff -r ff521236428a foo --- /dev/null +++ b/foo @@ -0,0 +1,1 @@ +normal $ cat foo normal Largefile in the working copy, keeping the largefile version: $ hg update -q -C -r 1 $ echo "l" | hg merge --config ui.interactive=Yes foo has been turned into a normal file keep as (l)argefile or use (n)ormal file? 0 files updated, 0 files merged, 1 files removed, 0 files unresolved (branch merge, don't forget to commit) getting changed largefiles 1 largefiles updated, 0 removed $ hg status $ cat foo large $ cd ..