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 | 156 | from mercurial import repair |
|
157 | 157 | from mercurial import scmutil |
|
158 | 158 | from mercurial import util |
|
159 | from mercurial import obsolete | |
|
159 | 160 | from mercurial import merge as mergemod |
|
160 | 161 | from mercurial.i18n import _ |
|
161 | 162 | |
@@ -508,7 +509,15 b' def histedit(ui, repo, *parent, **opts):' | |||
|
508 | 509 | if mapping: |
|
509 | 510 | movebookmarks(ui, repo, mapping, topmost, ntm) |
|
510 | 511 | # TODO update mq state |
|
511 | cleanupnode(ui, repo, 'replaced', mapping) | |
|
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: | |
|
520 | cleanupnode(ui, repo, 'replaced', mapping) | |
|
512 | 521 | |
|
513 | 522 | cleanupnode(ui, repo, 'temp', tmpnodes) |
|
514 | 523 | os.unlink(os.path.join(repo.path, 'histedit-state')) |
General Comments 0
You need to be logged in to leave comments.
Login now