test-histedit-non-commute.t
295 lines
| 8.3 KiB
| text/troff
|
Tads3Lexer
/ tests / test-histedit-non-commute.t
Mads Kiilerich
|
r17085 | $ . "$TESTDIR/histedit-helpers.sh" | ||
$ cat >> $HGRCPATH <<EOF | ||||
> [extensions] | ||||
> graphlog= | ||||
> histedit= | ||||
> EOF | ||||
$ initrepo () | ||||
> { | ||||
> hg init $1 | ||||
> cd $1 | ||||
> for x in a b c d e f ; do | ||||
Pierre-Yves David
|
r17646 | > echo $x$x$x$x$x > $x | ||
> hg add $x | ||||
> done | ||||
> hg ci -m 'Initial commit' | ||||
> for x in a b c d e f ; do | ||||
Mads Kiilerich
|
r17085 | > echo $x > $x | ||
> hg ci -m $x | ||||
> done | ||||
Pierre-Yves David
|
r17646 | > echo 'I can haz no commute' > e | ||
Mads Kiilerich
|
r17085 | > hg ci -m 'does not commute with e' | ||
> cd .. | ||||
> } | ||||
$ initrepo r1 | ||||
$ cd r1 | ||||
Pierre-Yves David
|
r17646 | Initial generation of the command files | ||
$ EDITED="$TESTTMP/editedhistory" | ||||
$ hg log --template 'pick {node|short} {rev} {desc}\n' -r 3 >> $EDITED | ||||
$ hg log --template 'pick {node|short} {rev} {desc}\n' -r 4 >> $EDITED | ||||
$ hg log --template 'pick {node|short} {rev} {desc}\n' -r 7 >> $EDITED | ||||
$ hg log --template 'pick {node|short} {rev} {desc}\n' -r 5 >> $EDITED | ||||
$ hg log --template 'pick {node|short} {rev} {desc}\n' -r 6 >> $EDITED | ||||
$ cat $EDITED | ||||
pick 65a9a84f33fd 3 c | ||||
pick 00f1c5383965 4 d | ||||
pick 39522b764e3d 7 does not commute with e | ||||
pick 7b4e2f4b7bcd 5 e | ||||
pick 500cac37a696 6 f | ||||
Mads Kiilerich
|
r17085 | log before edit | ||
$ hg log --graph | ||||
Pierre-Yves David
|
r17646 | @ changeset: 7:39522b764e3d | ||
Mads Kiilerich
|
r17085 | | tag: tip | ||
| user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: does not commute with e | ||||
| | ||||
Pierre-Yves David
|
r17646 | o changeset: 6:500cac37a696 | ||
Mads Kiilerich
|
r17085 | | user: test | ||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: f | ||||
| | ||||
Pierre-Yves David
|
r17646 | o changeset: 5:7b4e2f4b7bcd | ||
Mads Kiilerich
|
r17085 | | user: test | ||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: e | ||||
| | ||||
Pierre-Yves David
|
r17646 | o changeset: 4:00f1c5383965 | ||
Mads Kiilerich
|
r17085 | | user: test | ||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: d | ||||
| | ||||
Pierre-Yves David
|
r17646 | o changeset: 3:65a9a84f33fd | ||
Mads Kiilerich
|
r17085 | | user: test | ||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: c | ||||
| | ||||
Pierre-Yves David
|
r17646 | o changeset: 2:da6535b52e45 | ||
Mads Kiilerich
|
r17085 | | user: test | ||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: b | ||||
| | ||||
Pierre-Yves David
|
r17646 | o changeset: 1:c1f09da44841 | ||
| user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: a | ||||
| | ||||
o changeset: 0:1715188a53c7 | ||||
Mads Kiilerich
|
r17085 | user: test | ||
date: Thu Jan 01 00:00:00 1970 +0000 | ||||
Pierre-Yves David
|
r17646 | summary: Initial commit | ||
Mads Kiilerich
|
r17085 | |||
edit the history | ||||
Pierre-Yves David
|
r17646 | $ HGEDITOR="cat \"$EDITED\" > " hg histedit 3 2>&1 | fixbundle | ||
2 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
Pierre-Yves David
|
r17647 | merging e | ||
warning: conflicts during merge. | ||||
merging e incomplete! (edit conflicts, then use 'hg resolve --mark') | ||||
Mads Kiilerich
|
r17085 | abort: Fix up the change and run hg histedit --continue | ||
abort the edit | ||||
$ hg histedit --abort 2>&1 | fixbundle | ||||
2 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
second edit set | ||||
$ hg log --graph | ||||
Pierre-Yves David
|
r17646 | @ changeset: 7:39522b764e3d | ||
Mads Kiilerich
|
r17085 | | tag: tip | ||
| user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: does not commute with e | ||||
| | ||||
Pierre-Yves David
|
r17646 | o changeset: 6:500cac37a696 | ||
Mads Kiilerich
|
r17085 | | user: test | ||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: f | ||||
| | ||||
Pierre-Yves David
|
r17646 | o changeset: 5:7b4e2f4b7bcd | ||
Mads Kiilerich
|
r17085 | | user: test | ||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: e | ||||
| | ||||
Pierre-Yves David
|
r17646 | o changeset: 4:00f1c5383965 | ||
Mads Kiilerich
|
r17085 | | user: test | ||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: d | ||||
| | ||||
Pierre-Yves David
|
r17646 | o changeset: 3:65a9a84f33fd | ||
Mads Kiilerich
|
r17085 | | user: test | ||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: c | ||||
| | ||||
Pierre-Yves David
|
r17646 | o changeset: 2:da6535b52e45 | ||
Mads Kiilerich
|
r17085 | | user: test | ||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: b | ||||
| | ||||
Pierre-Yves David
|
r17646 | o changeset: 1:c1f09da44841 | ||
| user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: a | ||||
| | ||||
o changeset: 0:1715188a53c7 | ||||
Mads Kiilerich
|
r17085 | user: test | ||
date: Thu Jan 01 00:00:00 1970 +0000 | ||||
Pierre-Yves David
|
r17646 | summary: Initial commit | ||
Mads Kiilerich
|
r17085 | |||
edit the history | ||||
Pierre-Yves David
|
r17646 | $ HGEDITOR="cat \"$EDITED\" > " hg histedit 3 2>&1 | fixbundle | ||
2 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
Pierre-Yves David
|
r17647 | merging e | ||
warning: conflicts during merge. | ||||
merging e incomplete! (edit conflicts, then use 'hg resolve --mark') | ||||
Mads Kiilerich
|
r17085 | abort: Fix up the change and run hg histedit --continue | ||
fix up | ||||
Pierre-Yves David
|
r17646 | $ echo 'I can haz no commute' > e | ||
Pierre-Yves David
|
r17647 | $ hg resolve --mark e | ||
Mads Kiilerich
|
r17085 | $ hg histedit --continue 2>&1 | fixbundle | ||
0 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
Pierre-Yves David
|
r17647 | merging e | ||
warning: conflicts during merge. | ||||
merging e incomplete! (edit conflicts, then use 'hg resolve --mark') | ||||
Mads Kiilerich
|
r17085 | abort: Fix up the change and run hg histedit --continue | ||
Pierre-Yves David
|
r17688 | This failure is caused by 7b4e2f4b7bcd "e" not rebasing the non commutative | ||
former children. | ||||
Mads Kiilerich
|
r17085 | just continue this time | ||
Pierre-Yves David
|
r17647 | $ hg revert -r 'p1()' e | ||
$ hg resolve --mark e | ||||
Mads Kiilerich
|
r17085 | $ hg histedit --continue 2>&1 | fixbundle | ||
0 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
0 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
log after edit | ||||
$ hg log --graph | ||||
Pierre-Yves David
|
r17646 | @ changeset: 6:8e082d1a72ea | ||
Mads Kiilerich
|
r17085 | | tag: tip | ||
| user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: f | ||||
| | ||||
Pierre-Yves David
|
r17646 | o changeset: 5:13b04d775b81 | ||
Mads Kiilerich
|
r17085 | | user: test | ||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: does not commute with e | ||||
| | ||||
Pierre-Yves David
|
r17646 | o changeset: 4:00f1c5383965 | ||
Mads Kiilerich
|
r17085 | | user: test | ||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: d | ||||
| | ||||
Pierre-Yves David
|
r17646 | o changeset: 3:65a9a84f33fd | ||
Mads Kiilerich
|
r17085 | | user: test | ||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: c | ||||
| | ||||
Pierre-Yves David
|
r17646 | o changeset: 2:da6535b52e45 | ||
Mads Kiilerich
|
r17085 | | user: test | ||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: b | ||||
| | ||||
Pierre-Yves David
|
r17646 | o changeset: 1:c1f09da44841 | ||
| user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: a | ||||
| | ||||
o changeset: 0:1715188a53c7 | ||||
Mads Kiilerich
|
r17085 | user: test | ||
date: Thu Jan 01 00:00:00 1970 +0000 | ||||
Pierre-Yves David
|
r17646 | summary: Initial commit | ||
Mads Kiilerich
|
r17085 | |||
start over | ||||
$ cd .. | ||||
$ initrepo r2 | ||||
$ cd r2 | ||||
Pierre-Yves David
|
r17646 | $ rm $EDITED | ||
$ hg log --template 'pick {node|short} {rev} {desc}\n' -r 3 >> $EDITED | ||||
$ hg log --template 'pick {node|short} {rev} {desc}\n' -r 4 >> $EDITED | ||||
$ hg log --template 'mess {node|short} {rev} {desc}\n' -r 7 >> $EDITED | ||||
$ hg log --template 'pick {node|short} {rev} {desc}\n' -r 5 >> $EDITED | ||||
$ hg log --template 'pick {node|short} {rev} {desc}\n' -r 6 >> $EDITED | ||||
$ cat $EDITED | ||||
pick 65a9a84f33fd 3 c | ||||
pick 00f1c5383965 4 d | ||||
mess 39522b764e3d 7 does not commute with e | ||||
pick 7b4e2f4b7bcd 5 e | ||||
pick 500cac37a696 6 f | ||||
Mads Kiilerich
|
r17085 | |||
edit the history, this time with a fold action | ||||
Pierre-Yves David
|
r17646 | $ HGEDITOR="cat \"$EDITED\" > " hg histedit 3 2>&1 | fixbundle | ||
2 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
Pierre-Yves David
|
r17647 | merging e | ||
warning: conflicts during merge. | ||||
merging e incomplete! (edit conflicts, then use 'hg resolve --mark') | ||||
Mads Kiilerich
|
r17085 | abort: Fix up the change and run hg histedit --continue | ||
Pierre-Yves David
|
r17646 | $ echo 'I can haz no commute' > e | ||
Pierre-Yves David
|
r17647 | $ hg resolve --mark e | ||
Mads Kiilerich
|
r17086 | $ HGEDITOR="cat \"$EDITED\" > " hg histedit --continue 2>&1 | fixbundle | ||
Mads Kiilerich
|
r17085 | 0 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||
Pierre-Yves David
|
r17647 | merging e | ||
warning: conflicts during merge. | ||||
merging e incomplete! (edit conflicts, then use 'hg resolve --mark') | ||||
Mads Kiilerich
|
r17085 | abort: Fix up the change and run hg histedit --continue | ||
second edit also fails, but just continue | ||||
Pierre-Yves David
|
r17647 | $ hg revert -r 'p1()' e | ||
$ hg resolve --mark e | ||||
Mads Kiilerich
|
r17085 | $ hg histedit --continue 2>&1 | fixbundle | ||
0 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
0 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
post message fix | ||||
$ hg log --graph | ||||
Pierre-Yves David
|
r17646 | @ changeset: 6:f14da722aa4b | ||
Mads Kiilerich
|
r17085 | | tag: tip | ||
| user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: f | ||||
| | ||||
Pierre-Yves David
|
r17646 | o changeset: 5:382ff1adf0ed | ||
Mads Kiilerich
|
r17085 | | user: test | ||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
Pierre-Yves David
|
r17646 | | summary: pick 65a9a84f33fd 3 c | ||
Mads Kiilerich
|
r17085 | | | ||
Pierre-Yves David
|
r17646 | o changeset: 4:00f1c5383965 | ||
Mads Kiilerich
|
r17085 | | user: test | ||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: d | ||||
| | ||||
Pierre-Yves David
|
r17646 | o changeset: 3:65a9a84f33fd | ||
Mads Kiilerich
|
r17085 | | user: test | ||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: c | ||||
| | ||||
Pierre-Yves David
|
r17646 | o changeset: 2:da6535b52e45 | ||
Mads Kiilerich
|
r17085 | | user: test | ||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: b | ||||
| | ||||
Pierre-Yves David
|
r17646 | o changeset: 1:c1f09da44841 | ||
| user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: a | ||||
| | ||||
o changeset: 0:1715188a53c7 | ||||
Mads Kiilerich
|
r17085 | user: test | ||
date: Thu Jan 01 00:00:00 1970 +0000 | ||||
Pierre-Yves David
|
r17646 | summary: Initial commit | ||
Mads Kiilerich
|
r17085 | |||
$ cd .. | ||||