Mercurial > hg
annotate tests/test-histedit-fold-non-commute.t @ 23702:c48924787eaa
filectx.parents: enforce changeid of parent to be in own changectx ancestors
Because of the way filenodes are computed, you can have multiple changesets
"introducing" the same file revision. For example, in the changeset graph
below, changeset 2 and 3 both change a file -to- and -from- the same content.
o 3: content = new
|
| o 2: content = new
|/
o 1: content = old
In such cases, the file revision is create once, when 2 is added, and just reused
for 3. So the file change in '3' (from "old" to "new)" has no linkrev pointing
to it). We'll call this situation "linkrev-shadowing". As the linkrev is used for
optimization purposes when walking a file history, the linkrev-shadowing
results in an unexpected jump to another branch during such a walk.. This leads to
multiple bugs with log, annotate and rename detection.
One element to fix such bugs is to ensure that walking the file history sticks on
the same topology as the changeset's history. For this purpose, we extend the
logic in 'basefilectx.parents' so that it always defines the proper changeset
to associate the parent file revision with. This "proper" changeset has to be an
ancestor of the changeset associated with the child file revision.
This logic is performed in the '_adjustlinkrev' function. This function is
given the starting changeset and all the information regarding the parent file
revision. If the linkrev for the file revision is an ancestor of the starting
changeset, the linkrev is valid and will be used. If it is not, we detected a
topological jump caused by linkrev shadowing, we are going to walk the
ancestors of the starting changeset until we find one setting the file to the
revision we are trying to create.
The performance impact appears acceptable:
- We are walking the changelog once for each filelog traversal (as there should
be no overlap between searches),
- changelog traversal itself is fairly cheap, compared to what is likely going
to be perform on the result on the filelog traversal,
- We only touch the manifest for ancestors touching the file, And such
changesets are likely to be the one introducing the file. (except in
pathological cases involving merge),
- We use manifest diff instead of full manifest unpacking to check manifest
content, so it does not involve applying multiple diffs in most case.
- linkrev shadowing is not the common case.
Tests for fixed issues in log, annotate and rename detection have been
added.
But this changeset does not solve all problems. It fixes -ancestry-
computation, but if the linkrev-shadowed changesets is the starting one, we'll
still get things wrong. We'll have to fix the bootstrapping of such operations
in a later changeset. Also, the usage of `hg log FILE` without --follow still
has issues with linkrev pointing to hidden changesets, because it relies on the
`filelog` revset which implement its own traversal logic that is still to be
fixed.
Thanks goes to:
- Matt Mackall: for nudging me in the right direction
- Julien Cristau and RĂ©mi Cardona: for keep telling me linkrev bug were an
evolution show stopper for 3 years.
- Durham Goode: for finding a new linkrev issue every few weeks
- Mads Kiilerich: for that last rename bug who raise this topic over my
anoyance limit.
author | Pierre-Yves David <pierre-yves.david@fb.com> |
---|---|
date | Tue, 23 Dec 2014 15:30:38 -0800 |
parents | d2a5986cb89d |
children | 477e76936b1d |
rev | line source |
---|---|
17085
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
1 $ . "$TESTDIR/histedit-helpers.sh" |
17064
168cc52ad7c2
histedit: new extension for interactive history editing
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
2 |
17085
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
3 $ cat >> $HGRCPATH <<EOF |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
4 > [extensions] |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
5 > histedit= |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
6 > EOF |
17064
168cc52ad7c2
histedit: new extension for interactive history editing
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
7 |
17085
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
8 $ initrepo () |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
9 > { |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
10 > hg init $1 |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
11 > cd $1 |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
12 > for x in a b c d e f ; do |
17646
d44731a3adb8
histedit-test: ensure that non commute test will never commute
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
17644
diff
changeset
|
13 > echo $x$x$x$x$x > $x |
d44731a3adb8
histedit-test: ensure that non commute test will never commute
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
17644
diff
changeset
|
14 > hg add $x |
d44731a3adb8
histedit-test: ensure that non commute test will never commute
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
17644
diff
changeset
|
15 > done |
d44731a3adb8
histedit-test: ensure that non commute test will never commute
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
17644
diff
changeset
|
16 > hg ci -m 'Initial commit' |
d44731a3adb8
histedit-test: ensure that non commute test will never commute
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
17644
diff
changeset
|
17 > for x in a b c d e f ; do |
17085
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
18 > echo $x > $x |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
19 > hg ci -m $x |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
20 > done |
17646
d44731a3adb8
histedit-test: ensure that non commute test will never commute
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
17644
diff
changeset
|
21 > echo 'I can haz no commute' > e |
17085
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
22 > hg ci -m 'does not commute with e' |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
23 > cd .. |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
24 > } |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
25 |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
26 $ initrepo r |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
27 $ cd r |
17646
d44731a3adb8
histedit-test: ensure that non commute test will never commute
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
17644
diff
changeset
|
28 Initial generation of the command files |
d44731a3adb8
histedit-test: ensure that non commute test will never commute
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
17644
diff
changeset
|
29 |
d44731a3adb8
histedit-test: ensure that non commute test will never commute
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
17644
diff
changeset
|
30 $ EDITED="$TESTTMP/editedhistory" |
d44731a3adb8
histedit-test: ensure that non commute test will never commute
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
17644
diff
changeset
|
31 $ hg log --template 'pick {node|short} {rev} {desc}\n' -r 3 >> $EDITED |
d44731a3adb8
histedit-test: ensure that non commute test will never commute
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
17644
diff
changeset
|
32 $ hg log --template 'pick {node|short} {rev} {desc}\n' -r 4 >> $EDITED |
d44731a3adb8
histedit-test: ensure that non commute test will never commute
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
17644
diff
changeset
|
33 $ hg log --template 'fold {node|short} {rev} {desc}\n' -r 7 >> $EDITED |
d44731a3adb8
histedit-test: ensure that non commute test will never commute
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
17644
diff
changeset
|
34 $ hg log --template 'pick {node|short} {rev} {desc}\n' -r 5 >> $EDITED |
d44731a3adb8
histedit-test: ensure that non commute test will never commute
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
17644
diff
changeset
|
35 $ hg log --template 'pick {node|short} {rev} {desc}\n' -r 6 >> $EDITED |
d44731a3adb8
histedit-test: ensure that non commute test will never commute
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
17644
diff
changeset
|
36 $ cat $EDITED |
d44731a3adb8
histedit-test: ensure that non commute test will never commute
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
17644
diff
changeset
|
37 pick 65a9a84f33fd 3 c |
d44731a3adb8
histedit-test: ensure that non commute test will never commute
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
17644
diff
changeset
|
38 pick 00f1c5383965 4 d |
d44731a3adb8
histedit-test: ensure that non commute test will never commute
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
17644
diff
changeset
|
39 fold 39522b764e3d 7 does not commute with e |
d44731a3adb8
histedit-test: ensure that non commute test will never commute
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
17644
diff
changeset
|
40 pick 7b4e2f4b7bcd 5 e |
d44731a3adb8
histedit-test: ensure that non commute test will never commute
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
17644
diff
changeset
|
41 pick 500cac37a696 6 f |
17064
168cc52ad7c2
histedit: new extension for interactive history editing
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
42 |
17085
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
43 log before edit |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
44 $ hg log --graph |
17646
d44731a3adb8
histedit-test: ensure that non commute test will never commute
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
17644
diff
changeset
|
45 @ changeset: 7:39522b764e3d |
17085
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
46 | tag: tip |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
47 | user: test |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
48 | date: Thu Jan 01 00:00:00 1970 +0000 |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
49 | summary: does not commute with e |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
50 | |
17646
d44731a3adb8
histedit-test: ensure that non commute test will never commute
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
17644
diff
changeset
|
51 o changeset: 6:500cac37a696 |
17085
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
52 | user: test |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
53 | date: Thu Jan 01 00:00:00 1970 +0000 |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
54 | summary: f |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
55 | |
17646
d44731a3adb8
histedit-test: ensure that non commute test will never commute
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
17644
diff
changeset
|
56 o changeset: 5:7b4e2f4b7bcd |
17085
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
57 | user: test |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
58 | date: Thu Jan 01 00:00:00 1970 +0000 |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
59 | summary: e |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
60 | |
17646
d44731a3adb8
histedit-test: ensure that non commute test will never commute
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
17644
diff
changeset
|
61 o changeset: 4:00f1c5383965 |
17085
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
62 | user: test |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
63 | date: Thu Jan 01 00:00:00 1970 +0000 |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
64 | summary: d |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
65 | |
17646
d44731a3adb8
histedit-test: ensure that non commute test will never commute
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
17644
diff
changeset
|
66 o changeset: 3:65a9a84f33fd |
17085
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
67 | user: test |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
68 | date: Thu Jan 01 00:00:00 1970 +0000 |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
69 | summary: c |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
70 | |
17646
d44731a3adb8
histedit-test: ensure that non commute test will never commute
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
17644
diff
changeset
|
71 o changeset: 2:da6535b52e45 |
17085
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
72 | user: test |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
73 | date: Thu Jan 01 00:00:00 1970 +0000 |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
74 | summary: b |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
75 | |
17646
d44731a3adb8
histedit-test: ensure that non commute test will never commute
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
17644
diff
changeset
|
76 o changeset: 1:c1f09da44841 |
d44731a3adb8
histedit-test: ensure that non commute test will never commute
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
17644
diff
changeset
|
77 | user: test |
d44731a3adb8
histedit-test: ensure that non commute test will never commute
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
17644
diff
changeset
|
78 | date: Thu Jan 01 00:00:00 1970 +0000 |
d44731a3adb8
histedit-test: ensure that non commute test will never commute
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
17644
diff
changeset
|
79 | summary: a |
d44731a3adb8
histedit-test: ensure that non commute test will never commute
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
17644
diff
changeset
|
80 | |
d44731a3adb8
histedit-test: ensure that non commute test will never commute
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
17644
diff
changeset
|
81 o changeset: 0:1715188a53c7 |
17085
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
82 user: test |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
83 date: Thu Jan 01 00:00:00 1970 +0000 |
17646
d44731a3adb8
histedit-test: ensure that non commute test will never commute
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
17644
diff
changeset
|
84 summary: Initial commit |
17085
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
85 |
17064
168cc52ad7c2
histedit: new extension for interactive history editing
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
86 |
17085
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
87 edit the history |
19019
53060cc1b601
histedit-test: generalise --commands "-" usage
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
18934
diff
changeset
|
88 $ hg histedit 3 --commands $EDITED 2>&1 | fixbundle |
17646
d44731a3adb8
histedit-test: ensure that non commute test will never commute
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
17644
diff
changeset
|
89 2 files updated, 0 files merged, 0 files removed, 0 files unresolved |
17647
d34ba4991188
histedit: replaces patching logic by merges
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17646
diff
changeset
|
90 merging e |
d34ba4991188
histedit: replaces patching logic by merges
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17646
diff
changeset
|
91 warning: conflicts during merge. |
d34ba4991188
histedit: replaces patching logic by merges
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17646
diff
changeset
|
92 merging e incomplete! (edit conflicts, then use 'hg resolve --mark') |
18934
93f3a06b2035
histedit: switch from util.Abort to util.InterventionRequired where appropriate (bc)
Augie Fackler <raf@durin42.com>
parents:
18437
diff
changeset
|
93 Fix up the change and run hg histedit --continue |
17064
168cc52ad7c2
histedit: new extension for interactive history editing
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
94 |
17085
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
95 fix up |
17647
d34ba4991188
histedit: replaces patching logic by merges
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17646
diff
changeset
|
96 $ echo 'I can haz no commute' > e |
d34ba4991188
histedit: replaces patching logic by merges
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17646
diff
changeset
|
97 $ hg resolve --mark e |
21947
b081decd9062
resolve: add parenthesis around "no more unresolved files" message
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21267
diff
changeset
|
98 (no more unresolved files) |
17085
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
99 $ cat > cat.py <<EOF |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
100 > import sys |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
101 > print open(sys.argv[1]).read() |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
102 > print |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
103 > print |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
104 > EOF |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
105 $ HGEDITOR="python cat.py" hg histedit --continue 2>&1 | fixbundle | grep -v '2 files removed' |
17646
d44731a3adb8
histedit-test: ensure that non commute test will never commute
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
17644
diff
changeset
|
106 2 files updated, 0 files merged, 0 files removed, 0 files unresolved |
17085
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
107 d |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
108 *** |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
109 does not commute with e |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
110 |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
111 |
17241
c2f13180001f
histedit: end folding message with an LF
Patrick Mezard <patrick@mezard.eu>
parents:
17087
diff
changeset
|
112 |
17644
9ae073f10572
histedit: fold in memory
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
17241
diff
changeset
|
113 HG: Enter commit message. Lines beginning with 'HG:' are removed. |
9ae073f10572
histedit: fold in memory
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
17241
diff
changeset
|
114 HG: Leave message empty to abort commit. |
9ae073f10572
histedit: fold in memory
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
17241
diff
changeset
|
115 HG: -- |
9ae073f10572
histedit: fold in memory
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
17241
diff
changeset
|
116 HG: user: test |
9ae073f10572
histedit: fold in memory
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
17241
diff
changeset
|
117 HG: branch 'default' |
9ae073f10572
histedit: fold in memory
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
17241
diff
changeset
|
118 HG: changed d |
9ae073f10572
histedit: fold in memory
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
17241
diff
changeset
|
119 HG: changed e |
9ae073f10572
histedit: fold in memory
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
17241
diff
changeset
|
120 |
9ae073f10572
histedit: fold in memory
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
17241
diff
changeset
|
121 |
9ae073f10572
histedit: fold in memory
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
17241
diff
changeset
|
122 |
9ae073f10572
histedit: fold in memory
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
17241
diff
changeset
|
123 2 files updated, 0 files merged, 0 files removed, 0 files unresolved |
17085
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
124 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
17647
d34ba4991188
histedit: replaces patching logic by merges
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17646
diff
changeset
|
125 merging e |
d34ba4991188
histedit: replaces patching logic by merges
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17646
diff
changeset
|
126 warning: conflicts during merge. |
d34ba4991188
histedit: replaces patching logic by merges
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17646
diff
changeset
|
127 merging e incomplete! (edit conflicts, then use 'hg resolve --mark') |
18934
93f3a06b2035
histedit: switch from util.Abort to util.InterventionRequired where appropriate (bc)
Augie Fackler <raf@durin42.com>
parents:
18437
diff
changeset
|
128 Fix up the change and run hg histedit --continue |
17085
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
129 |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
130 just continue this time |
17647
d34ba4991188
histedit: replaces patching logic by merges
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17646
diff
changeset
|
131 $ hg revert -r 'p1()' e |
d34ba4991188
histedit: replaces patching logic by merges
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17646
diff
changeset
|
132 $ hg resolve --mark e |
21947
b081decd9062
resolve: add parenthesis around "no more unresolved files" message
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21267
diff
changeset
|
133 (no more unresolved files) |
17085
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
134 $ hg histedit --continue 2>&1 | fixbundle |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
135 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
136 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
17064
168cc52ad7c2
histedit: new extension for interactive history editing
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
137 |
17085
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
138 log after edit |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
139 $ hg log --graph |
18437
358c23e8f1c6
histedit: record histedit source (issue3681)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
17647
diff
changeset
|
140 @ changeset: 5:d9cf42e54966 |
17085
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
141 | tag: tip |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
142 | user: test |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
143 | date: Thu Jan 01 00:00:00 1970 +0000 |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
144 | summary: f |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
145 | |
18437
358c23e8f1c6
histedit: record histedit source (issue3681)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
17647
diff
changeset
|
146 o changeset: 4:10486af2e984 |
17085
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
147 | user: test |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
148 | date: Thu Jan 01 00:00:00 1970 +0000 |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
149 | summary: d |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
150 | |
17646
d44731a3adb8
histedit-test: ensure that non commute test will never commute
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
17644
diff
changeset
|
151 o changeset: 3:65a9a84f33fd |
17085
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
152 | user: test |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
153 | date: Thu Jan 01 00:00:00 1970 +0000 |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
154 | summary: c |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
155 | |
17646
d44731a3adb8
histedit-test: ensure that non commute test will never commute
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
17644
diff
changeset
|
156 o changeset: 2:da6535b52e45 |
17085
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
157 | user: test |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
158 | date: Thu Jan 01 00:00:00 1970 +0000 |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
159 | summary: b |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
160 | |
17646
d44731a3adb8
histedit-test: ensure that non commute test will never commute
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
17644
diff
changeset
|
161 o changeset: 1:c1f09da44841 |
d44731a3adb8
histedit-test: ensure that non commute test will never commute
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
17644
diff
changeset
|
162 | user: test |
d44731a3adb8
histedit-test: ensure that non commute test will never commute
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
17644
diff
changeset
|
163 | date: Thu Jan 01 00:00:00 1970 +0000 |
d44731a3adb8
histedit-test: ensure that non commute test will never commute
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
17644
diff
changeset
|
164 | summary: a |
d44731a3adb8
histedit-test: ensure that non commute test will never commute
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
17644
diff
changeset
|
165 | |
d44731a3adb8
histedit-test: ensure that non commute test will never commute
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
17644
diff
changeset
|
166 o changeset: 0:1715188a53c7 |
17085
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
167 user: test |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
168 date: Thu Jan 01 00:00:00 1970 +0000 |
17646
d44731a3adb8
histedit-test: ensure that non commute test will never commute
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
17644
diff
changeset
|
169 summary: Initial commit |
17085
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
170 |
17064
168cc52ad7c2
histedit: new extension for interactive history editing
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
171 |
17085
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
172 contents of e |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
173 $ hg cat e |
17647
d34ba4991188
histedit: replaces patching logic by merges
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17646
diff
changeset
|
174 I can haz no commute |
17064
168cc52ad7c2
histedit: new extension for interactive history editing
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
175 |
17085
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
176 manifest |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
177 $ hg manifest |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
178 a |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
179 b |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
180 c |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
181 d |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
182 e |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
183 f |
17064
168cc52ad7c2
histedit: new extension for interactive history editing
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
184 |
17085
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
185 $ cd .. |
22152
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
186 |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
187 Repeat test using "roll", not "fold". "roll" folds in changes but drops message |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
188 |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
189 $ initrepo r2 |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
190 $ cd r2 |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
191 |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
192 Initial generation of the command files |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
193 |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
194 $ EDITED="$TESTTMP/editedhistory.2" |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
195 $ hg log --template 'pick {node|short} {rev} {desc}\n' -r 3 >> $EDITED |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
196 $ hg log --template 'pick {node|short} {rev} {desc}\n' -r 4 >> $EDITED |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
197 $ hg log --template 'roll {node|short} {rev} {desc}\n' -r 7 >> $EDITED |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
198 $ hg log --template 'pick {node|short} {rev} {desc}\n' -r 5 >> $EDITED |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
199 $ hg log --template 'pick {node|short} {rev} {desc}\n' -r 6 >> $EDITED |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
200 $ cat $EDITED |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
201 pick 65a9a84f33fd 3 c |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
202 pick 00f1c5383965 4 d |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
203 roll 39522b764e3d 7 does not commute with e |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
204 pick 7b4e2f4b7bcd 5 e |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
205 pick 500cac37a696 6 f |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
206 |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
207 log before edit |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
208 $ hg log --graph |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
209 @ changeset: 7:39522b764e3d |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
210 | tag: tip |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
211 | user: test |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
212 | date: Thu Jan 01 00:00:00 1970 +0000 |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
213 | summary: does not commute with e |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
214 | |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
215 o changeset: 6:500cac37a696 |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
216 | user: test |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
217 | date: Thu Jan 01 00:00:00 1970 +0000 |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
218 | summary: f |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
219 | |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
220 o changeset: 5:7b4e2f4b7bcd |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
221 | user: test |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
222 | date: Thu Jan 01 00:00:00 1970 +0000 |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
223 | summary: e |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
224 | |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
225 o changeset: 4:00f1c5383965 |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
226 | user: test |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
227 | date: Thu Jan 01 00:00:00 1970 +0000 |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
228 | summary: d |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
229 | |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
230 o changeset: 3:65a9a84f33fd |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
231 | user: test |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
232 | date: Thu Jan 01 00:00:00 1970 +0000 |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
233 | summary: c |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
234 | |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
235 o changeset: 2:da6535b52e45 |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
236 | user: test |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
237 | date: Thu Jan 01 00:00:00 1970 +0000 |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
238 | summary: b |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
239 | |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
240 o changeset: 1:c1f09da44841 |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
241 | user: test |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
242 | date: Thu Jan 01 00:00:00 1970 +0000 |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
243 | summary: a |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
244 | |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
245 o changeset: 0:1715188a53c7 |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
246 user: test |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
247 date: Thu Jan 01 00:00:00 1970 +0000 |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
248 summary: Initial commit |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
249 |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
250 |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
251 edit the history |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
252 $ hg histedit 3 --commands $EDITED 2>&1 | fixbundle |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
253 2 files updated, 0 files merged, 0 files removed, 0 files unresolved |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
254 merging e |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
255 warning: conflicts during merge. |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
256 merging e incomplete! (edit conflicts, then use 'hg resolve --mark') |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
257 Fix up the change and run hg histedit --continue |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
258 |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
259 fix up |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
260 $ echo 'I can haz no commute' > e |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
261 $ hg resolve --mark e |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
262 (no more unresolved files) |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
263 $ hg histedit --continue 2>&1 | fixbundle | grep -v '2 files removed' |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
264 2 files updated, 0 files merged, 0 files removed, 0 files unresolved |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
265 2 files updated, 0 files merged, 0 files removed, 0 files unresolved |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
266 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
267 merging e |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
268 warning: conflicts during merge. |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
269 merging e incomplete! (edit conflicts, then use 'hg resolve --mark') |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
270 Fix up the change and run hg histedit --continue |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
271 |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
272 just continue this time |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
273 $ hg revert -r 'p1()' e |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
274 $ hg resolve --mark e |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
275 (no more unresolved files) |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
276 $ hg histedit --continue 2>&1 | fixbundle |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
277 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
278 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
279 |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
280 log after edit |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
281 $ hg log --graph |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
282 @ changeset: 5:e7c4f5d4eb75 |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
283 | tag: tip |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
284 | user: test |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
285 | date: Thu Jan 01 00:00:00 1970 +0000 |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
286 | summary: f |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
287 | |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
288 o changeset: 4:803d1bb561fc |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
289 | user: test |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
290 | date: Thu Jan 01 00:00:00 1970 +0000 |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
291 | summary: d |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
292 | |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
293 o changeset: 3:65a9a84f33fd |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
294 | user: test |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
295 | date: Thu Jan 01 00:00:00 1970 +0000 |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
296 | summary: c |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
297 | |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
298 o changeset: 2:da6535b52e45 |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
299 | user: test |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
300 | date: Thu Jan 01 00:00:00 1970 +0000 |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
301 | summary: b |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
302 | |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
303 o changeset: 1:c1f09da44841 |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
304 | user: test |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
305 | date: Thu Jan 01 00:00:00 1970 +0000 |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
306 | summary: a |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
307 | |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
308 o changeset: 0:1715188a53c7 |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
309 user: test |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
310 date: Thu Jan 01 00:00:00 1970 +0000 |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
311 summary: Initial commit |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
312 |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
313 |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
314 contents of e |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
315 $ hg cat e |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
316 I can haz no commute |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
317 |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
318 manifest |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
319 $ hg manifest |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
320 a |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
321 b |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
322 c |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
323 d |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
324 e |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
325 f |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
326 |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
327 description is taken from rollup target commit |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
328 |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
329 $ hg log --debug --rev 4 |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
330 changeset: 4:803d1bb561fceac3129ec778db9da249a3106fc3 |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
331 phase: draft |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
332 parent: 3:65a9a84f33fdeb1ad5679b3941ec885d2b24027b |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
333 parent: -1:0000000000000000000000000000000000000000 |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
334 manifest: 4:b068a323d969f22af1296ec6a5ea9384cef437ac |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
335 user: test |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
336 date: Thu Jan 01 00:00:00 1970 +0000 |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
337 files: d e |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
338 extra: branch=default |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
339 extra: histedit_source=00f1c53839651fa5c76d423606811ea5455a79d0,39522b764e3d26103f08bd1fa2ccd3e3d7dbcf4e |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
340 description: |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
341 d |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
342 |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
343 |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
344 |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
345 done with repo r2 |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
346 |
d2a5986cb89d
histedit: add "roll" command to fold commit data and drop message (issue4256)
Mike Edgar <adgar@google.com>
parents:
21947
diff
changeset
|
347 $ cd .. |