test-histedit-obsolete.t
155 lines
| 3.9 KiB
| text/troff
|
Tads3Lexer
/ tests / test-histedit-obsolete.t
Pierre-Yves David
|
r17759 | $ . "$TESTDIR/histedit-helpers.sh" | ||
Enable obsolete | ||||
$ cat > ${TESTTMP}/obs.py << EOF | ||||
> import mercurial.obsolete | ||||
> mercurial.obsolete._enabled = True | ||||
> EOF | ||||
$ cat >> $HGRCPATH << EOF | ||||
> [ui] | ||||
> logtemplate= {rev}:{node|short} {desc|firstline} | ||||
> [phases] | ||||
> publish=False | ||||
> [extensions]' | ||||
> histedit= | ||||
> | ||||
> obs=${TESTTMP}/obs.py | ||||
> EOF | ||||
$ hg init base | ||||
$ cd base | ||||
$ for x in a b c d e f ; do | ||||
> echo $x > $x | ||||
> hg add $x | ||||
> hg ci -m $x | ||||
> done | ||||
$ hg log --graph | ||||
@ 5:652413bf663e f | ||||
| | ||||
o 4:e860deea161a e | ||||
| | ||||
o 3:055a42cdd887 d | ||||
| | ||||
o 2:177f92b77385 c | ||||
| | ||||
o 1:d2ae7f538514 b | ||||
| | ||||
o 0:cb9a9f314b8b a | ||||
$ HGEDITOR=cat hg histedit 1 | ||||
pick d2ae7f538514 1 b | ||||
pick 177f92b77385 2 c | ||||
pick 055a42cdd887 3 d | ||||
pick e860deea161a 4 e | ||||
pick 652413bf663e 5 f | ||||
# Edit history between d2ae7f538514 and 652413bf663e | ||||
# | ||||
# Commands: | ||||
# p, pick = use commit | ||||
# e, edit = use commit, but stop for amending | ||||
# f, fold = use commit, but fold into previous commit (combines N and N-1) | ||||
# d, drop = remove commit from history | ||||
# m, mess = edit message without changing commit content | ||||
# | ||||
0 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
Pierre-Yves David
|
r17764 | $ cat > commands.txt <<EOF | ||
Pierre-Yves David
|
r17759 | > pick 177f92b77385 2 c | ||
> drop d2ae7f538514 1 b | ||||
> pick 055a42cdd887 3 d | ||||
> fold e860deea161a 4 e | ||||
> pick 652413bf663e 5 f | ||||
> EOF | ||||
$ hg histedit 1 --commands commands.txt --verbose | grep histedit | ||||
saved backup bundle to $TESTTMP/base/.hg/strip-backup/34a9919932c1-backup.hg (glob) | ||||
$ hg log --graph --hidden | ||||
@ 8:0efacef7cb48 f | ||||
| | ||||
o 7:ae467701c500 d | ||||
| | ||||
o 6:d36c0562f908 c | ||||
| | ||||
| x 5:652413bf663e f | ||||
| | | ||||
| x 4:e860deea161a e | ||||
| | | ||||
| x 3:055a42cdd887 d | ||||
| | | ||||
| x 2:177f92b77385 c | ||||
| | | ||||
| x 1:d2ae7f538514 b | ||||
|/ | ||||
o 0:cb9a9f314b8b a | ||||
$ hg debugobsolete | ||||
Pierre-Yves David
|
r17771 | d2ae7f538514cd87c17547b0de4cea71fe1af9fb 0 {'date': '* *', 'user': 'test'} (glob) | ||
177f92b773850b59254aa5e923436f921b55483b d36c0562f908c692f5204d606d4ff3537d41f1bf 0 {'date': '* *', 'user': 'test'} (glob) | ||||
055a42cdd88768532f9cf79daa407fc8d138de9b ae467701c5006bf21ffcfdb555b3d6b63280b6b7 0 {'date': '* *', 'user': 'test'} (glob) | ||||
e860deea161a2f77de56603b340ebbb4536308ae ae467701c5006bf21ffcfdb555b3d6b63280b6b7 0 {'date': '* *', 'user': 'test'} (glob) | ||||
652413bf663ef2a641cab26574e46d5f5a64a55a 0efacef7cb481bf574f69075b82d044fdbe5c20f 0 {'date': '* *', 'user': 'test'} (glob) | ||||
Pierre-Yves David
|
r17761 | |||
Ensure hidden revision does not prevent histedit | ||||
------------------------------------------------- | ||||
create an hidden revision | ||||
$ cat > commands.txt <<EOF | ||||
> pick d36c0562f908 6 c | ||||
> drop ae467701c500 7 d | ||||
> pick 0efacef7cb48 8 f | ||||
> EOF | ||||
$ hg histedit 6 --commands commands.txt | ||||
0 files updated, 0 files merged, 3 files removed, 0 files unresolved | ||||
0 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
$ hg log --graph | ||||
@ 9:7c044e3e33a9 f | ||||
| | ||||
o 6:d36c0562f908 c | ||||
| | ||||
o 0:cb9a9f314b8b a | ||||
check hidden revision are ignored (6 have hidden children 7 and 8) | ||||
$ cat > commands.txt <<EOF | ||||
> pick d36c0562f908 6 c | ||||
> pick 7c044e3e33a9 8 f | ||||
> EOF | ||||
$ hg histedit 6 --commands commands.txt | ||||
0 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
Pierre-Yves David
|
r17762 | |||
Check that histedit respect phases | ||||
========================================= | ||||
(not directly related to the test file but doesn't deserve it's own test case) | ||||
$ hg log -G | ||||
@ 9:7c044e3e33a9 f | ||||
| | ||||
o 6:d36c0562f908 c | ||||
| | ||||
o 0:cb9a9f314b8b a | ||||
$ hg ph -pv '.^' | ||||
phase changed for 2 changesets | ||||
$ hg histedit -r '.~2' | ||||
abort: cannot edit immutable changeset: cb9a9f314b8b | ||||
[255] | ||||
Pierre-Yves David
|
r18165 | |||
+Test ui.prevent-unstable option | ||||
+------------------------------------ | ||||
$ hg up '.^' | ||||
0 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||||
$ hg phase --force --draft . | ||||
$ hg log -r 'children(.)' | ||||
9:7c044e3e33a9 f (no-eol) | ||||
$ hg histedit -r '.' | ||||
0 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||