##// END OF EJS Templates
histedit: add obsolete support...
Pierre-Yves David -
r17759:9c7497cd default
parent child Browse files
Show More
@@ -0,0 +1,94 b''
1 $ . "$TESTDIR/histedit-helpers.sh"
2
3 Enable obsolete
4
5 $ cat > ${TESTTMP}/obs.py << EOF
6 > import mercurial.obsolete
7 > mercurial.obsolete._enabled = True
8 > EOF
9
10 $ cat >> $HGRCPATH << EOF
11 > [ui]
12 > logtemplate= {rev}:{node|short} {desc|firstline}
13 > [phases]
14 > publish=False
15 > [extensions]'
16 > histedit=
17 >
18 > obs=${TESTTMP}/obs.py
19 > EOF
20
21 $ hg init base
22 $ cd base
23
24 $ for x in a b c d e f ; do
25 > echo $x > $x
26 > hg add $x
27 > hg ci -m $x
28 > done
29
30 $ hg log --graph
31 @ 5:652413bf663e f
32 |
33 o 4:e860deea161a e
34 |
35 o 3:055a42cdd887 d
36 |
37 o 2:177f92b77385 c
38 |
39 o 1:d2ae7f538514 b
40 |
41 o 0:cb9a9f314b8b a
42
43
44 $ HGEDITOR=cat hg histedit 1
45 pick d2ae7f538514 1 b
46 pick 177f92b77385 2 c
47 pick 055a42cdd887 3 d
48 pick e860deea161a 4 e
49 pick 652413bf663e 5 f
50
51 # Edit history between d2ae7f538514 and 652413bf663e
52 #
53 # Commands:
54 # p, pick = use commit
55 # e, edit = use commit, but stop for amending
56 # f, fold = use commit, but fold into previous commit (combines N and N-1)
57 # d, drop = remove commit from history
58 # m, mess = edit message without changing commit content
59 #
60 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
61 $ cat >> commands.txt <<EOF
62 > pick 177f92b77385 2 c
63 > drop d2ae7f538514 1 b
64 > pick 055a42cdd887 3 d
65 > fold e860deea161a 4 e
66 > pick 652413bf663e 5 f
67 > EOF
68 $ hg histedit 1 --commands commands.txt --verbose | grep histedit
69 saved backup bundle to $TESTTMP/base/.hg/strip-backup/34a9919932c1-backup.hg (glob)
70 $ hg log --graph --hidden
71 @ 8:0efacef7cb48 f
72 |
73 o 7:ae467701c500 d
74 |
75 o 6:d36c0562f908 c
76 |
77 | x 5:652413bf663e f
78 | |
79 | x 4:e860deea161a e
80 | |
81 | x 3:055a42cdd887 d
82 | |
83 | x 2:177f92b77385 c
84 | |
85 | x 1:d2ae7f538514 b
86 |/
87 o 0:cb9a9f314b8b a
88
89 $ hg debugobsolete
90 e860deea161a2f77de56603b340ebbb4536308ae ae467701c5006bf21ffcfdb555b3d6b63280b6b7 0 {'date': '*', 'user': 'test'} (glob)
91 652413bf663ef2a641cab26574e46d5f5a64a55a 0efacef7cb481bf574f69075b82d044fdbe5c20f 0 {'date': '*': 'test'} (glob)
92 d2ae7f538514cd87c17547b0de4cea71fe1af9fb 0 {'date': '*', 'user': 'test'} (glob)
93 055a42cdd88768532f9cf79daa407fc8d138de9b ae467701c5006bf21ffcfdb555b3d6b63280b6b7 0 {'date': '*': 'test'} (glob)
94 177f92b773850b59254aa5e923436f921b55483b d36c0562f908c692f5204d606d4ff3537d41f1bf 0 {'date': '*', 'user': 'test'} (glob)
@@ -156,6 +156,7 b' from mercurial import node'
156 from mercurial import repair
156 from mercurial import repair
157 from mercurial import scmutil
157 from mercurial import scmutil
158 from mercurial import util
158 from mercurial import util
159 from mercurial import obsolete
159 from mercurial import merge as mergemod
160 from mercurial import merge as mergemod
160 from mercurial.i18n import _
161 from mercurial.i18n import _
161
162
@@ -508,6 +509,14 b' def histedit(ui, repo, *parent, **opts):'
508 if mapping:
509 if mapping:
509 movebookmarks(ui, repo, mapping, topmost, ntm)
510 movebookmarks(ui, repo, mapping, topmost, ntm)
510 # TODO update mq state
511 # TODO update mq state
512 if obsolete._enabled:
513 markers = []
514 for prec, succs in mapping.iteritems():
515 markers.append((repo[prec],
516 tuple(repo[s] for s in succs)))
517 if markers:
518 obsolete.createmarkers(repo, markers)
519 else:
511 cleanupnode(ui, repo, 'replaced', mapping)
520 cleanupnode(ui, repo, 'replaced', mapping)
512
521
513 cleanupnode(ui, repo, 'temp', tmpnodes)
522 cleanupnode(ui, repo, 'temp', tmpnodes)
General Comments 0
You need to be logged in to leave comments. Login now