Mercurial > hg > evolve
annotate tests/test-fold.t @ 6075:65d4e47d7f26
rewriteutil: use precheck from core if recent enough
This commit makes the evolve extension's `rewriteutil.precheck()`
simply delegate to the same function from Mercurial core, if that
function is deemed recent enough. The way I made that check is by
looking for `rewriteutil.find_new_divergence_from()`. That means that
there's a range of commits (ba6881c6::8125bcd2^) where the user would
see less detailed error messages if they are running with an hg
version from that range (there are no released versions in that
range).
As you can see in the tests, switching to core's version of the
function mostly affects error messages and exit codes.
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Tue, 04 May 2021 09:40:18 -0700 |
parents | dad6bd8180d3 |
children | 01154958e0cf |
rev | line source |
---|---|
2863
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
1 $ . $TESTDIR/testlib/common.sh |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
2 |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
3 setup |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
4 |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
5 $ cat >> $HGRCPATH <<EOF |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
6 > [extensions] |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
7 > evolve= |
4828
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
8 > [alias] |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
9 > glog = log -GT "{rev}: {desc}" |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
10 > glf = log -GT "{rev}: {desc} ({files})" |
2863
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
11 > [ui] |
3555
a8596ac13fe8
tests: add a test showing bookmark not moving in-case of `hg fold`
Pulkit Goyal <7895pulkit@gmail.com>
parents:
2881
diff
changeset
|
12 > logtemplate = '{rev} - {node|short} {desc|firstline} [{author}] ({phase}) {bookmarks}\n' |
2863
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
13 > EOF |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
14 |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
15 $ hg init fold-tests |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
16 $ cd fold-tests/ |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
17 $ hg debugbuilddag .+3:branchpoint+4*branchpoint+2 |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
18 $ hg up 'desc("r7")' |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
19 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
3555
a8596ac13fe8
tests: add a test showing bookmark not moving in-case of `hg fold`
Pulkit Goyal <7895pulkit@gmail.com>
parents:
2881
diff
changeset
|
20 $ hg bookmark bm1 |
2863
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
21 $ hg log -G |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
22 o 10 - a8407f9a3dc1 r10 [debugbuilddag] (draft) |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
23 | |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
24 o 9 - 529dfc5bb875 r9 [debugbuilddag] (draft) |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
25 | |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
26 o 8 - abf57d94268b r8 [debugbuilddag] (draft) |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
27 | |
3555
a8596ac13fe8
tests: add a test showing bookmark not moving in-case of `hg fold`
Pulkit Goyal <7895pulkit@gmail.com>
parents:
2881
diff
changeset
|
28 | @ 7 - 4de32a90b66c r7 [debugbuilddag] (draft) bm1 |
2863
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
29 | | |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
30 | o 6 - f69452c5b1af r6 [debugbuilddag] (draft) |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
31 | | |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
32 | o 5 - c8d03c1b5e94 r5 [debugbuilddag] (draft) |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
33 | | |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
34 | o 4 - bebd167eb94d r4 [debugbuilddag] (draft) |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
35 |/ |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
36 o 3 - 2dc09a01254d r3 [debugbuilddag] (draft) |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
37 | |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
38 o 2 - 01241442b3c2 r2 [debugbuilddag] (draft) |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
39 | |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
40 o 1 - 66f7d451a68b r1 [debugbuilddag] (draft) |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
41 | |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
42 o 0 - 1ea73414a91b r0 [debugbuilddag] (draft) |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
43 |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
44 |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
45 Test various error case |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
46 |
2881
b5a48e4aeec6
precheck: handle rewrite attempt of nullrev
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2880
diff
changeset
|
47 $ hg fold --exact null:: |
b5a48e4aeec6
precheck: handle rewrite attempt of nullrev
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2880
diff
changeset
|
48 abort: cannot fold the null revision |
b5a48e4aeec6
precheck: handle rewrite attempt of nullrev
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2880
diff
changeset
|
49 (no changeset checked out) |
6075
65d4e47d7f26
rewriteutil: use precheck from core if recent enough
Martin von Zweigbergk <martinvonz@google.com>
parents:
6066
diff
changeset
|
50 [10] |
2863
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
51 $ hg fold |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
52 abort: no revisions specified |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
53 [255] |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
54 $ hg fold --from |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
55 abort: no revisions specified |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
56 [255] |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
57 $ hg fold . |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
58 abort: must specify either --from or --exact |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
59 [255] |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
60 $ hg fold --from . --exact |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
61 abort: cannot use both --from and --exact |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
62 [255] |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
63 $ hg fold --from . |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
64 single revision specified, nothing to fold |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
65 [1] |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
66 $ hg fold '0::(7+10)' --exact |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
67 abort: cannot fold non-linear revisions (multiple heads given) |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
68 [255] |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
69 $ hg fold -r 4 -r 6 --exact |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
70 abort: cannot fold non-linear revisions (multiple roots given) |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
71 [255] |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
72 $ hg fold --from 10 1 |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
73 abort: cannot fold non-linear revisions |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
74 (given revisions are unrelated to parent of working directory) |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
75 [255] |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
76 $ hg fold --exact -r "4 and not 4" |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
77 abort: specified revisions evaluate to an empty set |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
78 (use different revision arguments) |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
79 [255] |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
80 $ hg phase --public 0 |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
81 $ hg fold --from -r 0 |
2876
58e4b51ee902
prefetc: point at the offending changeset when aborting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2875
diff
changeset
|
82 abort: cannot fold public changesets: 1ea73414a91b |
2875
f51efb2bb8c9
precheck: point to 'phase' help when aborting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2874
diff
changeset
|
83 (see 'hg help phases' for details) |
6075
65d4e47d7f26
rewriteutil: use precheck from core if recent enough
Martin von Zweigbergk <martinvonz@google.com>
parents:
6066
diff
changeset
|
84 [10] |
2863
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
85 |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
86 Test actual folding |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
87 |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
88 $ hg fold --from -r 'desc("r5")' |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
89 3 changesets folded |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
90 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
5218
a66c9fc9c503
fold: actually track folds using fold-* metadata in obsmarkers
Anton Shestakov <av6@dwimlabs.net>
parents:
5184
diff
changeset
|
91 $ hg debugobsolete -r 'desc("r5")' --exclusive |
a66c9fc9c503
fold: actually track folds using fold-* metadata in obsmarkers
Anton Shestakov <av6@dwimlabs.net>
parents:
5184
diff
changeset
|
92 4de32a90b66cd083ebf3c00b41277aa7abca51dd 198b5c405d01a50c41a81a00fc61677b81981a5f 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '37', 'fold-id': '25cb328e', 'fold-idx': '3', 'fold-size': '3', 'operation': 'fold', 'user': 'test'} |
a66c9fc9c503
fold: actually track folds using fold-* metadata in obsmarkers
Anton Shestakov <av6@dwimlabs.net>
parents:
5184
diff
changeset
|
93 c8d03c1b5e94af74b772900c58259d2e08917735 198b5c405d01a50c41a81a00fc61677b81981a5f 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '33', 'fold-id': '25cb328e', 'fold-idx': '1', 'fold-size': '3', 'operation': 'fold', 'user': 'test'} |
a66c9fc9c503
fold: actually track folds using fold-* metadata in obsmarkers
Anton Shestakov <av6@dwimlabs.net>
parents:
5184
diff
changeset
|
94 f69452c5b1af6cbaaa56ef50cf94fff5bcc6ca23 198b5c405d01a50c41a81a00fc61677b81981a5f 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '37', 'fold-id': '25cb328e', 'fold-idx': '2', 'fold-size': '3', 'operation': 'fold', 'user': 'test'} |
2863
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
95 |
5406
e8660b28bfee
obslog: makes --origin flag the default
Anton Shestakov <av6@dwimlabs.net>
parents:
5218
diff
changeset
|
96 $ hg obslog --no-origin |
e8660b28bfee
obslog: makes --origin flag the default
Anton Shestakov <av6@dwimlabs.net>
parents:
5218
diff
changeset
|
97 @ 198b5c405d01 (11) r5 |
e8660b28bfee
obslog: makes --origin flag the default
Anton Shestakov <av6@dwimlabs.net>
parents:
5218
diff
changeset
|
98 |\ |
e8660b28bfee
obslog: makes --origin flag the default
Anton Shestakov <av6@dwimlabs.net>
parents:
5218
diff
changeset
|
99 | \ |
e8660b28bfee
obslog: makes --origin flag the default
Anton Shestakov <av6@dwimlabs.net>
parents:
5218
diff
changeset
|
100 | |\ |
e8660b28bfee
obslog: makes --origin flag the default
Anton Shestakov <av6@dwimlabs.net>
parents:
5218
diff
changeset
|
101 x | | 4de32a90b66c (7) r7 |
e8660b28bfee
obslog: makes --origin flag the default
Anton Shestakov <av6@dwimlabs.net>
parents:
5218
diff
changeset
|
102 / / folded(description, date, parent) as 198b5c405d01 using fold by test (Thu Jan 01 00:00:00 1970 +0000) |
e8660b28bfee
obslog: makes --origin flag the default
Anton Shestakov <av6@dwimlabs.net>
parents:
5218
diff
changeset
|
103 | | |
e8660b28bfee
obslog: makes --origin flag the default
Anton Shestakov <av6@dwimlabs.net>
parents:
5218
diff
changeset
|
104 x | c8d03c1b5e94 (5) r5 |
e8660b28bfee
obslog: makes --origin flag the default
Anton Shestakov <av6@dwimlabs.net>
parents:
5218
diff
changeset
|
105 / folded(description, date) as 198b5c405d01 using fold by test (Thu Jan 01 00:00:00 1970 +0000) |
e8660b28bfee
obslog: makes --origin flag the default
Anton Shestakov <av6@dwimlabs.net>
parents:
5218
diff
changeset
|
106 | |
e8660b28bfee
obslog: makes --origin flag the default
Anton Shestakov <av6@dwimlabs.net>
parents:
5218
diff
changeset
|
107 x f69452c5b1af (6) r6 |
e8660b28bfee
obslog: makes --origin flag the default
Anton Shestakov <av6@dwimlabs.net>
parents:
5218
diff
changeset
|
108 folded(description, date, parent) as 198b5c405d01 using fold by test (Thu Jan 01 00:00:00 1970 +0000) |
e8660b28bfee
obslog: makes --origin flag the default
Anton Shestakov <av6@dwimlabs.net>
parents:
5218
diff
changeset
|
109 |
e8660b28bfee
obslog: makes --origin flag the default
Anton Shestakov <av6@dwimlabs.net>
parents:
5218
diff
changeset
|
110 $ hg obslog |
e8660b28bfee
obslog: makes --origin flag the default
Anton Shestakov <av6@dwimlabs.net>
parents:
5218
diff
changeset
|
111 @ 198b5c405d01 (11) r5 |
e8660b28bfee
obslog: makes --origin flag the default
Anton Shestakov <av6@dwimlabs.net>
parents:
5218
diff
changeset
|
112 |\ folded(description, date, parent) from 4de32a90b66c, c8d03c1b5e94, f69452c5b1af using fold by test (Thu Jan 01 00:00:00 1970 +0000) |
e8660b28bfee
obslog: makes --origin flag the default
Anton Shestakov <av6@dwimlabs.net>
parents:
5218
diff
changeset
|
113 | | |
e8660b28bfee
obslog: makes --origin flag the default
Anton Shestakov <av6@dwimlabs.net>
parents:
5218
diff
changeset
|
114 | \ |
e8660b28bfee
obslog: makes --origin flag the default
Anton Shestakov <av6@dwimlabs.net>
parents:
5218
diff
changeset
|
115 | |\ |
e8660b28bfee
obslog: makes --origin flag the default
Anton Shestakov <av6@dwimlabs.net>
parents:
5218
diff
changeset
|
116 x | | 4de32a90b66c (7) r7 |
e8660b28bfee
obslog: makes --origin flag the default
Anton Shestakov <av6@dwimlabs.net>
parents:
5218
diff
changeset
|
117 / / |
e8660b28bfee
obslog: makes --origin flag the default
Anton Shestakov <av6@dwimlabs.net>
parents:
5218
diff
changeset
|
118 x / c8d03c1b5e94 (5) r5 |
e8660b28bfee
obslog: makes --origin flag the default
Anton Shestakov <av6@dwimlabs.net>
parents:
5218
diff
changeset
|
119 / |
e8660b28bfee
obslog: makes --origin flag the default
Anton Shestakov <av6@dwimlabs.net>
parents:
5218
diff
changeset
|
120 x f69452c5b1af (6) r6 |
e8660b28bfee
obslog: makes --origin flag the default
Anton Shestakov <av6@dwimlabs.net>
parents:
5218
diff
changeset
|
121 |
e8660b28bfee
obslog: makes --origin flag the default
Anton Shestakov <av6@dwimlabs.net>
parents:
5218
diff
changeset
|
122 |
3555
a8596ac13fe8
tests: add a test showing bookmark not moving in-case of `hg fold`
Pulkit Goyal <7895pulkit@gmail.com>
parents:
2881
diff
changeset
|
123 Checking whether the bookmarks are moved or not |
a8596ac13fe8
tests: add a test showing bookmark not moving in-case of `hg fold`
Pulkit Goyal <7895pulkit@gmail.com>
parents:
2881
diff
changeset
|
124 |
a8596ac13fe8
tests: add a test showing bookmark not moving in-case of `hg fold`
Pulkit Goyal <7895pulkit@gmail.com>
parents:
2881
diff
changeset
|
125 $ hg log -G |
3556
f062a4719e46
fold: make sure we move bookmarks after folding (issue5772)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
3555
diff
changeset
|
126 @ 11 - 198b5c405d01 r5 [debugbuilddag] (draft) bm1 |
3555
a8596ac13fe8
tests: add a test showing bookmark not moving in-case of `hg fold`
Pulkit Goyal <7895pulkit@gmail.com>
parents:
2881
diff
changeset
|
127 | |
a8596ac13fe8
tests: add a test showing bookmark not moving in-case of `hg fold`
Pulkit Goyal <7895pulkit@gmail.com>
parents:
2881
diff
changeset
|
128 | o 10 - a8407f9a3dc1 r10 [debugbuilddag] (draft) |
a8596ac13fe8
tests: add a test showing bookmark not moving in-case of `hg fold`
Pulkit Goyal <7895pulkit@gmail.com>
parents:
2881
diff
changeset
|
129 | | |
a8596ac13fe8
tests: add a test showing bookmark not moving in-case of `hg fold`
Pulkit Goyal <7895pulkit@gmail.com>
parents:
2881
diff
changeset
|
130 | o 9 - 529dfc5bb875 r9 [debugbuilddag] (draft) |
a8596ac13fe8
tests: add a test showing bookmark not moving in-case of `hg fold`
Pulkit Goyal <7895pulkit@gmail.com>
parents:
2881
diff
changeset
|
131 | | |
a8596ac13fe8
tests: add a test showing bookmark not moving in-case of `hg fold`
Pulkit Goyal <7895pulkit@gmail.com>
parents:
2881
diff
changeset
|
132 | o 8 - abf57d94268b r8 [debugbuilddag] (draft) |
a8596ac13fe8
tests: add a test showing bookmark not moving in-case of `hg fold`
Pulkit Goyal <7895pulkit@gmail.com>
parents:
2881
diff
changeset
|
133 | | |
a8596ac13fe8
tests: add a test showing bookmark not moving in-case of `hg fold`
Pulkit Goyal <7895pulkit@gmail.com>
parents:
2881
diff
changeset
|
134 o | 4 - bebd167eb94d r4 [debugbuilddag] (draft) |
a8596ac13fe8
tests: add a test showing bookmark not moving in-case of `hg fold`
Pulkit Goyal <7895pulkit@gmail.com>
parents:
2881
diff
changeset
|
135 |/ |
a8596ac13fe8
tests: add a test showing bookmark not moving in-case of `hg fold`
Pulkit Goyal <7895pulkit@gmail.com>
parents:
2881
diff
changeset
|
136 o 3 - 2dc09a01254d r3 [debugbuilddag] (draft) |
a8596ac13fe8
tests: add a test showing bookmark not moving in-case of `hg fold`
Pulkit Goyal <7895pulkit@gmail.com>
parents:
2881
diff
changeset
|
137 | |
a8596ac13fe8
tests: add a test showing bookmark not moving in-case of `hg fold`
Pulkit Goyal <7895pulkit@gmail.com>
parents:
2881
diff
changeset
|
138 o 2 - 01241442b3c2 r2 [debugbuilddag] (draft) |
a8596ac13fe8
tests: add a test showing bookmark not moving in-case of `hg fold`
Pulkit Goyal <7895pulkit@gmail.com>
parents:
2881
diff
changeset
|
139 | |
a8596ac13fe8
tests: add a test showing bookmark not moving in-case of `hg fold`
Pulkit Goyal <7895pulkit@gmail.com>
parents:
2881
diff
changeset
|
140 o 1 - 66f7d451a68b r1 [debugbuilddag] (draft) |
a8596ac13fe8
tests: add a test showing bookmark not moving in-case of `hg fold`
Pulkit Goyal <7895pulkit@gmail.com>
parents:
2881
diff
changeset
|
141 | |
a8596ac13fe8
tests: add a test showing bookmark not moving in-case of `hg fold`
Pulkit Goyal <7895pulkit@gmail.com>
parents:
2881
diff
changeset
|
142 o 0 - 1ea73414a91b r0 [debugbuilddag] (public) |
a8596ac13fe8
tests: add a test showing bookmark not moving in-case of `hg fold`
Pulkit Goyal <7895pulkit@gmail.com>
parents:
2881
diff
changeset
|
143 |
2863
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
144 (test inherited from test-evolve.t) |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
145 |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
146 $ hg fold --from 6 # want to run hg fold 6 |
5777
12c53d7122a7
tests: remove trailing "!" from abort messages
Anton Shestakov <av6@dwimlabs.net>
parents:
5406
diff
changeset
|
147 abort: hidden revision '6' was rewritten as: 198b5c405d01 |
3768
54a469cd5b26
test: update output to match upstream
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
3556
diff
changeset
|
148 (use --hidden to access hidden revisions) |
2863
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
149 [255] |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
150 |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
151 $ hg log -G |
3555
a8596ac13fe8
tests: add a test showing bookmark not moving in-case of `hg fold`
Pulkit Goyal <7895pulkit@gmail.com>
parents:
2881
diff
changeset
|
152 @ 11 - 198b5c405d01 r5 [debugbuilddag] (draft) bm1 |
2863
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
153 | |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
154 | o 10 - a8407f9a3dc1 r10 [debugbuilddag] (draft) |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
155 | | |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
156 | o 9 - 529dfc5bb875 r9 [debugbuilddag] (draft) |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
157 | | |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
158 | o 8 - abf57d94268b r8 [debugbuilddag] (draft) |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
159 | | |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
160 o | 4 - bebd167eb94d r4 [debugbuilddag] (draft) |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
161 |/ |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
162 o 3 - 2dc09a01254d r3 [debugbuilddag] (draft) |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
163 | |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
164 o 2 - 01241442b3c2 r2 [debugbuilddag] (draft) |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
165 | |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
166 o 1 - 66f7d451a68b r1 [debugbuilddag] (draft) |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
167 | |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
168 o 0 - 1ea73414a91b r0 [debugbuilddag] (public) |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
169 |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
170 |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
171 test fold --exact |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
172 |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
173 $ hg fold --exact 'desc("r8") + desc("r10")' |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
174 abort: cannot fold non-linear revisions (multiple roots given) |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
175 [255] |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
176 $ hg fold --exact 'desc("r8")::desc("r10")' |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
177 3 changesets folded |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
178 $ hg log -G |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
179 o 12 - b568edbee6e0 r8 [debugbuilddag] (draft) |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
180 | |
3555
a8596ac13fe8
tests: add a test showing bookmark not moving in-case of `hg fold`
Pulkit Goyal <7895pulkit@gmail.com>
parents:
2881
diff
changeset
|
181 | @ 11 - 198b5c405d01 r5 [debugbuilddag] (draft) bm1 |
2863
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
182 | | |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
183 | o 4 - bebd167eb94d r4 [debugbuilddag] (draft) |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
184 |/ |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
185 o 3 - 2dc09a01254d r3 [debugbuilddag] (draft) |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
186 | |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
187 o 2 - 01241442b3c2 r2 [debugbuilddag] (draft) |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
188 | |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
189 o 1 - 66f7d451a68b r1 [debugbuilddag] (draft) |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
190 | |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
191 o 0 - 1ea73414a91b r0 [debugbuilddag] (public) |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
192 |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
193 |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
194 Test allow unstable |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
195 |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
196 $ echo a > a |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
197 $ hg add a |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
198 $ hg commit '-m r11' |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
199 $ hg up '.^' |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
200 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
3555
a8596ac13fe8
tests: add a test showing bookmark not moving in-case of `hg fold`
Pulkit Goyal <7895pulkit@gmail.com>
parents:
2881
diff
changeset
|
201 (leaving bookmark bm1) |
2863
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
202 $ hg log -G |
3555
a8596ac13fe8
tests: add a test showing bookmark not moving in-case of `hg fold`
Pulkit Goyal <7895pulkit@gmail.com>
parents:
2881
diff
changeset
|
203 o 13 - 14d0e0da8e91 r11 [test] (draft) bm1 |
2863
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
204 | |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
205 | o 12 - b568edbee6e0 r8 [debugbuilddag] (draft) |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
206 | | |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
207 @ | 11 - 198b5c405d01 r5 [debugbuilddag] (draft) |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
208 | | |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
209 o | 4 - bebd167eb94d r4 [debugbuilddag] (draft) |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
210 |/ |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
211 o 3 - 2dc09a01254d r3 [debugbuilddag] (draft) |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
212 | |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
213 o 2 - 01241442b3c2 r2 [debugbuilddag] (draft) |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
214 | |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
215 o 1 - 66f7d451a68b r1 [debugbuilddag] (draft) |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
216 | |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
217 o 0 - 1ea73414a91b r0 [debugbuilddag] (public) |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
218 |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
219 |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
220 $ cat << EOF >> .hg/hgrc |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
221 > [experimental] |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
222 > evolution = createmarkers, allnewcommands |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
223 > EOF |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
224 $ hg fold --from 'desc("r4")' |
6075
65d4e47d7f26
rewriteutil: use precheck from core if recent enough
Martin von Zweigbergk <martinvonz@google.com>
parents:
6066
diff
changeset
|
225 abort: cannot fold changeset, as that will orphan 1 descendants |
2879
3e9c3119410a
precheck: point to the instability doc when aborting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2876
diff
changeset
|
226 (see 'hg help evolution.instability') |
6075
65d4e47d7f26
rewriteutil: use precheck from core if recent enough
Martin von Zweigbergk <martinvonz@google.com>
parents:
6066
diff
changeset
|
227 [10] |
2863
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
228 $ hg fold --from 'desc("r3")::desc("r11")' |
6075
65d4e47d7f26
rewriteutil: use precheck from core if recent enough
Martin von Zweigbergk <martinvonz@google.com>
parents:
6066
diff
changeset
|
229 abort: cannot fold changeset, as that will orphan 1 descendants |
2879
3e9c3119410a
precheck: point to the instability doc when aborting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2876
diff
changeset
|
230 (see 'hg help evolution.instability') |
6075
65d4e47d7f26
rewriteutil: use precheck from core if recent enough
Martin von Zweigbergk <martinvonz@google.com>
parents:
6066
diff
changeset
|
231 [10] |
2863
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
232 |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
233 test --user variant |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
234 |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
235 $ cat << EOF >> .hg/hgrc |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
236 > [experimental] |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
237 > evolution = createmarkers, allnewcommands |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
238 > EOF |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
239 $ cat << EOF >> .hg/hgrc |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
240 > [experimental] |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
241 > evolution = all |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
242 > EOF |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
243 |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
244 $ hg fold --exact 'desc("r5") + desc("r11")' --user 'Victor Rataxes <victor@rhino.savannah>' |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
245 2 changesets folded |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
246 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
247 $ hg log -G |
3556
f062a4719e46
fold: make sure we move bookmarks after folding (issue5772)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
3555
diff
changeset
|
248 @ 14 - 29b470a33594 r5 [Victor Rataxes <victor@rhino.savannah>] (draft) bm1 |
2863
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
249 | |
3556
f062a4719e46
fold: make sure we move bookmarks after folding (issue5772)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
3555
diff
changeset
|
250 | o 12 - b568edbee6e0 r8 [debugbuilddag] (draft) |
2863
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
251 | | |
3556
f062a4719e46
fold: make sure we move bookmarks after folding (issue5772)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
3555
diff
changeset
|
252 o | 4 - bebd167eb94d r4 [debugbuilddag] (draft) |
2863
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
253 |/ |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
254 o 3 - 2dc09a01254d r3 [debugbuilddag] (draft) |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
255 | |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
256 o 2 - 01241442b3c2 r2 [debugbuilddag] (draft) |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
257 | |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
258 o 1 - 66f7d451a68b r1 [debugbuilddag] (draft) |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
259 | |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
260 o 0 - 1ea73414a91b r0 [debugbuilddag] (public) |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
261 |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
262 |
2864
85e5a56db776
fold: add support for the -D and -U options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2863
diff
changeset
|
263 $ hg fold --from 'desc("r4")' -U |
85e5a56db776
fold: add support for the -D and -U options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2863
diff
changeset
|
264 2 changesets folded |
85e5a56db776
fold: add support for the -D and -U options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2863
diff
changeset
|
265 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
85e5a56db776
fold: add support for the -D and -U options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2863
diff
changeset
|
266 $ hg log -G |
3556
f062a4719e46
fold: make sure we move bookmarks after folding (issue5772)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
3555
diff
changeset
|
267 @ 15 - 91880abed0f2 r4 [test] (draft) bm1 |
2864
85e5a56db776
fold: add support for the -D and -U options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2863
diff
changeset
|
268 | |
3556
f062a4719e46
fold: make sure we move bookmarks after folding (issue5772)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
3555
diff
changeset
|
269 | o 12 - b568edbee6e0 r8 [debugbuilddag] (draft) |
2864
85e5a56db776
fold: add support for the -D and -U options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2863
diff
changeset
|
270 |/ |
85e5a56db776
fold: add support for the -D and -U options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2863
diff
changeset
|
271 o 3 - 2dc09a01254d r3 [debugbuilddag] (draft) |
85e5a56db776
fold: add support for the -D and -U options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2863
diff
changeset
|
272 | |
85e5a56db776
fold: add support for the -D and -U options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2863
diff
changeset
|
273 o 2 - 01241442b3c2 r2 [debugbuilddag] (draft) |
85e5a56db776
fold: add support for the -D and -U options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2863
diff
changeset
|
274 | |
85e5a56db776
fold: add support for the -D and -U options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2863
diff
changeset
|
275 o 1 - 66f7d451a68b r1 [debugbuilddag] (draft) |
85e5a56db776
fold: add support for the -D and -U options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2863
diff
changeset
|
276 | |
85e5a56db776
fold: add support for the -D and -U options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2863
diff
changeset
|
277 o 0 - 1ea73414a91b r0 [debugbuilddag] (public) |
85e5a56db776
fold: add support for the -D and -U options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2863
diff
changeset
|
278 |
4445
5300be965515
fold: sort concatenated commit messages in topological order
Martin von Zweigbergk <martinvonz@google.com>
parents:
3768
diff
changeset
|
279 Test order of proposed commit message |
5300be965515
fold: sort concatenated commit messages in topological order
Martin von Zweigbergk <martinvonz@google.com>
parents:
3768
diff
changeset
|
280 |
4937
8a491546e81d
fold: check allowdivergence before folding obsolete changesets (issue5817)
Anton Shestakov <av6@dwimlabs.net>
parents:
4936
diff
changeset
|
281 $ hg fold --exact --hidden -r 4 -r 5 -r 6 \ |
8a491546e81d
fold: check allowdivergence before folding obsolete changesets (issue5817)
Anton Shestakov <av6@dwimlabs.net>
parents:
4936
diff
changeset
|
282 > --config experimental.evolution.allowdivergence=yes |
4445
5300be965515
fold: sort concatenated commit messages in topological order
Martin von Zweigbergk <martinvonz@google.com>
parents:
3768
diff
changeset
|
283 2 new content-divergent changesets |
5300be965515
fold: sort concatenated commit messages in topological order
Martin von Zweigbergk <martinvonz@google.com>
parents:
3768
diff
changeset
|
284 3 changesets folded |
5300be965515
fold: sort concatenated commit messages in topological order
Martin von Zweigbergk <martinvonz@google.com>
parents:
3768
diff
changeset
|
285 $ hg log -r tip -T '{desc}' |
5300be965515
fold: sort concatenated commit messages in topological order
Martin von Zweigbergk <martinvonz@google.com>
parents:
3768
diff
changeset
|
286 r4 |
5300be965515
fold: sort concatenated commit messages in topological order
Martin von Zweigbergk <martinvonz@google.com>
parents:
3768
diff
changeset
|
287 |
5300be965515
fold: sort concatenated commit messages in topological order
Martin von Zweigbergk <martinvonz@google.com>
parents:
3768
diff
changeset
|
288 |
5300be965515
fold: sort concatenated commit messages in topological order
Martin von Zweigbergk <martinvonz@google.com>
parents:
3768
diff
changeset
|
289 r5 |
5300be965515
fold: sort concatenated commit messages in topological order
Martin von Zweigbergk <martinvonz@google.com>
parents:
3768
diff
changeset
|
290 |
5300be965515
fold: sort concatenated commit messages in topological order
Martin von Zweigbergk <martinvonz@google.com>
parents:
3768
diff
changeset
|
291 |
5300be965515
fold: sort concatenated commit messages in topological order
Martin von Zweigbergk <martinvonz@google.com>
parents:
3768
diff
changeset
|
292 r6 (no-eol) |
4937
8a491546e81d
fold: check allowdivergence before folding obsolete changesets (issue5817)
Anton Shestakov <av6@dwimlabs.net>
parents:
4936
diff
changeset
|
293 $ hg fold --exact --hidden -r 6 -r 4 -r 5 \ |
8a491546e81d
fold: check allowdivergence before folding obsolete changesets (issue5817)
Anton Shestakov <av6@dwimlabs.net>
parents:
4936
diff
changeset
|
294 > --config experimental.evolution.allowdivergence=yes |
4445
5300be965515
fold: sort concatenated commit messages in topological order
Martin von Zweigbergk <martinvonz@google.com>
parents:
3768
diff
changeset
|
295 3 changesets folded |
5300be965515
fold: sort concatenated commit messages in topological order
Martin von Zweigbergk <martinvonz@google.com>
parents:
3768
diff
changeset
|
296 $ hg log -r tip -T '{desc}' |
5300be965515
fold: sort concatenated commit messages in topological order
Martin von Zweigbergk <martinvonz@google.com>
parents:
3768
diff
changeset
|
297 r4 |
5300be965515
fold: sort concatenated commit messages in topological order
Martin von Zweigbergk <martinvonz@google.com>
parents:
3768
diff
changeset
|
298 |
5300be965515
fold: sort concatenated commit messages in topological order
Martin von Zweigbergk <martinvonz@google.com>
parents:
3768
diff
changeset
|
299 |
5300be965515
fold: sort concatenated commit messages in topological order
Martin von Zweigbergk <martinvonz@google.com>
parents:
3768
diff
changeset
|
300 r5 |
5300be965515
fold: sort concatenated commit messages in topological order
Martin von Zweigbergk <martinvonz@google.com>
parents:
3768
diff
changeset
|
301 |
5300be965515
fold: sort concatenated commit messages in topological order
Martin von Zweigbergk <martinvonz@google.com>
parents:
3768
diff
changeset
|
302 |
5300be965515
fold: sort concatenated commit messages in topological order
Martin von Zweigbergk <martinvonz@google.com>
parents:
3768
diff
changeset
|
303 r6 (no-eol) |
5300be965515
fold: sort concatenated commit messages in topological order
Martin von Zweigbergk <martinvonz@google.com>
parents:
3768
diff
changeset
|
304 |
2863
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
305 $ cd .. |
ab80ef8d0cfa
test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
306 |
4828
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
307 One merge commit |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
308 |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
309 $ hg init fold-a-merge |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
310 $ cd fold-a-merge |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
311 |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
312 $ mkcommit zebra |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
313 |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
314 $ hg up null |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
315 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
316 $ mkcommit apple |
6066
dad6bd8180d3
tests: use mkcommit() from common.sh in test-fold.t
Anton Shestakov <av6@dwimlabs.net>
parents:
5921
diff
changeset
|
317 created new head |
4828
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
318 $ mkcommit banana |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
319 |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
320 $ hg merge |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
321 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
322 (branch merge, don't forget to commit) |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
323 $ hg ci -m merge |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
324 |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
325 $ mkcommit coconut |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
326 |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
327 $ hg glf |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
328 @ 4: coconut (coconut) |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
329 | |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
330 o 3: merge () |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
331 |\ |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
332 | o 2: banana (banana) |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
333 | | |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
334 | o 1: apple (apple) |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
335 | |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
336 o 0: zebra (zebra) |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
337 |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
338 |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
339 now we merge some of the fruits |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
340 |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
341 $ hg fold --exact -r 'desc("banana")::desc("coconut")' -m 'banana+coconut in a merge with zebra' |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
342 3 changesets folded |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
343 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
344 $ hg glf |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
345 @ 5: banana+coconut in a merge with zebra (banana coconut) |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
346 |\ |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
347 | o 1: apple (apple) |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
348 | |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
349 o 0: zebra (zebra) |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
350 |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
351 |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
352 let's go even further: zebra becomes a parent of the squashed fruit commit |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
353 |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
354 $ hg fold --from -r 'desc("apple")' -m 'apple+banana+coconut is a child of zebra' |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
355 2 changesets folded |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
356 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
357 $ hg glf |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
358 @ 6: apple+banana+coconut is a child of zebra (apple banana coconut) |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
359 | |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
360 o 0: zebra (zebra) |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
361 |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
362 |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
363 make sure zebra exists at tip and has expected contents |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
364 |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
365 $ hg cat -r tip zebra |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
366 zebra |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
367 |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
368 $ cd .. |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
369 |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
370 Multiple merge commits |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
371 |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
372 $ hg init fold-many-merges |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
373 $ cd fold-many-merges |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
374 |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
375 $ hg debugbuilddag '+3 *3 /3 /4 /4' |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
376 $ hg glog |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
377 o 6: r6 |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
378 |\ |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
379 | o 5: r5 |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
380 | |\ |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
381 | | o 4: r4 |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
382 | |/| |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
383 | | o 3: r3 |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
384 | | | |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
385 o | | 2: r2 |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
386 |/ / |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
387 o / 1: r1 |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
388 |/ |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
389 o 0: r0 |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
390 |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
391 |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
392 cannot fold 5 and 6 because they have 3 external parents in total: 1, 2, 4 |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
393 |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
394 $ hg fold --exact -r 5:6 -m r5+r6 |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
395 abort: cannot fold revisions that merge with more than one external changeset (not in revisions) |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
396 [255] |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
397 |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
398 now many of the parents are included in the revisions to fold, only 0 and 3 are external |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
399 |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
400 $ hg fold --exact -r 1+2+4+5+6 -m r1+r2+r4+r5+r6 |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
401 5 changesets folded |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
402 |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
403 $ hg glog |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
404 o 7: r1+r2+r4+r5+r6 |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
405 |\ |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
406 | o 3: r3 |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
407 |/ |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
408 o 0: r0 |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
409 |
41885988921e
fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents:
4445
diff
changeset
|
410 $ cd .. |
4936
0852dcba82f6
tests: demonstrate that fold doesn't care about allowdivergence config option
Anton Shestakov <av6@dwimlabs.net>
parents:
4828
diff
changeset
|
411 |
0852dcba82f6
tests: demonstrate that fold doesn't care about allowdivergence config option
Anton Shestakov <av6@dwimlabs.net>
parents:
4828
diff
changeset
|
412 Fold should respect experimental.evolution.allowdivergence option |
0852dcba82f6
tests: demonstrate that fold doesn't care about allowdivergence config option
Anton Shestakov <av6@dwimlabs.net>
parents:
4828
diff
changeset
|
413 https://bz.mercurial-scm.org/show_bug.cgi?id=5817 |
0852dcba82f6
tests: demonstrate that fold doesn't care about allowdivergence config option
Anton Shestakov <av6@dwimlabs.net>
parents:
4828
diff
changeset
|
414 |
0852dcba82f6
tests: demonstrate that fold doesn't care about allowdivergence config option
Anton Shestakov <av6@dwimlabs.net>
parents:
4828
diff
changeset
|
415 $ hg init issue5817 |
0852dcba82f6
tests: demonstrate that fold doesn't care about allowdivergence config option
Anton Shestakov <av6@dwimlabs.net>
parents:
4828
diff
changeset
|
416 $ cd issue5817 |
0852dcba82f6
tests: demonstrate that fold doesn't care about allowdivergence config option
Anton Shestakov <av6@dwimlabs.net>
parents:
4828
diff
changeset
|
417 |
0852dcba82f6
tests: demonstrate that fold doesn't care about allowdivergence config option
Anton Shestakov <av6@dwimlabs.net>
parents:
4828
diff
changeset
|
418 $ echo A > foo |
0852dcba82f6
tests: demonstrate that fold doesn't care about allowdivergence config option
Anton Shestakov <av6@dwimlabs.net>
parents:
4828
diff
changeset
|
419 $ hg ci -qAm A |
0852dcba82f6
tests: demonstrate that fold doesn't care about allowdivergence config option
Anton Shestakov <av6@dwimlabs.net>
parents:
4828
diff
changeset
|
420 $ echo B > foo |
0852dcba82f6
tests: demonstrate that fold doesn't care about allowdivergence config option
Anton Shestakov <av6@dwimlabs.net>
parents:
4828
diff
changeset
|
421 $ hg ci -m B |
0852dcba82f6
tests: demonstrate that fold doesn't care about allowdivergence config option
Anton Shestakov <av6@dwimlabs.net>
parents:
4828
diff
changeset
|
422 $ echo C > foo |
0852dcba82f6
tests: demonstrate that fold doesn't care about allowdivergence config option
Anton Shestakov <av6@dwimlabs.net>
parents:
4828
diff
changeset
|
423 $ hg ci -m C |
0852dcba82f6
tests: demonstrate that fold doesn't care about allowdivergence config option
Anton Shestakov <av6@dwimlabs.net>
parents:
4828
diff
changeset
|
424 |
0852dcba82f6
tests: demonstrate that fold doesn't care about allowdivergence config option
Anton Shestakov <av6@dwimlabs.net>
parents:
4828
diff
changeset
|
425 $ hg fold --exact -r 'desc("A")::desc("B")' -m 'first fold' |
0852dcba82f6
tests: demonstrate that fold doesn't care about allowdivergence config option
Anton Shestakov <av6@dwimlabs.net>
parents:
4828
diff
changeset
|
426 1 new orphan changesets |
0852dcba82f6
tests: demonstrate that fold doesn't care about allowdivergence config option
Anton Shestakov <av6@dwimlabs.net>
parents:
4828
diff
changeset
|
427 2 changesets folded |
0852dcba82f6
tests: demonstrate that fold doesn't care about allowdivergence config option
Anton Shestakov <av6@dwimlabs.net>
parents:
4828
diff
changeset
|
428 |
4937
8a491546e81d
fold: check allowdivergence before folding obsolete changesets (issue5817)
Anton Shestakov <av6@dwimlabs.net>
parents:
4936
diff
changeset
|
429 fold aborts here because divergence is not allowed |
4936
0852dcba82f6
tests: demonstrate that fold doesn't care about allowdivergence config option
Anton Shestakov <av6@dwimlabs.net>
parents:
4828
diff
changeset
|
430 |
0852dcba82f6
tests: demonstrate that fold doesn't care about allowdivergence config option
Anton Shestakov <av6@dwimlabs.net>
parents:
4828
diff
changeset
|
431 $ hg fold --exact -r 'desc("A")::desc("B")' -m 'second fold' \ |
0852dcba82f6
tests: demonstrate that fold doesn't care about allowdivergence config option
Anton Shestakov <av6@dwimlabs.net>
parents:
4828
diff
changeset
|
432 > --config experimental.evolution.allowdivergence=no |
6075
65d4e47d7f26
rewriteutil: use precheck from core if recent enough
Martin von Zweigbergk <martinvonz@google.com>
parents:
6066
diff
changeset
|
433 abort: cannot fold 4b34ecfb0d56, as that creates content-divergence with fcfd42a7fa46 |
5184
1f92a6aa40d6
evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
4937
diff
changeset
|
434 (add --verbose for details or see 'hg help evolution.instability') |
6075
65d4e47d7f26
rewriteutil: use precheck from core if recent enough
Martin von Zweigbergk <martinvonz@google.com>
parents:
6066
diff
changeset
|
435 [10] |
4936
0852dcba82f6
tests: demonstrate that fold doesn't care about allowdivergence config option
Anton Shestakov <av6@dwimlabs.net>
parents:
4828
diff
changeset
|
436 |
0852dcba82f6
tests: demonstrate that fold doesn't care about allowdivergence config option
Anton Shestakov <av6@dwimlabs.net>
parents:
4828
diff
changeset
|
437 but if we allow divergence, this should work and should create new content-divergent changesets |
0852dcba82f6
tests: demonstrate that fold doesn't care about allowdivergence config option
Anton Shestakov <av6@dwimlabs.net>
parents:
4828
diff
changeset
|
438 |
0852dcba82f6
tests: demonstrate that fold doesn't care about allowdivergence config option
Anton Shestakov <av6@dwimlabs.net>
parents:
4828
diff
changeset
|
439 $ hg fold --exact -r 'desc("A")::desc("B")' -m 'second fold' \ |
0852dcba82f6
tests: demonstrate that fold doesn't care about allowdivergence config option
Anton Shestakov <av6@dwimlabs.net>
parents:
4828
diff
changeset
|
440 > --config experimental.evolution.allowdivergence=yes |
4937
8a491546e81d
fold: check allowdivergence before folding obsolete changesets (issue5817)
Anton Shestakov <av6@dwimlabs.net>
parents:
4936
diff
changeset
|
441 2 new content-divergent changesets |
4936
0852dcba82f6
tests: demonstrate that fold doesn't care about allowdivergence config option
Anton Shestakov <av6@dwimlabs.net>
parents:
4828
diff
changeset
|
442 2 changesets folded |
0852dcba82f6
tests: demonstrate that fold doesn't care about allowdivergence config option
Anton Shestakov <av6@dwimlabs.net>
parents:
4828
diff
changeset
|
443 |
0852dcba82f6
tests: demonstrate that fold doesn't care about allowdivergence config option
Anton Shestakov <av6@dwimlabs.net>
parents:
4828
diff
changeset
|
444 $ cd .. |