annotate tests/test-histedit-obsolete.t @ 17761:c80a7a0c7d22

histedit: ignores hidden revision when checking for orphaned nodes We do not want hidden revision to block histedit. They are already "dead" and we do not care about dead orphans. see similar changeset 9e2dc0d292cd for rebase.
author Pierre-Yves David <pierre-yves.david@logilab.fr>
date Thu, 27 Sep 2012 14:00:52 +0200
parents 9c7497cd39fd
children 57f27cbfc5bb
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
17759
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
1 $ . "$TESTDIR/histedit-helpers.sh"
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
2
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
3 Enable obsolete
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
4
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
5 $ cat > ${TESTTMP}/obs.py << EOF
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
6 > import mercurial.obsolete
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
7 > mercurial.obsolete._enabled = True
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
8 > EOF
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
9
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
10 $ cat >> $HGRCPATH << EOF
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
11 > [ui]
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
12 > logtemplate= {rev}:{node|short} {desc|firstline}
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
13 > [phases]
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
14 > publish=False
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
15 > [extensions]'
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
16 > histedit=
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
17 >
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
18 > obs=${TESTTMP}/obs.py
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
19 > EOF
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
20
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
21 $ hg init base
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
22 $ cd base
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
23
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
24 $ for x in a b c d e f ; do
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
25 > echo $x > $x
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
26 > hg add $x
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
27 > hg ci -m $x
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
28 > done
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
29
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
30 $ hg log --graph
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
31 @ 5:652413bf663e f
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
32 |
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
33 o 4:e860deea161a e
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
34 |
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
35 o 3:055a42cdd887 d
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
36 |
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
37 o 2:177f92b77385 c
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
38 |
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
39 o 1:d2ae7f538514 b
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
40 |
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
41 o 0:cb9a9f314b8b a
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
42
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
43
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
44 $ HGEDITOR=cat hg histedit 1
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
45 pick d2ae7f538514 1 b
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
46 pick 177f92b77385 2 c
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
47 pick 055a42cdd887 3 d
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
48 pick e860deea161a 4 e
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
49 pick 652413bf663e 5 f
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
50
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
51 # Edit history between d2ae7f538514 and 652413bf663e
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
52 #
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
53 # Commands:
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
54 # p, pick = use commit
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
55 # e, edit = use commit, but stop for amending
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
56 # f, fold = use commit, but fold into previous commit (combines N and N-1)
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
57 # d, drop = remove commit from history
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
58 # m, mess = edit message without changing commit content
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
59 #
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
60 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
61 $ cat >> commands.txt <<EOF
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
62 > pick 177f92b77385 2 c
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
63 > drop d2ae7f538514 1 b
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
64 > pick 055a42cdd887 3 d
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
65 > fold e860deea161a 4 e
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
66 > pick 652413bf663e 5 f
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
67 > EOF
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
68 $ hg histedit 1 --commands commands.txt --verbose | grep histedit
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
69 saved backup bundle to $TESTTMP/base/.hg/strip-backup/34a9919932c1-backup.hg (glob)
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
70 $ hg log --graph --hidden
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
71 @ 8:0efacef7cb48 f
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
72 |
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
73 o 7:ae467701c500 d
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
74 |
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
75 o 6:d36c0562f908 c
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
76 |
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
77 | x 5:652413bf663e f
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
78 | |
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
79 | x 4:e860deea161a e
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
80 | |
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
81 | x 3:055a42cdd887 d
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
82 | |
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
83 | x 2:177f92b77385 c
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
84 | |
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
85 | x 1:d2ae7f538514 b
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
86 |/
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
87 o 0:cb9a9f314b8b a
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
88
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
89 $ hg debugobsolete
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
90 e860deea161a2f77de56603b340ebbb4536308ae ae467701c5006bf21ffcfdb555b3d6b63280b6b7 0 {'date': '*', 'user': 'test'} (glob)
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
91 652413bf663ef2a641cab26574e46d5f5a64a55a 0efacef7cb481bf574f69075b82d044fdbe5c20f 0 {'date': '*': 'test'} (glob)
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
92 d2ae7f538514cd87c17547b0de4cea71fe1af9fb 0 {'date': '*', 'user': 'test'} (glob)
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
93 055a42cdd88768532f9cf79daa407fc8d138de9b ae467701c5006bf21ffcfdb555b3d6b63280b6b7 0 {'date': '*': 'test'} (glob)
9c7497cd39fd histedit: add obsolete support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
94 177f92b773850b59254aa5e923436f921b55483b d36c0562f908c692f5204d606d4ff3537d41f1bf 0 {'date': '*', 'user': 'test'} (glob)
17761
c80a7a0c7d22 histedit: ignores hidden revision when checking for orphaned nodes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17759
diff changeset
95
c80a7a0c7d22 histedit: ignores hidden revision when checking for orphaned nodes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17759
diff changeset
96 Ensure hidden revision does not prevent histedit
c80a7a0c7d22 histedit: ignores hidden revision when checking for orphaned nodes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17759
diff changeset
97 -------------------------------------------------
c80a7a0c7d22 histedit: ignores hidden revision when checking for orphaned nodes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17759
diff changeset
98
c80a7a0c7d22 histedit: ignores hidden revision when checking for orphaned nodes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17759
diff changeset
99 create an hidden revision
c80a7a0c7d22 histedit: ignores hidden revision when checking for orphaned nodes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17759
diff changeset
100
c80a7a0c7d22 histedit: ignores hidden revision when checking for orphaned nodes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17759
diff changeset
101 $ cat > commands.txt <<EOF
c80a7a0c7d22 histedit: ignores hidden revision when checking for orphaned nodes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17759
diff changeset
102 > pick d36c0562f908 6 c
c80a7a0c7d22 histedit: ignores hidden revision when checking for orphaned nodes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17759
diff changeset
103 > drop ae467701c500 7 d
c80a7a0c7d22 histedit: ignores hidden revision when checking for orphaned nodes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17759
diff changeset
104 > pick 0efacef7cb48 8 f
c80a7a0c7d22 histedit: ignores hidden revision when checking for orphaned nodes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17759
diff changeset
105 > EOF
c80a7a0c7d22 histedit: ignores hidden revision when checking for orphaned nodes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17759
diff changeset
106 $ hg histedit 6 --commands commands.txt
c80a7a0c7d22 histedit: ignores hidden revision when checking for orphaned nodes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17759
diff changeset
107 0 files updated, 0 files merged, 3 files removed, 0 files unresolved
c80a7a0c7d22 histedit: ignores hidden revision when checking for orphaned nodes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17759
diff changeset
108 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
c80a7a0c7d22 histedit: ignores hidden revision when checking for orphaned nodes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17759
diff changeset
109 $ hg log --graph
c80a7a0c7d22 histedit: ignores hidden revision when checking for orphaned nodes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17759
diff changeset
110 @ 9:7c044e3e33a9 f
c80a7a0c7d22 histedit: ignores hidden revision when checking for orphaned nodes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17759
diff changeset
111 |
c80a7a0c7d22 histedit: ignores hidden revision when checking for orphaned nodes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17759
diff changeset
112 o 6:d36c0562f908 c
c80a7a0c7d22 histedit: ignores hidden revision when checking for orphaned nodes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17759
diff changeset
113 |
c80a7a0c7d22 histedit: ignores hidden revision when checking for orphaned nodes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17759
diff changeset
114 o 0:cb9a9f314b8b a
c80a7a0c7d22 histedit: ignores hidden revision when checking for orphaned nodes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17759
diff changeset
115
c80a7a0c7d22 histedit: ignores hidden revision when checking for orphaned nodes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17759
diff changeset
116 check hidden revision are ignored (6 have hidden children 7 and 8)
c80a7a0c7d22 histedit: ignores hidden revision when checking for orphaned nodes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17759
diff changeset
117
c80a7a0c7d22 histedit: ignores hidden revision when checking for orphaned nodes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17759
diff changeset
118 $ cat > commands.txt <<EOF
c80a7a0c7d22 histedit: ignores hidden revision when checking for orphaned nodes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17759
diff changeset
119 > pick d36c0562f908 6 c
c80a7a0c7d22 histedit: ignores hidden revision when checking for orphaned nodes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17759
diff changeset
120 > pick 7c044e3e33a9 8 f
c80a7a0c7d22 histedit: ignores hidden revision when checking for orphaned nodes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17759
diff changeset
121 > EOF
c80a7a0c7d22 histedit: ignores hidden revision when checking for orphaned nodes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17759
diff changeset
122 $ hg histedit 6 --commands commands.txt
c80a7a0c7d22 histedit: ignores hidden revision when checking for orphaned nodes
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17759
diff changeset
123 0 files updated, 0 files merged, 0 files removed, 0 files unresolved