##// END OF EJS Templates
tests: remove test-pull-pull-corruption2.t...
tests: remove test-pull-pull-corruption2.t This test gave random failures on slow machines (solaris). The test was added in 6f6e210b38cf as a test case from issue148. It did however require manual setup: The attached script creates such a corruption (you have to add a "import time; time.spleep(3)" in localrepo.addchangegroup before the changegroup manifest are written for example. The test as it is has thus no value as automatic test case. The necessary sleep could be added by a hook, but test-pending.t already tests that.

File last commit:

r15904:7d28d6a6 default
r16482:a5d359b3 stable
Show More
test-rebase-mq.t
327 lines | 5.9 KiB | text/troff | Tads3Lexer
Adrian Buehlmann
tests: unify test-rebase*
r12608 $ cat >> $HGRCPATH <<EOF
> [extensions]
> graphlog=
> rebase=
> mq=
>
> [mq]
> plain=true
>
> [alias]
> tglog = log -G --template "{rev}: '{desc}' tags: {tags}\n"
> EOF
$ hg init a
$ cd a
$ hg qinit -c
$ echo c1 > f
$ hg add f
$ hg ci -m C1
$ echo r1 > f
$ hg ci -m R1
$ hg up -q 0
$ hg qnew f.patch
$ echo mq1 > f
$ hg qref -m P0
$ hg qnew f2.patch
$ echo mq2 > f
$ hg qref -m P1
$ hg tglog
@ 3: 'P1' tags: f2.patch qtip tip
|
o 2: 'P0' tags: f.patch qbase
|
| o 1: 'R1' tags:
|/
o 0: 'C1' tags: qparent
Rebase - try to rebase on an applied mq patch:
$ hg rebase -s 1 -d 3
abort: cannot rebase onto an applied mq patch
[255]
Rebase - same thing, but mq patch is default dest:
$ hg up -q 1
$ hg rebase
abort: cannot rebase onto an applied mq patch
[255]
$ hg up -q qtip
Rebase - generate a conflict:
$ hg rebase -s 2 -d 1
merging f
warning: conflicts during merge.
Matt Mackall
merge: give a special message for internal:merge failure (issue3105)
r15501 merging f incomplete! (edit conflicts, then use 'hg resolve --mark')
Steve Borho
rebase: improve resolve failure message
r12896 abort: unresolved conflicts (see hg resolve, then hg rebase --continue)
Adrian Buehlmann
tests: unify test-rebase*
r12608 [255]
Fix the 1st conflict:
$ echo mq1r1 > f
$ hg resolve -m f
$ hg rebase -c
merging f
warning: conflicts during merge.
Matt Mackall
merge: give a special message for internal:merge failure (issue3105)
r15501 merging f incomplete! (edit conflicts, then use 'hg resolve --mark')
Steve Borho
rebase: improve resolve failure message
r12896 abort: unresolved conflicts (see hg resolve, then hg rebase --continue)
Adrian Buehlmann
tests: unify test-rebase*
r12608 [255]
Fix the 2nd conflict:
$ echo mq1r1mq2 > f
$ hg resolve -m f
$ hg rebase -c
Mads Kiilerich
tests: remove redundant globs...
r12640 saved backup bundle to $TESTTMP/a/.hg/strip-backup/*-backup.hg (glob)
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ hg tglog
@ 3: 'P1' tags: f2.patch qtip tip
|
o 2: 'P0' tags: f.patch qbase
|
o 1: 'R1' tags: qparent
|
o 0: 'C1' tags:
$ hg up -q qbase
$ cat f
mq1r1
$ cat .hg/patches/f.patch
# HG changeset patch
# User test
# Date ?????????? ? (glob)
# Node ID ???????????????????????????????????????? (glob)
# Parent bac9ed9960d8992bcad75864a879fa76cadaf1b0
P0
diff -r bac9ed9960d8 -r ???????????? f (glob)
--- a/f Thu Jan 01 00:00:00 1970 +0000
+++ b/f ??? ??? ?? ??:??:?? ???? ????? (glob)
@@ -1,1 +1,1 @@
-r1
+mq1r1
Update to qtip:
$ hg up -q qtip
$ cat f
mq1r1mq2
$ cat .hg/patches/f2.patch
# HG changeset patch
# User test
# Date ?????????? ? (glob)
# Node ID ???????????????????????????????????????? (glob)
# Parent ???????????????????????????????????????? (glob)
P1
diff -r ???????????? -r ???????????? f (glob)
--- a/f ??? ??? ?? ??:??:?? ???? ????? (glob)
+++ b/f ??? ??? ?? ??:??:?? ???? ????? (glob)
@@ -1,1 +1,1 @@
-mq1r1
+mq1r1mq2
Adding one git-style patch and one normal:
$ hg qpop -a
popping f2.patch
popping f.patch
patch queue now empty
$ rm -fr .hg/patches
$ hg qinit -c
$ hg up -q 0
$ hg qnew --git f_git.patch
$ echo mq1 > p
$ hg add p
$ hg qref --git -m 'P0 (git)'
$ hg qnew f.patch
$ echo mq2 > p
$ hg qref -m P1
$ hg qci -m 'save patch state'
$ hg qseries -s
f_git.patch: P0 (git)
f.patch: P1
$ hg -R .hg/patches manifest
.hgignore
f.patch
f_git.patch
series
$ cat .hg/patches/f_git.patch
P0 (git)
diff --git a/p b/p
new file mode 100644
--- /dev/null
+++ b/p
@@ -0,0 +1,1 @@
+mq1
$ cat .hg/patches/f.patch
P1
diff -r ???????????? p (glob)
--- a/p ??? ??? ?? ??:??:?? ???? ????? (glob)
+++ b/p ??? ??? ?? ??:??:?? ???? ????? (glob)
@@ -1,1 +1,1 @@
-mq1
+mq2
Rebase the applied mq patches:
$ hg rebase -s 2 -d 1
Mads Kiilerich
tests: remove redundant globs...
r12640 saved backup bundle to $TESTTMP/a/.hg/strip-backup/*-backup.hg (glob)
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ hg qci -m 'save patch state'
$ hg qseries -s
f_git.patch: P0 (git)
f.patch: P1
$ hg -R .hg/patches manifest
.hgignore
f.patch
f_git.patch
series
$ cat .hg/patches/f_git.patch
# HG changeset patch
# User test
# Date ?????????? ? (glob)
# Node ID ???????????????????????????????????????? (glob)
# Parent bac9ed9960d8992bcad75864a879fa76cadaf1b0
P0 (git)
diff --git a/p b/p
new file mode 100644
--- /dev/null
+++ b/p
@@ -0,0 +1,1 @@
+mq1
$ cat .hg/patches/f.patch
# HG changeset patch
# User test
# Date ?????????? ? (glob)
# Node ID ???????????????????????????????????????? (glob)
# Parent ???????????????????????????????????????? (glob)
P1
diff -r ???????????? -r ???????????? p (glob)
--- a/p ??? ??? ?? ??:??:?? ???? ????? (glob)
+++ b/p ??? ??? ?? ??:??:?? ???? ????? (glob)
@@ -1,1 +1,1 @@
-mq1
+mq2
Stefano Tortarolo
rebase: restore mq guards after rebasing (issue2107)...
r13766
Rebase with guards
$ hg init foo
$ cd foo
$ echo a > a
$ hg ci -Am a
adding a
Mads Kiilerich
rebase: write series file without removed mq patches...
r15904 Create mq repo with guarded patches foo and bar and empty patch:
Stefano Tortarolo
rebase: restore mq guards after rebasing (issue2107)...
r13766
$ hg qinit
$ hg qnew foo
$ hg qguard foo +baz
$ echo foo > foo
Idan Kamara
rebase: preserve mq series order after rebasing (issue2849)
r14599 $ hg add foo
Stefano Tortarolo
rebase: restore mq guards after rebasing (issue2107)...
r13766 $ hg qref
$ hg qpop
popping foo
patch queue now empty
Mads Kiilerich
rebase: write series file without removed mq patches...
r15904 $ hg qnew empty-important -m 'important commit message'
Stefano Tortarolo
rebase: restore mq guards after rebasing (issue2107)...
r13766 $ hg qnew bar
$ hg qguard bar +baz
$ echo bar > bar
Idan Kamara
rebase: preserve mq series order after rebasing (issue2849)
r14599 $ hg add bar
Stefano Tortarolo
rebase: restore mq guards after rebasing (issue2107)...
r13766 $ hg qref
$ hg qguard -l
Mads Kiilerich
rebase: write series file without removed mq patches...
r15904 empty-important: unguarded
Stefano Tortarolo
rebase: restore mq guards after rebasing (issue2107)...
r13766 bar: +baz
foo: +baz
$ hg tglog
Mads Kiilerich
rebase: write series file without removed mq patches...
r15904 @ 2: '[mq]: bar' tags: bar qtip tip
Stefano Tortarolo
rebase: restore mq guards after rebasing (issue2107)...
r13766 |
Mads Kiilerich
rebase: write series file without removed mq patches...
r15904 o 1: 'important commit message' tags: empty-important qbase
|
o 0: 'a' tags: qparent
Stefano Tortarolo
rebase: restore mq guards after rebasing (issue2107)...
r13766
Create new head to rebase bar onto:
$ hg up -C 0
Idan Kamara
rebase: preserve mq series order after rebasing (issue2849)
r14599 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
Stefano Tortarolo
rebase: restore mq guards after rebasing (issue2107)...
r13766 $ echo b > b
$ hg add b
$ hg ci -m b
created new head
Mads Kiilerich
rebase: write series file without removed mq patches...
r15904 $ hg up -C 2
Idan Kamara
rebase: preserve mq series order after rebasing (issue2849)
r14599 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
Stefano Tortarolo
rebase: restore mq guards after rebasing (issue2107)...
r13766 $ echo a >> a
$ hg qref
$ hg tglog
Mads Kiilerich
rebase: write series file without removed mq patches...
r15904 @ 3: '[mq]: bar' tags: bar qtip tip
Stefano Tortarolo
rebase: restore mq guards after rebasing (issue2107)...
r13766 |
Mads Kiilerich
rebase: write series file without removed mq patches...
r15904 | o 2: 'b' tags:
| |
o | 1: 'important commit message' tags: empty-important qbase
Stefano Tortarolo
rebase: restore mq guards after rebasing (issue2107)...
r13766 |/
Mads Kiilerich
rebase: write series file without removed mq patches...
r15904 o 0: 'a' tags: qparent
Stefano Tortarolo
rebase: restore mq guards after rebasing (issue2107)...
r13766
Mads Kiilerich
rebase: write series file without removed mq patches...
r15904 Rebase bar (make sure series order is preserved and empty-important also is
removed from the series):
Stefano Tortarolo
rebase: restore mq guards after rebasing (issue2107)...
r13766
Idan Kamara
rebase: preserve mq series order after rebasing (issue2849)
r14599 $ hg qseries
Mads Kiilerich
rebase: write series file without removed mq patches...
r15904 empty-important
bar
foo
$ [ -f .hg/patches/empty-important ]
$ hg -q rebase -d 2
$ hg qseries
Idan Kamara
rebase: preserve mq series order after rebasing (issue2849)
r14599 bar
foo
Mads Kiilerich
rebase: write series file without removed mq patches...
r15904 $ [ -f .hg/patches/empty-important ]
[1]
Stefano Tortarolo
rebase: restore mq guards after rebasing (issue2107)...
r13766
$ hg qguard -l
Idan Kamara
rebase: preserve mq series order after rebasing (issue2849)
r14599 bar: +baz
Stefano Tortarolo
rebase: restore mq guards after rebasing (issue2107)...
r13766 foo: +baz
$ hg tglog
@ 2:* '[mq]: bar' tags: bar qbase qtip tip (glob)
|
o 1:* 'b' tags: qparent (glob)
|
o 0:* 'a' tags: (glob)