test-histedit-fold.t
238 lines
| 5.9 KiB
| text/troff
|
Tads3Lexer
/ tests / test-histedit-fold.t
Mads Kiilerich
|
r17085 | $ . "$TESTDIR/histedit-helpers.sh" | ||
$ cat >> $HGRCPATH <<EOF | ||||
> [extensions] | ||||
> graphlog= | ||||
> histedit= | ||||
> EOF | ||||
Mads Kiilerich
|
r17087 | $ EDITED="$TESTTMP/editedhistory" | ||
Mads Kiilerich
|
r17085 | $ cat > $EDITED <<EOF | ||
> pick e860deea161a e | ||||
> pick 652413bf663e f | ||||
> fold 177f92b77385 c | ||||
> pick 055a42cdd887 d | ||||
> EOF | ||||
$ initrepo () | ||||
> { | ||||
> hg init r | ||||
> cd r | ||||
> for x in a b c d e f ; do | ||||
> echo $x > $x | ||||
> hg add $x | ||||
> hg ci -m $x | ||||
> done | ||||
> } | ||||
$ initrepo | ||||
log before edit | ||||
$ hg log --graph | ||||
@ changeset: 5:652413bf663e | ||||
| tag: tip | ||||
| user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: f | ||||
| | ||||
o changeset: 4:e860deea161a | ||||
| user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: e | ||||
| | ||||
o changeset: 3:055a42cdd887 | ||||
| user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: d | ||||
| | ||||
o changeset: 2:177f92b77385 | ||||
| user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: c | ||||
| | ||||
o changeset: 1:d2ae7f538514 | ||||
| user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: b | ||||
| | ||||
o changeset: 0:cb9a9f314b8b | ||||
user: test | ||||
date: Thu Jan 01 00:00:00 1970 +0000 | ||||
summary: a | ||||
edit the history | ||||
Mads Kiilerich
|
r17086 | $ HGEDITOR="cat \"$EDITED\" > " hg histedit 177f92b77385 2>&1 | fixbundle | ||
Mads Kiilerich
|
r17085 | 0 files updated, 0 files merged, 4 files removed, 0 files unresolved | ||
0 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
0 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
0 files updated, 0 files merged, 2 files removed, 0 files unresolved | ||||
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: 4:82b0c1ff1777 | ||||
| tag: tip | ||||
| user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: d | ||||
| | ||||
o changeset: 3:150aafb44a91 | ||||
| user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: pick e860deea161a e | ||||
| | ||||
o changeset: 2:493dc0964412 | ||||
| user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: e | ||||
| | ||||
o changeset: 1:d2ae7f538514 | ||||
| user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: b | ||||
| | ||||
o changeset: 0:cb9a9f314b8b | ||||
user: test | ||||
date: Thu Jan 01 00:00:00 1970 +0000 | ||||
summary: a | ||||
post-fold manifest | ||||
$ hg manifest | ||||
a | ||||
b | ||||
c | ||||
d | ||||
e | ||||
f | ||||
$ cd .. | ||||
Augie Fackler
|
r17130 | |||
folding and creating no new change doesn't break: | ||||
$ mkdir fold-to-empty-test | ||||
$ cd fold-to-empty-test | ||||
$ hg init | ||||
$ printf "1\n2\n3\n" > file | ||||
$ hg add file | ||||
$ hg commit -m '1+2+3' | ||||
$ echo 4 >> file | ||||
$ hg commit -m '+4' | ||||
$ echo 5 >> file | ||||
$ hg commit -m '+5' | ||||
$ echo 6 >> file | ||||
$ hg commit -m '+6' | ||||
$ hg log --graph | ||||
@ changeset: 3:251d831eeec5 | ||||
| tag: tip | ||||
| user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: +6 | ||||
| | ||||
o changeset: 2:888f9082bf99 | ||||
| user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: +5 | ||||
| | ||||
o changeset: 1:617f94f13c0f | ||||
| user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: +4 | ||||
| | ||||
o changeset: 0:0189ba417d34 | ||||
user: test | ||||
date: Thu Jan 01 00:00:00 1970 +0000 | ||||
summary: 1+2+3 | ||||
$ cat > editor.py <<EOF | ||||
> import re, sys | ||||
> rules = sys.argv[1] | ||||
> data = open(rules).read() | ||||
> data = re.sub(r'pick ([0-9a-f]{12} 2 \+5)', r'drop \1', data) | ||||
> data = re.sub(r'pick ([0-9a-f]{12} 2 \+6)', r'fold \1', data) | ||||
> open(rules, 'w').write(data) | ||||
> EOF | ||||
$ HGEDITOR='python editor.py' hg histedit 1 | ||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
patching file file | ||||
Hunk #1 FAILED at 2 | ||||
1 out of 1 hunks FAILED -- saving rejects to file file.rej | ||||
abort: Fix up the change and run hg histedit --continue | ||||
[255] | ||||
There were conflicts, but we'll continue without resolving. This | ||||
should effectively drop the changes from +6. | ||||
$ hg status | ||||
? editor.py | ||||
? file.rej | ||||
$ hg histedit --continue | ||||
0 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
saved backup bundle to $TESTTMP/*-backup.hg (glob) | ||||
$ hg log --graph | ||||
@ changeset: 1:617f94f13c0f | ||||
| tag: tip | ||||
| user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: +4 | ||||
| | ||||
o changeset: 0:0189ba417d34 | ||||
user: test | ||||
date: Thu Jan 01 00:00:00 1970 +0000 | ||||
summary: 1+2+3 | ||||
$ cd .. | ||||
Patrick Mezard
|
r17242 | |||
Test corner case where folded revision is separated from its parent by a | ||||
dropped revision. | ||||
$ hg init fold-with-dropped | ||||
$ cd fold-with-dropped | ||||
$ printf "1\n2\n3\n" > file | ||||
$ hg commit -Am '1+2+3' | ||||
adding file | ||||
$ echo 4 >> file | ||||
$ hg commit -m '+4' | ||||
$ echo 5 >> file | ||||
$ hg commit -m '+5' | ||||
$ echo 6 >> file | ||||
$ hg commit -m '+6' | ||||
$ hg log -G --template '{rev}:{node|short} {desc|firstline}\n' | ||||
@ 3:251d831eeec5 +6 | ||||
| | ||||
o 2:888f9082bf99 +5 | ||||
| | ||||
o 1:617f94f13c0f +4 | ||||
| | ||||
o 0:0189ba417d34 1+2+3 | ||||
$ EDITED=`pwd`/../editcommands | ||||
$ cat > $EDITED <<EOF | ||||
> pick 617f94f13c0f 1 +4 | ||||
> drop 888f9082bf99 2 +5 | ||||
> fold 251d831eeec5 3 +6 | ||||
> EOF | ||||
$ HGEDITOR="cat $EDITED >" hg histedit 1 | ||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
patching file file | ||||
Hunk #1 FAILED at 2 | ||||
1 out of 1 hunks FAILED -- saving rejects to file file.rej | ||||
abort: Fix up the change and run hg histedit --continue | ||||
[255] | ||||
$ echo 5 >> file | ||||
$ hg commit -m '+5.2' | ||||
created new head | ||||
$ echo 6 >> file | ||||
$ HGEDITOR=cat hg histedit --continue | ||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
+4 | ||||
*** | ||||
+5.2 | ||||
*** | ||||
+6 | ||||
0 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
saved backup bundle to $TESTTMP/fold-with-dropped/.hg/strip-backup/617f94f13c0f-backup.hg (glob) | ||||
$ cd .. | ||||