annotate tests/test-fold.t @ 6094:c1094cce56ed

tests: avoid case-folding issue in test-evolve-inmemory.t on windows When using debugdrawdag, each commit already creates a file with the same name as the commit description, i.e. changeset C creates file C with 'C' in it (no newline). Creating another file called c breaks this test on windows. So let's reuse the files already created by debugdrawdag. hg update reports one less file because now there's only C in C (yes, I also wanted to change commit descriptions, file names and their contents to be less ambiguous, but decided to be lazy).
author Anton Shestakov <av6@dwimlabs.net>
date Thu, 18 Nov 2021 17:29:20 +0300
parents 01154958e0cf
children 1a13ac9ef30a 442771901e01
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2767
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=
4723
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
8 > [alias]
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
9 > glog = log -GT "{rev}: {desc}"
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
10 > glf = log -GT "{rev}: {desc} ({files})"
2767
ab80ef8d0cfa test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
11 > [ui]
3450
a8596ac13fe8 tests: add a test showing bookmark not moving in-case of `hg fold`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2785
diff changeset
12 > logtemplate = '{rev} - {node|short} {desc|firstline} [{author}] ({phase}) {bookmarks}\n'
2767
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
3450
a8596ac13fe8 tests: add a test showing bookmark not moving in-case of `hg fold`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2785
diff changeset
20 $ hg bookmark bm1
2767
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 |
3450
a8596ac13fe8 tests: add a test showing bookmark not moving in-case of `hg fold`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2785
diff changeset
28 | @ 7 - 4de32a90b66c r7 [debugbuilddag] (draft) bm1
2767
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
2785
b5a48e4aeec6 precheck: handle rewrite attempt of nullrev
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2784
diff changeset
47 $ hg fold --exact null::
b5a48e4aeec6 precheck: handle rewrite attempt of nullrev
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2784
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: 2784
diff changeset
49 (no changeset checked out)
5970
65d4e47d7f26 rewriteutil: use precheck from core if recent enough
Martin von Zweigbergk <martinvonz@google.com>
parents: 5961
diff changeset
50 [10]
2767
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
2780
58e4b51ee902 prefetc: point at the offending changeset when aborting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2779
diff changeset
82 abort: cannot fold public changesets: 1ea73414a91b
2779
f51efb2bb8c9 precheck: point to 'phase' help when aborting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2778
diff changeset
83 (see 'hg help phases' for details)
5970
65d4e47d7f26 rewriteutil: use precheck from core if recent enough
Martin von Zweigbergk <martinvonz@google.com>
parents: 5961
diff changeset
84 [10]
2767
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
5113
a66c9fc9c503 fold: actually track folds using fold-* metadata in obsmarkers
Anton Shestakov <av6@dwimlabs.net>
parents: 5079
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: 5079
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: 5079
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: 5079
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'}
2767
ab80ef8d0cfa test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
95
5301
e8660b28bfee obslog: makes --origin flag the default
Anton Shestakov <av6@dwimlabs.net>
parents: 5113
diff changeset
96 $ hg obslog --no-origin
e8660b28bfee obslog: makes --origin flag the default
Anton Shestakov <av6@dwimlabs.net>
parents: 5113
diff changeset
97 @ 198b5c405d01 (11) r5
e8660b28bfee obslog: makes --origin flag the default
Anton Shestakov <av6@dwimlabs.net>
parents: 5113
diff changeset
98 |\
e8660b28bfee obslog: makes --origin flag the default
Anton Shestakov <av6@dwimlabs.net>
parents: 5113
diff changeset
99 | \
e8660b28bfee obslog: makes --origin flag the default
Anton Shestakov <av6@dwimlabs.net>
parents: 5113
diff changeset
100 | |\
e8660b28bfee obslog: makes --origin flag the default
Anton Shestakov <av6@dwimlabs.net>
parents: 5113
diff changeset
101 x | | 4de32a90b66c (7) r7
e8660b28bfee obslog: makes --origin flag the default
Anton Shestakov <av6@dwimlabs.net>
parents: 5113
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: 5113
diff changeset
103 | |
e8660b28bfee obslog: makes --origin flag the default
Anton Shestakov <av6@dwimlabs.net>
parents: 5113
diff changeset
104 x | c8d03c1b5e94 (5) r5
e8660b28bfee obslog: makes --origin flag the default
Anton Shestakov <av6@dwimlabs.net>
parents: 5113
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: 5113
diff changeset
106 |
e8660b28bfee obslog: makes --origin flag the default
Anton Shestakov <av6@dwimlabs.net>
parents: 5113
diff changeset
107 x f69452c5b1af (6) r6
e8660b28bfee obslog: makes --origin flag the default
Anton Shestakov <av6@dwimlabs.net>
parents: 5113
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: 5113
diff changeset
109
e8660b28bfee obslog: makes --origin flag the default
Anton Shestakov <av6@dwimlabs.net>
parents: 5113
diff changeset
110 $ hg obslog
e8660b28bfee obslog: makes --origin flag the default
Anton Shestakov <av6@dwimlabs.net>
parents: 5113
diff changeset
111 @ 198b5c405d01 (11) r5
e8660b28bfee obslog: makes --origin flag the default
Anton Shestakov <av6@dwimlabs.net>
parents: 5113
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: 5113
diff changeset
113 | |
e8660b28bfee obslog: makes --origin flag the default
Anton Shestakov <av6@dwimlabs.net>
parents: 5113
diff changeset
114 | \
e8660b28bfee obslog: makes --origin flag the default
Anton Shestakov <av6@dwimlabs.net>
parents: 5113
diff changeset
115 | |\
e8660b28bfee obslog: makes --origin flag the default
Anton Shestakov <av6@dwimlabs.net>
parents: 5113
diff changeset
116 x | | 4de32a90b66c (7) r7
e8660b28bfee obslog: makes --origin flag the default
Anton Shestakov <av6@dwimlabs.net>
parents: 5113
diff changeset
117 / /
e8660b28bfee obslog: makes --origin flag the default
Anton Shestakov <av6@dwimlabs.net>
parents: 5113
diff changeset
118 x / c8d03c1b5e94 (5) r5
e8660b28bfee obslog: makes --origin flag the default
Anton Shestakov <av6@dwimlabs.net>
parents: 5113
diff changeset
119 /
e8660b28bfee obslog: makes --origin flag the default
Anton Shestakov <av6@dwimlabs.net>
parents: 5113
diff changeset
120 x f69452c5b1af (6) r6
e8660b28bfee obslog: makes --origin flag the default
Anton Shestakov <av6@dwimlabs.net>
parents: 5113
diff changeset
121
e8660b28bfee obslog: makes --origin flag the default
Anton Shestakov <av6@dwimlabs.net>
parents: 5113
diff changeset
122
3450
a8596ac13fe8 tests: add a test showing bookmark not moving in-case of `hg fold`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2785
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: 2785
diff changeset
124
a8596ac13fe8 tests: add a test showing bookmark not moving in-case of `hg fold`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2785
diff changeset
125 $ hg log -G
3451
f062a4719e46 fold: make sure we move bookmarks after folding (issue5772)
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3450
diff changeset
126 @ 11 - 198b5c405d01 r5 [debugbuilddag] (draft) bm1
3450
a8596ac13fe8 tests: add a test showing bookmark not moving in-case of `hg fold`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2785
diff changeset
127 |
a8596ac13fe8 tests: add a test showing bookmark not moving in-case of `hg fold`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2785
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: 2785
diff changeset
129 | |
a8596ac13fe8 tests: add a test showing bookmark not moving in-case of `hg fold`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2785
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: 2785
diff changeset
131 | |
a8596ac13fe8 tests: add a test showing bookmark not moving in-case of `hg fold`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2785
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: 2785
diff changeset
133 | |
a8596ac13fe8 tests: add a test showing bookmark not moving in-case of `hg fold`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2785
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: 2785
diff changeset
135 |/
a8596ac13fe8 tests: add a test showing bookmark not moving in-case of `hg fold`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2785
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: 2785
diff changeset
137 |
a8596ac13fe8 tests: add a test showing bookmark not moving in-case of `hg fold`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2785
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: 2785
diff changeset
139 |
a8596ac13fe8 tests: add a test showing bookmark not moving in-case of `hg fold`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2785
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: 2785
diff changeset
141 |
a8596ac13fe8 tests: add a test showing bookmark not moving in-case of `hg fold`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2785
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: 2785
diff changeset
143
2767
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
5672
12c53d7122a7 tests: remove trailing "!" from abort messages
Anton Shestakov <av6@dwimlabs.net>
parents: 5301
diff changeset
147 abort: hidden revision '6' was rewritten as: 198b5c405d01
3663
54a469cd5b26 test: update output to match upstream
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3451
diff changeset
148 (use --hidden to access hidden revisions)
2767
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
3450
a8596ac13fe8 tests: add a test showing bookmark not moving in-case of `hg fold`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2785
diff changeset
152 @ 11 - 198b5c405d01 r5 [debugbuilddag] (draft) bm1
2767
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 |
3450
a8596ac13fe8 tests: add a test showing bookmark not moving in-case of `hg fold`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2785
diff changeset
181 | @ 11 - 198b5c405d01 r5 [debugbuilddag] (draft) bm1
2767
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
3450
a8596ac13fe8 tests: add a test showing bookmark not moving in-case of `hg fold`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2785
diff changeset
201 (leaving bookmark bm1)
2767
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
3450
a8596ac13fe8 tests: add a test showing bookmark not moving in-case of `hg fold`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2785
diff changeset
203 o 13 - 14d0e0da8e91 r11 [test] (draft) bm1
2767
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")'
5970
65d4e47d7f26 rewriteutil: use precheck from core if recent enough
Martin von Zweigbergk <martinvonz@google.com>
parents: 5961
diff changeset
225 abort: cannot fold changeset, as that will orphan 1 descendants
2783
3e9c3119410a precheck: point to the instability doc when aborting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2780
diff changeset
226 (see 'hg help evolution.instability')
5970
65d4e47d7f26 rewriteutil: use precheck from core if recent enough
Martin von Zweigbergk <martinvonz@google.com>
parents: 5961
diff changeset
227 [10]
2767
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")'
5970
65d4e47d7f26 rewriteutil: use precheck from core if recent enough
Martin von Zweigbergk <martinvonz@google.com>
parents: 5961
diff changeset
229 abort: cannot fold changeset, as that will orphan 1 descendants
2783
3e9c3119410a precheck: point to the instability doc when aborting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2780
diff changeset
230 (see 'hg help evolution.instability')
5970
65d4e47d7f26 rewriteutil: use precheck from core if recent enough
Martin von Zweigbergk <martinvonz@google.com>
parents: 5961
diff changeset
231 [10]
2767
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
3451
f062a4719e46 fold: make sure we move bookmarks after folding (issue5772)
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3450
diff changeset
248 @ 14 - 29b470a33594 r5 [Victor Rataxes <victor@rhino.savannah>] (draft) bm1
2767
ab80ef8d0cfa test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
249 |
3451
f062a4719e46 fold: make sure we move bookmarks after folding (issue5772)
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3450
diff changeset
250 | o 12 - b568edbee6e0 r8 [debugbuilddag] (draft)
2767
ab80ef8d0cfa test: extract most fold testing into a test-fold module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
251 | |
3451
f062a4719e46 fold: make sure we move bookmarks after folding (issue5772)
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3450
diff changeset
252 o | 4 - bebd167eb94d r4 [debugbuilddag] (draft)
2767
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
2768
85e5a56db776 fold: add support for the -D and -U options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2767
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: 2767
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: 2767
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: 2767
diff changeset
266 $ hg log -G
3451
f062a4719e46 fold: make sure we move bookmarks after folding (issue5772)
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3450
diff changeset
267 @ 15 - 91880abed0f2 r4 [test] (draft) bm1
2768
85e5a56db776 fold: add support for the -D and -U options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2767
diff changeset
268 |
3451
f062a4719e46 fold: make sure we move bookmarks after folding (issue5772)
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3450
diff changeset
269 | o 12 - b568edbee6e0 r8 [debugbuilddag] (draft)
2768
85e5a56db776 fold: add support for the -D and -U options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2767
diff changeset
270 |/
85e5a56db776 fold: add support for the -D and -U options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2767
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: 2767
diff changeset
272 |
85e5a56db776 fold: add support for the -D and -U options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2767
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: 2767
diff changeset
274 |
85e5a56db776 fold: add support for the -D and -U options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2767
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: 2767
diff changeset
276 |
85e5a56db776 fold: add support for the -D and -U options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2767
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: 2767
diff changeset
278
4340
5300be965515 fold: sort concatenated commit messages in topological order
Martin von Zweigbergk <martinvonz@google.com>
parents: 3663
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: 3663
diff changeset
280
4832
8a491546e81d fold: check allowdivergence before folding obsolete changesets (issue5817)
Anton Shestakov <av6@dwimlabs.net>
parents: 4831
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: 4831
diff changeset
282 > --config experimental.evolution.allowdivergence=yes
4340
5300be965515 fold: sort concatenated commit messages in topological order
Martin von Zweigbergk <martinvonz@google.com>
parents: 3663
diff changeset
283 2 new content-divergent changesets
5300be965515 fold: sort concatenated commit messages in topological order
Martin von Zweigbergk <martinvonz@google.com>
parents: 3663
diff changeset
284 3 changesets folded
5300be965515 fold: sort concatenated commit messages in topological order
Martin von Zweigbergk <martinvonz@google.com>
parents: 3663
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: 3663
diff changeset
286 r4
5300be965515 fold: sort concatenated commit messages in topological order
Martin von Zweigbergk <martinvonz@google.com>
parents: 3663
diff changeset
287
5300be965515 fold: sort concatenated commit messages in topological order
Martin von Zweigbergk <martinvonz@google.com>
parents: 3663
diff changeset
288
5300be965515 fold: sort concatenated commit messages in topological order
Martin von Zweigbergk <martinvonz@google.com>
parents: 3663
diff changeset
289 r5
5300be965515 fold: sort concatenated commit messages in topological order
Martin von Zweigbergk <martinvonz@google.com>
parents: 3663
diff changeset
290
5300be965515 fold: sort concatenated commit messages in topological order
Martin von Zweigbergk <martinvonz@google.com>
parents: 3663
diff changeset
291
5300be965515 fold: sort concatenated commit messages in topological order
Martin von Zweigbergk <martinvonz@google.com>
parents: 3663
diff changeset
292 r6 (no-eol)
4832
8a491546e81d fold: check allowdivergence before folding obsolete changesets (issue5817)
Anton Shestakov <av6@dwimlabs.net>
parents: 4831
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: 4831
diff changeset
294 > --config experimental.evolution.allowdivergence=yes
4340
5300be965515 fold: sort concatenated commit messages in topological order
Martin von Zweigbergk <martinvonz@google.com>
parents: 3663
diff changeset
295 3 changesets folded
5300be965515 fold: sort concatenated commit messages in topological order
Martin von Zweigbergk <martinvonz@google.com>
parents: 3663
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: 3663
diff changeset
297 r4
5300be965515 fold: sort concatenated commit messages in topological order
Martin von Zweigbergk <martinvonz@google.com>
parents: 3663
diff changeset
298
5300be965515 fold: sort concatenated commit messages in topological order
Martin von Zweigbergk <martinvonz@google.com>
parents: 3663
diff changeset
299
5300be965515 fold: sort concatenated commit messages in topological order
Martin von Zweigbergk <martinvonz@google.com>
parents: 3663
diff changeset
300 r5
5300be965515 fold: sort concatenated commit messages in topological order
Martin von Zweigbergk <martinvonz@google.com>
parents: 3663
diff changeset
301
5300be965515 fold: sort concatenated commit messages in topological order
Martin von Zweigbergk <martinvonz@google.com>
parents: 3663
diff changeset
302
5300be965515 fold: sort concatenated commit messages in topological order
Martin von Zweigbergk <martinvonz@google.com>
parents: 3663
diff changeset
303 r6 (no-eol)
5300be965515 fold: sort concatenated commit messages in topological order
Martin von Zweigbergk <martinvonz@google.com>
parents: 3663
diff changeset
304
2767
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
4723
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
307 One merge commit
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
308
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
309 $ hg init fold-a-merge
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
310 $ cd fold-a-merge
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
311
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
312 $ mkcommit zebra
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
313
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
314 $ hg up null
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
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: 4340
diff changeset
316 $ mkcommit apple
5961
dad6bd8180d3 tests: use mkcommit() from common.sh in test-fold.t
Anton Shestakov <av6@dwimlabs.net>
parents: 5816
diff changeset
317 created new head
4723
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
318 $ mkcommit banana
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
319
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
320 $ hg merge
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
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: 4340
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: 4340
diff changeset
323 $ hg ci -m merge
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
324
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
325 $ mkcommit coconut
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
326
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
327 $ hg glf
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
328 @ 4: coconut (coconut)
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
329 |
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
330 o 3: merge ()
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
331 |\
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
332 | o 2: banana (banana)
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
333 | |
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
334 | o 1: apple (apple)
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
335 |
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
336 o 0: zebra (zebra)
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
337
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
338
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
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: 4340
diff changeset
340
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
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: 4340
diff changeset
342 3 changesets folded
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
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: 4340
diff changeset
344 $ hg glf
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
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: 4340
diff changeset
346 |\
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
347 | o 1: apple (apple)
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
348 |
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
349 o 0: zebra (zebra)
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
350
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
351
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
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: 4340
diff changeset
353
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
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: 4340
diff changeset
355 2 changesets folded
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
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: 4340
diff changeset
357 $ hg glf
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
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: 4340
diff changeset
359 |
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
360 o 0: zebra (zebra)
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
361
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
362
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
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: 4340
diff changeset
364
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
365 $ hg cat -r tip zebra
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
366 zebra
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
367
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
368 $ cd ..
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
369
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
370 Multiple merge commits
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
371
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
372 $ hg init fold-many-merges
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
373 $ cd fold-many-merges
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
374
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
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: 4340
diff changeset
376 $ hg glog
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
377 o 6: r6
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
378 |\
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
379 | o 5: r5
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
380 | |\
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
381 | | o 4: r4
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
382 | |/|
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
383 | | o 3: r3
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
384 | | |
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
385 o | | 2: r2
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
386 |/ /
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
387 o / 1: r1
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
388 |/
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
389 o 0: r0
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
390
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
391
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
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: 4340
diff changeset
393
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
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: 4340
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: 4340
diff changeset
396 [255]
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
397
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
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: 4340
diff changeset
399
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
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: 4340
diff changeset
401 5 changesets folded
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
402
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
403 $ hg glog
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
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: 4340
diff changeset
405 |\
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
406 | o 3: r3
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
407 |/
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
408 o 0: r0
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
409
41885988921e fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 4340
diff changeset
410 $ cd ..
4831
0852dcba82f6 tests: demonstrate that fold doesn't care about allowdivergence config option
Anton Shestakov <av6@dwimlabs.net>
parents: 4723
diff changeset
411
0852dcba82f6 tests: demonstrate that fold doesn't care about allowdivergence config option
Anton Shestakov <av6@dwimlabs.net>
parents: 4723
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: 4723
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: 4723
diff changeset
414
0852dcba82f6 tests: demonstrate that fold doesn't care about allowdivergence config option
Anton Shestakov <av6@dwimlabs.net>
parents: 4723
diff changeset
415 $ hg init issue5817
0852dcba82f6 tests: demonstrate that fold doesn't care about allowdivergence config option
Anton Shestakov <av6@dwimlabs.net>
parents: 4723
diff changeset
416 $ cd issue5817
0852dcba82f6 tests: demonstrate that fold doesn't care about allowdivergence config option
Anton Shestakov <av6@dwimlabs.net>
parents: 4723
diff changeset
417
0852dcba82f6 tests: demonstrate that fold doesn't care about allowdivergence config option
Anton Shestakov <av6@dwimlabs.net>
parents: 4723
diff changeset
418 $ echo A > foo
0852dcba82f6 tests: demonstrate that fold doesn't care about allowdivergence config option
Anton Shestakov <av6@dwimlabs.net>
parents: 4723
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: 4723
diff changeset
420 $ echo B > foo
0852dcba82f6 tests: demonstrate that fold doesn't care about allowdivergence config option
Anton Shestakov <av6@dwimlabs.net>
parents: 4723
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: 4723
diff changeset
422 $ echo C > foo
0852dcba82f6 tests: demonstrate that fold doesn't care about allowdivergence config option
Anton Shestakov <av6@dwimlabs.net>
parents: 4723
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: 4723
diff changeset
424
0852dcba82f6 tests: demonstrate that fold doesn't care about allowdivergence config option
Anton Shestakov <av6@dwimlabs.net>
parents: 4723
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: 4723
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: 4723
diff changeset
427 2 changesets folded
0852dcba82f6 tests: demonstrate that fold doesn't care about allowdivergence config option
Anton Shestakov <av6@dwimlabs.net>
parents: 4723
diff changeset
428
4832
8a491546e81d fold: check allowdivergence before folding obsolete changesets (issue5817)
Anton Shestakov <av6@dwimlabs.net>
parents: 4831
diff changeset
429 fold aborts here because divergence is not allowed
4831
0852dcba82f6 tests: demonstrate that fold doesn't care about allowdivergence config option
Anton Shestakov <av6@dwimlabs.net>
parents: 4723
diff changeset
430
0852dcba82f6 tests: demonstrate that fold doesn't care about allowdivergence config option
Anton Shestakov <av6@dwimlabs.net>
parents: 4723
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: 4723
diff changeset
432 > --config experimental.evolution.allowdivergence=no
5970
65d4e47d7f26 rewriteutil: use precheck from core if recent enough
Martin von Zweigbergk <martinvonz@google.com>
parents: 5961
diff changeset
433 abort: cannot fold 4b34ecfb0d56, as that creates content-divergence with fcfd42a7fa46
5079
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4832
diff changeset
434 (add --verbose for details or see 'hg help evolution.instability')
5970
65d4e47d7f26 rewriteutil: use precheck from core if recent enough
Martin von Zweigbergk <martinvonz@google.com>
parents: 5961
diff changeset
435 [10]
4831
0852dcba82f6 tests: demonstrate that fold doesn't care about allowdivergence config option
Anton Shestakov <av6@dwimlabs.net>
parents: 4723
diff changeset
436
0852dcba82f6 tests: demonstrate that fold doesn't care about allowdivergence config option
Anton Shestakov <av6@dwimlabs.net>
parents: 4723
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: 4723
diff changeset
438
0852dcba82f6 tests: demonstrate that fold doesn't care about allowdivergence config option
Anton Shestakov <av6@dwimlabs.net>
parents: 4723
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: 4723
diff changeset
440 > --config experimental.evolution.allowdivergence=yes
4832
8a491546e81d fold: check allowdivergence before folding obsolete changesets (issue5817)
Anton Shestakov <av6@dwimlabs.net>
parents: 4831
diff changeset
441 2 new content-divergent changesets
4831
0852dcba82f6 tests: demonstrate that fold doesn't care about allowdivergence config option
Anton Shestakov <av6@dwimlabs.net>
parents: 4723
diff changeset
442 2 changesets folded
0852dcba82f6 tests: demonstrate that fold doesn't care about allowdivergence config option
Anton Shestakov <av6@dwimlabs.net>
parents: 4723
diff changeset
443
0852dcba82f6 tests: demonstrate that fold doesn't care about allowdivergence config option
Anton Shestakov <av6@dwimlabs.net>
parents: 4723
diff changeset
444 $ cd ..
5989
056033a7689f fold: make sure to save commit messages in last-message.txt on rewrites
Anton Shestakov <av6@dwimlabs.net>
parents: 5816
diff changeset
445
056033a7689f fold: make sure to save commit messages in last-message.txt on rewrites
Anton Shestakov <av6@dwimlabs.net>
parents: 5816
diff changeset
446 Saving the last user-edited message in last-message.txt
056033a7689f fold: make sure to save commit messages in last-message.txt on rewrites
Anton Shestakov <av6@dwimlabs.net>
parents: 5816
diff changeset
447 https://bz.mercurial-scm.org/show_bug.cgi?id=6549
056033a7689f fold: make sure to save commit messages in last-message.txt on rewrites
Anton Shestakov <av6@dwimlabs.net>
parents: 5816
diff changeset
448
056033a7689f fold: make sure to save commit messages in last-message.txt on rewrites
Anton Shestakov <av6@dwimlabs.net>
parents: 5816
diff changeset
449 $ hg init issue6549
056033a7689f fold: make sure to save commit messages in last-message.txt on rewrites
Anton Shestakov <av6@dwimlabs.net>
parents: 5816
diff changeset
450 $ cd issue6549
056033a7689f fold: make sure to save commit messages in last-message.txt on rewrites
Anton Shestakov <av6@dwimlabs.net>
parents: 5816
diff changeset
451
056033a7689f fold: make sure to save commit messages in last-message.txt on rewrites
Anton Shestakov <av6@dwimlabs.net>
parents: 5816
diff changeset
452 $ echo A > foo
056033a7689f fold: make sure to save commit messages in last-message.txt on rewrites
Anton Shestakov <av6@dwimlabs.net>
parents: 5816
diff changeset
453 $ hg ci -qAm A
056033a7689f fold: make sure to save commit messages in last-message.txt on rewrites
Anton Shestakov <av6@dwimlabs.net>
parents: 5816
diff changeset
454 $ echo B > foo
056033a7689f fold: make sure to save commit messages in last-message.txt on rewrites
Anton Shestakov <av6@dwimlabs.net>
parents: 5816
diff changeset
455 $ hg ci -m B
056033a7689f fold: make sure to save commit messages in last-message.txt on rewrites
Anton Shestakov <av6@dwimlabs.net>
parents: 5816
diff changeset
456
056033a7689f fold: make sure to save commit messages in last-message.txt on rewrites
Anton Shestakov <av6@dwimlabs.net>
parents: 5816
diff changeset
457 $ cat > editor.sh << 'EOF'
056033a7689f fold: make sure to save commit messages in last-message.txt on rewrites
Anton Shestakov <av6@dwimlabs.net>
parents: 5816
diff changeset
458 > echo 'Big commit message that was crafted with care.' > "$1"
056033a7689f fold: make sure to save commit messages in last-message.txt on rewrites
Anton Shestakov <av6@dwimlabs.net>
parents: 5816
diff changeset
459 > echo '' >> "$1"
056033a7689f fold: make sure to save commit messages in last-message.txt on rewrites
Anton Shestakov <av6@dwimlabs.net>
parents: 5816
diff changeset
460 > echo 'It would be a shame if something happened to it.' >> "$1"
056033a7689f fold: make sure to save commit messages in last-message.txt on rewrites
Anton Shestakov <av6@dwimlabs.net>
parents: 5816
diff changeset
461 > EOF
056033a7689f fold: make sure to save commit messages in last-message.txt on rewrites
Anton Shestakov <av6@dwimlabs.net>
parents: 5816
diff changeset
462 $ HGEDITOR="sh ./editor.sh" hg fold --exact --rev 'all()'
056033a7689f fold: make sure to save commit messages in last-message.txt on rewrites
Anton Shestakov <av6@dwimlabs.net>
parents: 5816
diff changeset
463 2 changesets folded
056033a7689f fold: make sure to save commit messages in last-message.txt on rewrites
Anton Shestakov <av6@dwimlabs.net>
parents: 5816
diff changeset
464 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
056033a7689f fold: make sure to save commit messages in last-message.txt on rewrites
Anton Shestakov <av6@dwimlabs.net>
parents: 5816
diff changeset
465
056033a7689f fold: make sure to save commit messages in last-message.txt on rewrites
Anton Shestakov <av6@dwimlabs.net>
parents: 5816
diff changeset
466 $ hg glog
056033a7689f fold: make sure to save commit messages in last-message.txt on rewrites
Anton Shestakov <av6@dwimlabs.net>
parents: 5816
diff changeset
467 @ 2: Big commit message that was crafted with care.
056033a7689f fold: make sure to save commit messages in last-message.txt on rewrites
Anton Shestakov <av6@dwimlabs.net>
parents: 5816
diff changeset
468
056033a7689f fold: make sure to save commit messages in last-message.txt on rewrites
Anton Shestakov <av6@dwimlabs.net>
parents: 5816
diff changeset
469 It would be a shame if something happened to it.
056033a7689f fold: make sure to save commit messages in last-message.txt on rewrites
Anton Shestakov <av6@dwimlabs.net>
parents: 5816
diff changeset
470 $ cat .hg/last-message.txt
056033a7689f fold: make sure to save commit messages in last-message.txt on rewrites
Anton Shestakov <av6@dwimlabs.net>
parents: 5816
diff changeset
471 Big commit message that was crafted with care.
056033a7689f fold: make sure to save commit messages in last-message.txt on rewrites
Anton Shestakov <av6@dwimlabs.net>
parents: 5816
diff changeset
472
056033a7689f fold: make sure to save commit messages in last-message.txt on rewrites
Anton Shestakov <av6@dwimlabs.net>
parents: 5816
diff changeset
473 It would be a shame if something happened to it.
056033a7689f fold: make sure to save commit messages in last-message.txt on rewrites
Anton Shestakov <av6@dwimlabs.net>
parents: 5816
diff changeset
474
056033a7689f fold: make sure to save commit messages in last-message.txt on rewrites
Anton Shestakov <av6@dwimlabs.net>
parents: 5816
diff changeset
475 $ cd ..