test-shelve.t
743 lines
| 16.3 KiB
| text/troff
|
Tads3Lexer
/ tests / test-shelve.t
Yuya Nishihara
|
r23172 | $ cat <<EOF >> $HGRCPATH | ||
> [extensions] | ||||
> mq = | ||||
> shelve = | ||||
> [defaults] | ||||
> diff = --nodates --git | ||||
> qnew = --date '0 0' | ||||
> EOF | ||||
David Soria Parra
|
r19854 | |||
$ hg init repo | ||||
$ cd repo | ||||
$ mkdir a b | ||||
$ echo a > a/a | ||||
$ echo b > b/b | ||||
$ echo c > c | ||||
$ echo d > d | ||||
$ echo x > x | ||||
$ hg addremove -q | ||||
shelving in an empty repo should be possible | ||||
FUJIWARA Katsunori
|
r21852 | (this tests also that editor is not invoked, if '--edit' is not | ||
specified) | ||||
David Soria Parra
|
r19854 | |||
FUJIWARA Katsunori
|
r21852 | $ HGEDITOR=cat hg shelve | ||
David Soria Parra
|
r19854 | shelved as default | ||
0 files updated, 0 files merged, 5 files removed, 0 files unresolved | ||||
$ hg unshelve | ||||
unshelving change 'default' | ||||
$ hg commit -q -m 'initial commit' | ||||
$ hg shelve | ||||
nothing changed | ||||
[1] | ||||
David Soria Parra
|
r19856 | create an mq patch - shelving should work fine with a patch applied | ||
David Soria Parra
|
r19854 | |||
$ echo n > n | ||||
$ hg add n | ||||
$ hg commit n -m second | ||||
David Soria Parra
|
r19856 | $ hg qnew second.patch | ||
David Soria Parra
|
r19854 | |||
shelve a change that we will delete later | ||||
$ echo a >> a/a | ||||
$ hg shelve | ||||
shelved as default | ||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
set up some more complex changes to shelve | ||||
$ echo a >> a/a | ||||
$ hg mv b b.rename | ||||
moving b/b to b.rename/b (glob) | ||||
$ hg cp c c.copy | ||||
$ hg status -C | ||||
M a/a | ||||
A b.rename/b | ||||
b/b | ||||
A c.copy | ||||
c | ||||
R b/b | ||||
prevent some foot-shooting | ||||
$ hg shelve -n foo/bar | ||||
abort: shelved change names may not contain slashes | ||||
[255] | ||||
$ hg shelve -n .baz | ||||
abort: shelved change names may not start with '.' | ||||
[255] | ||||
the common case - no options or filenames | ||||
$ hg shelve | ||||
shelved as default-01 | ||||
2 files updated, 0 files merged, 2 files removed, 0 files unresolved | ||||
$ hg status -C | ||||
ensure that our shelved changes exist | ||||
$ hg shelve -l | ||||
Mads Kiilerich
|
r20411 | default-01 (*) changes to '[mq]: second.patch' (glob) | ||
default (*) changes to '[mq]: second.patch' (glob) | ||||
David Soria Parra
|
r19854 | |||
$ hg shelve -l -p default | ||||
Mads Kiilerich
|
r20411 | default (*) changes to '[mq]: second.patch' (glob) | ||
David Soria Parra
|
r19854 | |||
diff --git a/a/a b/a/a | ||||
--- a/a/a | ||||
+++ b/a/a | ||||
@@ -1,1 +1,2 @@ | ||||
a | ||||
+a | ||||
FUJIWARA Katsunori
|
r21715 | $ hg shelve --list --addremove | ||
abort: options '--list' and '--addremove' may not be used together | ||||
[255] | ||||
David Soria Parra
|
r19854 | delete our older shelved change | ||
$ hg shelve -d default | ||||
David Soria Parra
|
r19856 | $ hg qfinish -a -q | ||
David Soria Parra
|
r19854 | |||
Durham Goode
|
r19961 | local edits should not prevent a shelved change from applying | ||
David Soria Parra
|
r19854 | |||
Durham Goode
|
r19961 | $ printf "z\na\n" > a/a | ||
$ hg unshelve --keep | ||||
David Soria Parra
|
r19854 | unshelving change 'default-01' | ||
Mads Kiilerich
|
r20413 | temporarily committing pending changes (restore with 'hg unshelve --abort') | ||
rebasing shelved changes | ||||
Mads Kiilerich
|
r23517 | rebasing 4:4702e8911fe0 "changes to '[mq]: second.patch'" (tip) | ||
Durham Goode
|
r19961 | merging a/a | ||
David Soria Parra
|
r19854 | |||
Durham Goode
|
r19961 | $ hg revert --all -q | ||
$ rm a/a.orig b.rename/b c.copy | ||||
David Soria Parra
|
r19854 | |||
apply it and make sure our state is as expected | ||||
$ hg unshelve | ||||
unshelving change 'default-01' | ||||
$ hg status -C | ||||
M a/a | ||||
A b.rename/b | ||||
b/b | ||||
A c.copy | ||||
c | ||||
R b/b | ||||
$ hg shelve -l | ||||
$ hg unshelve | ||||
abort: no shelved changes to apply! | ||||
[255] | ||||
$ hg unshelve foo | ||||
abort: shelved change 'foo' not found | ||||
[255] | ||||
named shelves, specific filenames, and "commit messages" should all work | ||||
FUJIWARA Katsunori
|
r21852 | (this tests also that editor is invoked, if '--edit' is specified) | ||
David Soria Parra
|
r19854 | |||
$ hg status -C | ||||
M a/a | ||||
A b.rename/b | ||||
b/b | ||||
A c.copy | ||||
c | ||||
R b/b | ||||
FUJIWARA Katsunori
|
r21852 | $ HGEDITOR=cat hg shelve -q -n wibble -m wat -e a | ||
wat | ||||
HG: Enter commit message. Lines beginning with 'HG:' are removed. | ||||
HG: Leave message empty to abort commit. | ||||
HG: -- | ||||
HG: user: shelve@localhost | ||||
HG: branch 'default' | ||||
HG: changed a/a | ||||
David Soria Parra
|
r19854 | |||
expect "a" to no longer be present, but status otherwise unchanged | ||||
$ hg status -C | ||||
A b.rename/b | ||||
b/b | ||||
A c.copy | ||||
c | ||||
R b/b | ||||
$ hg shelve -l --stat | ||||
David Soria Parra
|
r19855 | wibble (*) wat (glob) | ||
David Soria Parra
|
r19854 | a/a | 1 + | ||
1 files changed, 1 insertions(+), 0 deletions(-) | ||||
and now "a/a" should reappear | ||||
Takumi IINO
|
r19943 | $ cd a | ||
David Soria Parra
|
r19854 | $ hg unshelve -q wibble | ||
Takumi IINO
|
r19943 | $ cd .. | ||
David Soria Parra
|
r19854 | $ hg status -C | ||
M a/a | ||||
A b.rename/b | ||||
b/b | ||||
A c.copy | ||||
c | ||||
R b/b | ||||
cause unshelving to result in a merge with 'a' conflicting | ||||
$ hg shelve -q | ||||
$ echo c>>a/a | ||||
$ hg commit -m second | ||||
$ hg tip --template '{files}\n' | ||||
a/a | ||||
add an unrelated change that should be preserved | ||||
$ mkdir foo | ||||
$ echo foo > foo/foo | ||||
$ hg add foo/foo | ||||
force a conflicted merge to occur | ||||
$ hg unshelve | ||||
unshelving change 'default' | ||||
Mads Kiilerich
|
r20413 | temporarily committing pending changes (restore with 'hg unshelve --abort') | ||
rebasing shelved changes | ||||
Mads Kiilerich
|
r23517 | rebasing 5:4702e8911fe0 "changes to '[mq]: second.patch'" (tip) | ||
David Soria Parra
|
r19854 | merging a/a | ||
warning: conflicts during merge. | ||||
merging a/a incomplete! (edit conflicts, then use 'hg resolve --mark') | ||||
unresolved conflicts (see 'hg resolve', then 'hg unshelve --continue') | ||||
[1] | ||||
ensure that we have a merge with unresolved conflicts | ||||
Durham Goode
|
r19961 | $ hg heads -q --template '{rev}\n' | ||
5 | ||||
4 | ||||
$ hg parents -q --template '{rev}\n' | ||||
4 | ||||
5 | ||||
David Soria Parra
|
r19854 | $ hg status | ||
M a/a | ||||
M b.rename/b | ||||
M c.copy | ||||
R b/b | ||||
? a/a.orig | ||||
$ hg diff | ||||
diff --git a/a/a b/a/a | ||||
--- a/a/a | ||||
+++ b/a/a | ||||
@@ -1,2 +1,6 @@ | ||||
a | ||||
Pierre-Yves David
|
r21693 | +<<<<<<< dest: * - shelve: pending changes temporary commit (glob) | ||
David Soria Parra
|
r19854 | c | ||
+======= | ||||
+a | ||||
Pierre-Yves David
|
r21693 | +>>>>>>> source: 4702e8911fe0 - shelve: changes to '[mq]: second.patch' | ||
Matt Mackall
|
r22905 | diff --git a/b/b b/b.rename/b | ||
rename from b/b | ||||
rename to b.rename/b | ||||
diff --git a/c b/c.copy | ||||
copy from c | ||||
copy to c.copy | ||||
David Soria Parra
|
r19854 | $ hg resolve -l | ||
U a/a | ||||
$ hg shelve | ||||
abort: unshelve already in progress | ||||
(use 'hg unshelve --continue' or 'hg unshelve --abort') | ||||
[255] | ||||
abort the unshelve and be happy | ||||
$ hg status | ||||
M a/a | ||||
M b.rename/b | ||||
M c.copy | ||||
R b/b | ||||
? a/a.orig | ||||
$ hg unshelve -a | ||||
Durham Goode
|
r19961 | rebase aborted | ||
David Soria Parra
|
r19854 | unshelve of 'default' aborted | ||
$ hg heads -q | ||||
David Soria Parra
|
r19856 | 3:2e69b451d1ea | ||
David Soria Parra
|
r19854 | $ hg parents | ||
David Soria Parra
|
r19856 | changeset: 3:2e69b451d1ea | ||
David Soria Parra
|
r19854 | tag: tip | ||
user: test | ||||
date: Thu Jan 01 00:00:00 1970 +0000 | ||||
summary: second | ||||
$ hg resolve -l | ||||
$ hg status | ||||
A foo/foo | ||||
? a/a.orig | ||||
try to continue with no unshelve underway | ||||
$ hg unshelve -c | ||||
abort: no unshelve operation underway | ||||
[255] | ||||
$ hg status | ||||
A foo/foo | ||||
? a/a.orig | ||||
redo the unshelve to get a conflict | ||||
$ hg unshelve -q | ||||
warning: conflicts during merge. | ||||
merging a/a incomplete! (edit conflicts, then use 'hg resolve --mark') | ||||
unresolved conflicts (see 'hg resolve', then 'hg unshelve --continue') | ||||
[1] | ||||
attempt to continue | ||||
$ hg unshelve -c | ||||
abort: unresolved conflicts, can't continue | ||||
(see 'hg resolve', then 'hg unshelve --continue') | ||||
[255] | ||||
$ hg revert -r . a/a | ||||
$ hg resolve -m a/a | ||||
Pierre-Yves David
|
r21947 | (no more unresolved files) | ||
David Soria Parra
|
r19854 | |||
FUJIWARA Katsunori
|
r19963 | $ hg commit -m 'commit while unshelve in progress' | ||
abort: unshelve already in progress | ||||
(use 'hg unshelve --continue' or 'hg unshelve --abort') | ||||
[255] | ||||
David Soria Parra
|
r19854 | $ hg unshelve -c | ||
Mads Kiilerich
|
r23517 | rebasing 5:4702e8911fe0 "changes to '[mq]: second.patch'" (tip) | ||
David Soria Parra
|
r19854 | unshelve of 'default' complete | ||
ensure the repo is as we hope | ||||
$ hg parents | ||||
David Soria Parra
|
r19856 | changeset: 3:2e69b451d1ea | ||
David Soria Parra
|
r19854 | tag: tip | ||
user: test | ||||
date: Thu Jan 01 00:00:00 1970 +0000 | ||||
summary: second | ||||
$ hg heads -q | ||||
David Soria Parra
|
r19856 | 3:2e69b451d1ea | ||
David Soria Parra
|
r19854 | |||
$ hg status -C | ||||
Durham Goode
|
r19961 | A b.rename/b | ||
David Soria Parra
|
r19854 | b/b | ||
Durham Goode
|
r19961 | A c.copy | ||
David Soria Parra
|
r19854 | c | ||
A foo/foo | ||||
R b/b | ||||
? a/a.orig | ||||
there should be no shelves left | ||||
$ hg shelve -l | ||||
#if execbit | ||||
ensure that metadata-only changes are shelved | ||||
$ chmod +x a/a | ||||
$ hg shelve -q -n execbit a/a | ||||
$ hg status a/a | ||||
$ hg unshelve -q execbit | ||||
$ hg status a/a | ||||
M a/a | ||||
$ hg revert a/a | ||||
#endif | ||||
#if symlink | ||||
$ rm a/a | ||||
$ ln -s foo a/a | ||||
$ hg shelve -q -n symlink a/a | ||||
$ hg status a/a | ||||
$ hg unshelve -q symlink | ||||
$ hg status a/a | ||||
M a/a | ||||
$ hg revert a/a | ||||
#endif | ||||
set up another conflict between a commit and a shelved change | ||||
$ hg revert -q -C -a | ||||
Durham Goode
|
r19961 | $ rm a/a.orig b.rename/b c.copy | ||
David Soria Parra
|
r19854 | $ echo a >> a/a | ||
$ hg shelve -q | ||||
$ echo x >> a/a | ||||
$ hg ci -m 'create conflict' | ||||
$ hg add foo/foo | ||||
if we resolve a conflict while unshelving, the unshelve should succeed | ||||
$ HGMERGE=true hg unshelve | ||||
unshelving change 'default' | ||||
Mads Kiilerich
|
r20413 | temporarily committing pending changes (restore with 'hg unshelve --abort') | ||
rebasing shelved changes | ||||
Mads Kiilerich
|
r23517 | rebasing 6:c5e6910e7601 "changes to 'second'" (tip) | ||
David Soria Parra
|
r19854 | merging a/a | ||
Mads Kiilerich
|
r23518 | note: rebase of 6:c5e6910e7601 created no changes to commit | ||
David Soria Parra
|
r19854 | $ hg parents -q | ||
Durham Goode
|
r19887 | 4:33f7f61e6c5e | ||
David Soria Parra
|
r19854 | $ hg shelve -l | ||
$ hg status | ||||
A foo/foo | ||||
$ cat a/a | ||||
a | ||||
c | ||||
x | ||||
test keep and cleanup | ||||
$ hg shelve | ||||
shelved as default | ||||
0 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||||
$ hg shelve --list | ||||
Mads Kiilerich
|
r20411 | default (*) changes to 'create conflict' (glob) | ||
David Soria Parra
|
r19854 | $ hg unshelve --keep | ||
unshelving change 'default' | ||||
$ hg shelve --list | ||||
Mads Kiilerich
|
r20411 | default (*) changes to 'create conflict' (glob) | ||
David Soria Parra
|
r19854 | $ hg shelve --cleanup | ||
$ hg shelve --list | ||||
David Soria Parra
|
r19874 | |||
FUJIWARA Katsunori
|
r21715 | $ hg shelve --cleanup --delete | ||
abort: options '--cleanup' and '--delete' may not be used together | ||||
[255] | ||||
$ hg shelve --cleanup --patch | ||||
abort: options '--cleanup' and '--patch' may not be used together | ||||
[255] | ||||
$ hg shelve --cleanup --message MESSAGE | ||||
abort: options '--cleanup' and '--message' may not be used together | ||||
[255] | ||||
David Soria Parra
|
r19874 | test bookmarks | ||
$ hg bookmark test | ||||
$ hg bookmark | ||||
Durham Goode
|
r19887 | * test 4:33f7f61e6c5e | ||
David Soria Parra
|
r19874 | $ hg shelve | ||
shelved as test | ||||
0 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||||
$ hg bookmark | ||||
Durham Goode
|
r19887 | * test 4:33f7f61e6c5e | ||
David Soria Parra
|
r19874 | $ hg unshelve | ||
unshelving change 'test' | ||||
$ hg bookmark | ||||
Durham Goode
|
r19887 | * test 4:33f7f61e6c5e | ||
Sean Farley
|
r19885 | |||
shelve should still work even if mq is disabled | ||||
$ hg --config extensions.mq=! shelve | ||||
shelved as test | ||||
0 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||||
$ hg --config extensions.mq=! shelve --list | ||||
Mads Kiilerich
|
r20411 | test (*) changes to 'create conflict' (glob) | ||
Sean Farley
|
r19885 | $ hg --config extensions.mq=! unshelve | ||
unshelving change 'test' | ||||
Durham Goode
|
r19887 | |||
Matt Mackall
|
r22183 | shelve should leave dirstate clean (issue4055) | ||
Durham Goode
|
r19887 | |||
$ cd .. | ||||
$ hg init shelverebase | ||||
$ cd shelverebase | ||||
$ printf 'x\ny\n' > x | ||||
$ echo z > z | ||||
$ hg commit -Aqm xy | ||||
$ echo z >> x | ||||
$ hg commit -Aqm z | ||||
$ hg up 0 | ||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
$ printf 'a\nx\ny\nz\n' > x | ||||
$ hg commit -Aqm xyz | ||||
$ echo c >> z | ||||
$ hg shelve | ||||
shelved as default | ||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
$ hg rebase -d 1 --config extensions.rebase= | ||||
Mads Kiilerich
|
r23517 | rebasing 2:323bfa07f744 "xyz" (tip) | ||
Durham Goode
|
r19887 | merging x | ||
Durham Goode
|
r23835 | saved backup bundle to $TESTTMP/shelverebase/.hg/strip-backup/323bfa07f744-78114325-backup.hg (glob) | ||
Durham Goode
|
r19887 | $ hg unshelve | ||
unshelving change 'default' | ||||
Mads Kiilerich
|
r20413 | rebasing shelved changes | ||
Mads Kiilerich
|
r23517 | rebasing 4:b8fefe789ed0 "changes to 'xyz'" (tip) | ||
Durham Goode
|
r19887 | $ hg status | ||
M z | ||||
$ cd .. | ||||
Durham Goode
|
r19961 | |||
Matt Mackall
|
r22183 | shelve should only unshelve pending changes (issue4068) | ||
Durham Goode
|
r19961 | |||
$ hg init onlypendingchanges | ||||
$ cd onlypendingchanges | ||||
$ touch a | ||||
$ hg ci -Aqm a | ||||
$ touch b | ||||
$ hg ci -Aqm b | ||||
$ hg up -q 0 | ||||
$ touch c | ||||
$ hg ci -Aqm c | ||||
$ touch d | ||||
$ hg add d | ||||
$ hg shelve | ||||
shelved as default | ||||
0 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||||
$ hg up -q 1 | ||||
$ hg unshelve | ||||
unshelving change 'default' | ||||
Mads Kiilerich
|
r20413 | rebasing shelved changes | ||
Mads Kiilerich
|
r23517 | rebasing 3:0cae6656c016 "changes to 'c'" (tip) | ||
Durham Goode
|
r19961 | $ hg status | ||
A d | ||||
unshelve should work on an ancestor of the original commit | ||||
$ hg shelve | ||||
shelved as default | ||||
0 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||||
$ hg up 0 | ||||
0 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||||
$ hg unshelve | ||||
unshelving change 'default' | ||||
Mads Kiilerich
|
r20413 | rebasing shelved changes | ||
Mads Kiilerich
|
r23517 | rebasing 3:be58f65f55fb "changes to 'b'" (tip) | ||
Durham Goode
|
r19961 | $ hg status | ||
A d | ||||
David Soria Parra
|
r20064 | test bug 4073 we need to enable obsolete markers for it | ||
Durham Goode
|
r22955 | $ cat >> $HGRCPATH << EOF | ||
> [experimental] | ||||
> evolution=createmarkers | ||||
David Soria Parra
|
r20064 | > EOF | ||
$ hg shelve | ||||
shelved as default | ||||
0 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||||
$ hg debugobsolete `hg --debug id -i -r 1` | ||||
$ hg unshelve | ||||
unshelving change 'default' | ||||
Durham Goode
|
r20150 | unshelve should leave unknown files alone (issue4113) | ||
$ echo e > e | ||||
$ hg shelve | ||||
shelved as default | ||||
0 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||||
$ hg status | ||||
? e | ||||
$ hg unshelve | ||||
unshelving change 'default' | ||||
$ hg status | ||||
A d | ||||
? e | ||||
$ cat e | ||||
e | ||||
unshelve should keep a copy of unknown files | ||||
$ hg add e | ||||
$ hg shelve | ||||
shelved as default | ||||
0 files updated, 0 files merged, 2 files removed, 0 files unresolved | ||||
$ echo z > e | ||||
$ hg unshelve | ||||
unshelving change 'default' | ||||
$ cat e | ||||
e | ||||
$ cat e.orig | ||||
z | ||||
Mads Kiilerich
|
r20414 | |||
Mads Kiilerich
|
r20961 | unshelve and conflicts with tracked and untracked files | ||
Mads Kiilerich
|
r20414 | |||
preparing: | ||||
$ rm *.orig | ||||
$ hg ci -qm 'commit stuff' | ||||
$ hg phase -p null: | ||||
no other changes - no merge: | ||||
$ echo f > f | ||||
$ hg add f | ||||
$ hg shelve | ||||
shelved as default | ||||
0 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||||
Mads Kiilerich
|
r20961 | $ echo g > f | ||
Mads Kiilerich
|
r20414 | $ hg unshelve | ||
unshelving change 'default' | ||||
$ hg st | ||||
A f | ||||
? f.orig | ||||
$ cat f | ||||
f | ||||
$ cat f.orig | ||||
Mads Kiilerich
|
r20961 | g | ||
Mads Kiilerich
|
r20414 | |||
other uncommitted changes - merge: | ||||
$ hg st | ||||
A f | ||||
? f.orig | ||||
$ hg shelve | ||||
shelved as default | ||||
0 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||||
Simon Heimberg
|
r20423 | $ hg log -G --template '{rev} {desc|firstline} {author}' -R bundle://.hg/shelved/default.hg -r 'bundle()' | ||
Mads Kiilerich
|
r20414 | o 4 changes to 'commit stuff' shelve@localhost | ||
| | ||||
$ hg log -G --template '{rev} {desc|firstline} {author}' | ||||
@ 3 commit stuff test | ||||
| | ||||
| o 2 c test | ||||
|/ | ||||
o 0 a test | ||||
$ mv f.orig f | ||||
Mads Kiilerich
|
r20961 | $ echo 1 > a | ||
Mads Kiilerich
|
r20960 | $ hg unshelve --date '1073741824 0' | ||
Mads Kiilerich
|
r20414 | unshelving change 'default' | ||
temporarily committing pending changes (restore with 'hg unshelve --abort') | ||||
rebasing shelved changes | ||||
Mads Kiilerich
|
r23517 | rebasing 5:23b29cada8ba "changes to 'commit stuff'" (tip) | ||
Mads Kiilerich
|
r20414 | merging f | ||
warning: conflicts during merge. | ||||
merging f incomplete! (edit conflicts, then use 'hg resolve --mark') | ||||
unresolved conflicts (see 'hg resolve', then 'hg unshelve --continue') | ||||
[1] | ||||
Mads Kiilerich
|
r20960 | $ hg log -G --template '{rev} {desc|firstline} {author} {date|isodate}' | ||
@ 5 changes to 'commit stuff' shelve@localhost 1970-01-01 00:00 +0000 | ||||
Mads Kiilerich
|
r20414 | | | ||
Mads Kiilerich
|
r20960 | | @ 4 pending changes temporary commit shelve@localhost 2004-01-10 13:37 +0000 | ||
Mads Kiilerich
|
r20414 | |/ | ||
Mads Kiilerich
|
r20960 | o 3 commit stuff test 1970-01-01 00:00 +0000 | ||
Mads Kiilerich
|
r20414 | | | ||
Mads Kiilerich
|
r20960 | | o 2 c test 1970-01-01 00:00 +0000 | ||
Mads Kiilerich
|
r20414 | |/ | ||
Mads Kiilerich
|
r20960 | o 0 a test 1970-01-01 00:00 +0000 | ||
Mads Kiilerich
|
r20414 | |||
$ hg st | ||||
M f | ||||
? f.orig | ||||
$ cat f | ||||
Pierre-Yves David
|
r21693 | <<<<<<< dest: 5f6b880e719b - shelve: pending changes temporary commit | ||
Mads Kiilerich
|
r20961 | g | ||
Mads Kiilerich
|
r20414 | ======= | ||
f | ||||
Pierre-Yves David
|
r21693 | >>>>>>> source: 23b29cada8ba - shelve: changes to 'commit stuff' | ||
Mads Kiilerich
|
r20414 | $ cat f.orig | ||
Mads Kiilerich
|
r20961 | g | ||
Mads Kiilerich
|
r20414 | $ hg unshelve --abort | ||
rebase aborted | ||||
unshelve of 'default' aborted | ||||
$ hg st | ||||
M a | ||||
? f.orig | ||||
$ cat f.orig | ||||
Mads Kiilerich
|
r20961 | g | ||
Mads Kiilerich
|
r20414 | $ hg unshelve | ||
unshelving change 'default' | ||||
temporarily committing pending changes (restore with 'hg unshelve --abort') | ||||
rebasing shelved changes | ||||
Mads Kiilerich
|
r23517 | rebasing 5:23b29cada8ba "changes to 'commit stuff'" (tip) | ||
Mads Kiilerich
|
r20414 | $ hg st | ||
M a | ||||
A f | ||||
? f.orig | ||||
other committed changes - merge: | ||||
$ hg shelve f | ||||
shelved as default | ||||
0 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||||
$ hg ci a -m 'intermediate other change' | ||||
$ mv f.orig f | ||||
$ hg unshelve | ||||
unshelving change 'default' | ||||
rebasing shelved changes | ||||
Mads Kiilerich
|
r23517 | rebasing 5:23b29cada8ba "changes to 'commit stuff'" (tip) | ||
Mads Kiilerich
|
r20414 | merging f | ||
warning: conflicts during merge. | ||||
merging f incomplete! (edit conflicts, then use 'hg resolve --mark') | ||||
unresolved conflicts (see 'hg resolve', then 'hg unshelve --continue') | ||||
[1] | ||||
$ hg st | ||||
M f | ||||
? f.orig | ||||
$ cat f | ||||
Pierre-Yves David
|
r21693 | <<<<<<< dest: * - test: intermediate other change (glob) | ||
Mads Kiilerich
|
r20961 | g | ||
Mads Kiilerich
|
r20414 | ======= | ||
f | ||||
Pierre-Yves David
|
r21693 | >>>>>>> source: 23b29cada8ba - shelve: changes to 'commit stuff' | ||
Mads Kiilerich
|
r20414 | $ cat f.orig | ||
Mads Kiilerich
|
r20961 | g | ||
Mads Kiilerich
|
r20414 | $ hg unshelve --abort | ||
rebase aborted | ||||
unshelve of 'default' aborted | ||||
Mads Kiilerich
|
r20961 | $ hg st | ||
? f.orig | ||||
$ cat f.orig | ||||
g | ||||
Mads Kiilerich
|
r20414 | $ hg shelve --delete default | ||
Jordi GutiƩrrez Hermoso
|
r22842 | Recreate some conflict again | ||
$ cd ../repo | ||||
$ hg up -C -r 3 | ||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
(leaving bookmark test) | ||||
$ echo y >> a/a | ||||
$ hg shelve | ||||
shelved as default | ||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
$ hg up test | ||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
(activating bookmark test) | ||||
$ hg unshelve | ||||
unshelving change 'default' | ||||
rebasing shelved changes | ||||
Mads Kiilerich
|
r23517 | rebasing 5:4b555fdb4e96 "changes to 'second'" (tip) | ||
Jordi GutiƩrrez Hermoso
|
r22842 | merging a/a | ||
warning: conflicts during merge. | ||||
merging a/a incomplete! (edit conflicts, then use 'hg resolve --mark') | ||||
unresolved conflicts (see 'hg resolve', then 'hg unshelve --continue') | ||||
[1] | ||||
Test that resolving all conflicts in one direction (so that the rebase | ||||
is a no-op), works (issue4398) | ||||
$ hg revert -a -r . | ||||
reverting a/a (glob) | ||||
$ hg resolve -m a/a | ||||
(no more unresolved files) | ||||
$ hg unshelve -c | ||||
Mads Kiilerich
|
r23517 | rebasing 5:4b555fdb4e96 "changes to 'second'" (tip) | ||
Mads Kiilerich
|
r23518 | note: rebase of 5:4b555fdb4e96 created no changes to commit | ||
Jordi GutiƩrrez Hermoso
|
r22842 | unshelve of 'default' complete | ||
$ hg diff | ||||
$ hg status | ||||
? a/a.orig | ||||
? foo/foo | ||||
$ hg summary | ||||
parent: 4:33f7f61e6c5e tip | ||||
create conflict | ||||
branch: default | ||||
bookmarks: *test | ||||
commit: 2 unknown (clean) | ||||
update: (current) | ||||
FUJIWARA Katsunori
|
r21715 | $ hg shelve --delete --stat | ||
abort: options '--delete' and '--stat' may not be used together | ||||
[255] | ||||
$ hg shelve --delete --name NAME | ||||
abort: options '--delete' and '--name' may not be used together | ||||
[255] | ||||
Durham Goode
|
r19961 | $ cd .. | ||