test-histedit-fold-non-commute.t
349 lines
| 9.1 KiB
| text/troff
|
Tads3Lexer
/ tests / test-histedit-fold-non-commute.t
Mads Kiilerich
|
r17085 | $ . "$TESTDIR/histedit-helpers.sh" | ||
$ cat >> $HGRCPATH <<EOF | ||||
> [extensions] | ||||
> 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 r | ||||
$ cd r | ||||
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 'fold {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 | ||||
fold 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
|
r19019 | $ hg histedit 3 --commands $EDITED 2>&1 | fixbundle | ||
Pierre-Yves David
|
r17646 | 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') | ||||
Augie Fackler
|
r18934 | Fix up the change and run hg histedit --continue | ||
Mads Kiilerich
|
r17085 | |||
fix up | ||||
Pierre-Yves David
|
r17647 | $ echo 'I can haz no commute' > e | ||
$ hg resolve --mark e | ||||
Pierre-Yves David
|
r21947 | (no more unresolved files) | ||
Mads Kiilerich
|
r17085 | $ cat > cat.py <<EOF | ||
> import sys | ||||
> print open(sys.argv[1]).read() | ||||
> EOF | ||||
$ HGEDITOR="python cat.py" hg histedit --continue 2>&1 | fixbundle | grep -v '2 files removed' | ||||
Pierre-Yves David
|
r17646 | 2 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||
Mads Kiilerich
|
r17085 | d | ||
*** | ||||
does not commute with e | ||||
Patrick Mezard
|
r17241 | |||
Pierre-Yves David
|
r17644 | HG: Enter commit message. Lines beginning with 'HG:' are removed. | ||
HG: Leave message empty to abort commit. | ||||
HG: -- | ||||
HG: user: test | ||||
HG: branch 'default' | ||||
HG: changed d | ||||
HG: changed e | ||||
2 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
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') | ||||
Augie Fackler
|
r18934 | Fix up the change and run hg histedit --continue | ||
Mads Kiilerich
|
r17085 | |||
just continue this time | ||||
Pierre-Yves David
|
r17647 | $ hg revert -r 'p1()' e | ||
$ hg resolve --mark e | ||||
Pierre-Yves David
|
r21947 | (no more unresolved files) | ||
Mads Kiilerich
|
r17085 | $ hg histedit --continue 2>&1 | fixbundle | ||
Durham Goode
|
r24767 | 7b4e2f4b7bcd: empty changeset | ||
Mads Kiilerich
|
r17085 | 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
|
r18437 | @ changeset: 5:d9cf42e54966 | ||
Mads Kiilerich
|
r17085 | | tag: tip | ||
| user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: f | ||||
| | ||||
Pierre-Yves David
|
r18437 | o changeset: 4:10486af2e984 | ||
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 | |||
contents of e | ||||
$ hg cat e | ||||
Pierre-Yves David
|
r17647 | I can haz no commute | ||
Mads Kiilerich
|
r17085 | |||
manifest | ||||
$ hg manifest | ||||
a | ||||
b | ||||
c | ||||
d | ||||
e | ||||
f | ||||
$ cd .. | ||||
Mike Edgar
|
r22152 | |||
Repeat test using "roll", not "fold". "roll" folds in changes but drops message | ||||
$ initrepo r2 | ||||
$ cd r2 | ||||
Initial generation of the command files | ||||
$ EDITED="$TESTTMP/editedhistory.2" | ||||
$ 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 'roll {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 | ||||
roll 39522b764e3d 7 does not commute with e | ||||
pick 7b4e2f4b7bcd 5 e | ||||
pick 500cac37a696 6 f | ||||
log before edit | ||||
$ hg log --graph | ||||
@ changeset: 7:39522b764e3d | ||||
| tag: tip | ||||
| user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: does not commute with e | ||||
| | ||||
o changeset: 6:500cac37a696 | ||||
| user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: f | ||||
| | ||||
o changeset: 5:7b4e2f4b7bcd | ||||
| user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: e | ||||
| | ||||
o changeset: 4:00f1c5383965 | ||||
| user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: d | ||||
| | ||||
o changeset: 3:65a9a84f33fd | ||||
| user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: c | ||||
| | ||||
o changeset: 2:da6535b52e45 | ||||
| user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: b | ||||
| | ||||
o changeset: 1:c1f09da44841 | ||||
| user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: a | ||||
| | ||||
o changeset: 0:1715188a53c7 | ||||
user: test | ||||
date: Thu Jan 01 00:00:00 1970 +0000 | ||||
summary: Initial commit | ||||
edit the history | ||||
$ hg histedit 3 --commands $EDITED 2>&1 | fixbundle | ||||
2 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
merging e | ||||
warning: conflicts during merge. | ||||
merging e incomplete! (edit conflicts, then use 'hg resolve --mark') | ||||
Fix up the change and run hg histedit --continue | ||||
fix up | ||||
$ echo 'I can haz no commute' > e | ||||
$ hg resolve --mark e | ||||
(no more unresolved files) | ||||
$ hg histedit --continue 2>&1 | fixbundle | grep -v '2 files removed' | ||||
2 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
2 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
0 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
merging e | ||||
warning: conflicts during merge. | ||||
merging e incomplete! (edit conflicts, then use 'hg resolve --mark') | ||||
Fix up the change and run hg histedit --continue | ||||
just continue this time | ||||
$ hg revert -r 'p1()' e | ||||
$ hg resolve --mark e | ||||
(no more unresolved files) | ||||
$ hg histedit --continue 2>&1 | fixbundle | ||||
Durham Goode
|
r24767 | 7b4e2f4b7bcd: empty changeset | ||
Mike Edgar
|
r22152 | 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 | ||||
@ changeset: 5:e7c4f5d4eb75 | ||||
| tag: tip | ||||
| user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: f | ||||
| | ||||
o changeset: 4:803d1bb561fc | ||||
| user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: d | ||||
| | ||||
o changeset: 3:65a9a84f33fd | ||||
| user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: c | ||||
| | ||||
o changeset: 2:da6535b52e45 | ||||
| user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: b | ||||
| | ||||
o changeset: 1:c1f09da44841 | ||||
| user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: a | ||||
| | ||||
o changeset: 0:1715188a53c7 | ||||
user: test | ||||
date: Thu Jan 01 00:00:00 1970 +0000 | ||||
summary: Initial commit | ||||
contents of e | ||||
$ hg cat e | ||||
I can haz no commute | ||||
manifest | ||||
$ hg manifest | ||||
a | ||||
b | ||||
c | ||||
d | ||||
e | ||||
f | ||||
description is taken from rollup target commit | ||||
$ hg log --debug --rev 4 | ||||
changeset: 4:803d1bb561fceac3129ec778db9da249a3106fc3 | ||||
phase: draft | ||||
parent: 3:65a9a84f33fdeb1ad5679b3941ec885d2b24027b | ||||
parent: -1:0000000000000000000000000000000000000000 | ||||
manifest: 4:b068a323d969f22af1296ec6a5ea9384cef437ac | ||||
user: test | ||||
date: Thu Jan 01 00:00:00 1970 +0000 | ||||
files: d e | ||||
extra: branch=default | ||||
extra: histedit_source=00f1c53839651fa5c76d423606811ea5455a79d0,39522b764e3d26103f08bd1fa2ccd3e3d7dbcf4e | ||||
description: | ||||
d | ||||
done with repo r2 | ||||
$ cd .. | ||||