equal
deleted
inserted
replaced
1 #!/bin/sh |
|
2 |
|
3 . "$TESTDIR/histedit-helpers.sh" |
|
4 |
|
5 cat >> $HGRCPATH <<EOF |
|
6 [extensions] |
|
7 graphlog= |
|
8 histedit= |
|
9 EOF |
|
10 |
|
11 EDITED=`pwd`/editedhistory |
|
12 cat > $EDITED <<EOF |
|
13 pick 177f92b77385 c |
|
14 pick e860deea161a e |
|
15 pick 652413bf663e f |
|
16 pick 055a42cdd887 d |
|
17 EOF |
|
18 initrepo () |
|
19 { |
|
20 hg init r |
|
21 cd r |
|
22 for x in a b c d e f ; do |
|
23 echo $x > $x |
|
24 hg add $x |
|
25 hg ci -m $x |
|
26 done |
|
27 } |
|
28 |
|
29 initrepo |
|
30 |
|
31 echo % log before edit |
|
32 hg log --graph |
|
33 |
|
34 echo % show the edit commands offered |
|
35 HGEDITOR=cat hg histedit 177f92b77385 |
|
36 |
|
37 echo % edit the history |
|
38 HGEDITOR="cat $EDITED > " hg histedit 177f92b77385 2>&1 | fixbundle |
|
39 |
|
40 echo % rules should end up in .hg/histedit-last-edit.txt: |
|
41 cat .hg/histedit-last-edit.txt |
|
42 echo '**** end of rules file ****' |
|
43 |
|
44 echo % log after edit |
|
45 hg log --graph |
|
46 |
|
47 echo % put things back |
|
48 |
|
49 cat > $EDITED <<EOF |
|
50 pick 177f92b77385 c |
|
51 pick 853c68da763f d |
|
52 pick b069cc29fb22 e |
|
53 pick 26f6a030ae82 f |
|
54 EOF |
|
55 HGEDITOR="cat $EDITED > " hg histedit 177f92b77385 2>&1 | fixbundle |
|
56 |
|
57 hg log --graph |
|
58 |
|
59 |
|
60 echo % slightly different this time |
|
61 |
|
62 cat > $EDITED <<EOF |
|
63 pick 055a42cdd887 d |
|
64 pick 652413bf663e f |
|
65 pick e860deea161a e |
|
66 pick 177f92b77385 c |
|
67 EOF |
|
68 HGEDITOR="cat $EDITED > " hg histedit 177f92b77385 2>&1 | fixbundle |
|
69 hg log --graph |
|
70 |
|
71 |
|
72 echo % keep prevents stripping dead revs |
|
73 cat > $EDITED <<EOF |
|
74 pick bfe4a5a76b37 d |
|
75 pick c4f52e213402 f |
|
76 pick 99a62755c625 c |
|
77 pick 7c6fdd608667 e |
|
78 EOF |
|
79 HGEDITOR="cat $EDITED > " hg histedit bfe4a5a76b37 --keep 2>&1 | fixbundle |
|
80 hg log --graph |
|
81 |
|
82 echo '% try with --rev' |
|
83 cat > $EDITED <<EOF |
|
84 pick 7c6fdd608667 e |
|
85 pick 99a62755c625 c |
|
86 EOF |
|
87 hg histedit --commands "$EDITED" --rev -2 2>&1 | fixbundle |
|
88 hg log --graph |
|
89 |
|
90 echo % should also work if a commit message is missing |
|
91 BUNDLE="$TESTDIR/missing-comment.hg" |
|
92 hg init missing |
|
93 cd missing |
|
94 hg unbundle $BUNDLE |
|
95 hg co tip |
|
96 hg log --graph |
|
97 hg histedit 0 |
|