|
1 Testing the config option for rejecting draft changeset without topic |
|
2 The config option is "experimental.topic-mode.server" |
|
3 |
|
4 $ . "$TESTDIR/testlib/topic_setup.sh" |
|
5 |
|
6 Creating a server repo |
|
7 |
|
8 $ hg init server |
|
9 $ cd server |
|
10 $ cat <<EOF >>.hg/hgrc |
|
11 > [phases] |
|
12 > publish=False |
|
13 > [experimental] |
|
14 > topic-mode.server = enforce |
|
15 > EOF |
|
16 |
|
17 $ hg topic server |
|
18 marked working directory as topic: server |
|
19 $ for ch in a b c; do echo foo > $ch; hg ci -Aqm "Added "$ch; done |
|
20 |
|
21 $ hg log -G -T "{rev}:{node|short}\n{desc} {topics}" |
|
22 @ 2:a7b96f87a214 |
|
23 | Added c server |
|
24 o 1:d6a8197e192a |
|
25 | Added b server |
|
26 o 0:49a3f206c9ae |
|
27 Added a server |
|
28 |
|
29 $ cd .. |
|
30 |
|
31 Creating a client repo |
|
32 |
|
33 $ hg clone server client |
|
34 updating to branch default |
|
35 switching to topic server |
|
36 3 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
37 $ cd client |
|
38 $ hg log -G -T "{rev}:{node|short}\n{desc} {topics}" |
|
39 @ 2:a7b96f87a214 |
|
40 | Added c server |
|
41 o 1:d6a8197e192a |
|
42 | Added b server |
|
43 o 0:49a3f206c9ae |
|
44 Added a server |
|
45 |
|
46 $ hg topic |
|
47 * server (3 changesets) |
|
48 |
|
49 Create a changeset without topic |
|
50 |
|
51 $ hg topic --clear |
|
52 $ echo foo > d |
|
53 $ hg ci -Aqm "added d" |
|
54 |
|
55 $ hg log -G -T "{rev}:{node|short}\n{desc} {topics}" |
|
56 @ 3:4e8b0e0237c6 |
|
57 | added d |
|
58 o 2:a7b96f87a214 |
|
59 | Added c server |
|
60 o 1:d6a8197e192a |
|
61 | Added b server |
|
62 o 0:49a3f206c9ae |
|
63 Added a server |
|
64 |
|
65 Push a draft changeset without topic |
|
66 |
|
67 $ hg push ../server --new-branch |
|
68 pushing to ../server |
|
69 searching for changes |
|
70 adding changesets |
|
71 adding manifests |
|
72 adding file changes |
|
73 added 1 changesets with 1 changes to 1 files |
|
74 transaction abort! |
|
75 rollback completed |
|
76 abort: rejecting draft changesets: 4e8b0e0237 |
|
77 [255] |
|
78 |
|
79 $ hg push ../server -f |
|
80 pushing to ../server |
|
81 searching for changes |
|
82 adding changesets |
|
83 adding manifests |
|
84 adding file changes |
|
85 added 1 changesets with 1 changes to 1 files |
|
86 transaction abort! |
|
87 rollback completed |
|
88 abort: rejecting draft changesets: 4e8b0e0237 |
|
89 [255] |
|
90 |
|
91 Grow the stack with more changesets having topic |
|
92 |
|
93 $ hg topic client |
|
94 marked working directory as topic: client |
|
95 $ for ch in e f g; do echo foo > $ch; hg ci -Aqm "Added "$ch; done; |
|
96 |
|
97 $ hg log -G -T "{rev}:{node|short}\n{desc} {topics}" |
|
98 @ 6:42c4ac86452a |
|
99 | Added g client |
|
100 o 5:3dc456efb491 |
|
101 | Added f client |
|
102 o 4:18a516babc60 |
|
103 | Added e client |
|
104 o 3:4e8b0e0237c6 |
|
105 | added d |
|
106 o 2:a7b96f87a214 |
|
107 | Added c server |
|
108 o 1:d6a8197e192a |
|
109 | Added b server |
|
110 o 0:49a3f206c9ae |
|
111 Added a server |
|
112 |
|
113 Pushing multiple changeset with some having topics and some not |
|
114 |
|
115 $ hg push ../server --new-branch |
|
116 pushing to ../server |
|
117 searching for changes |
|
118 adding changesets |
|
119 adding manifests |
|
120 adding file changes |
|
121 added 4 changesets with 4 changes to 4 files |
|
122 transaction abort! |
|
123 rollback completed |
|
124 abort: rejecting draft changesets: 4e8b0e0237 |
|
125 [255] |
|
126 |
|
127 Testing case when both experimental.topic-mode.server and |
|
128 experimental.topic.publish-bare-branch are set |
|
129 |
|
130 $ cd ../server |
|
131 $ echo 'topic.publish-bare-branch=True' >> .hg/hgrc |
|
132 $ cd ../client |
|
133 $ hg push ../server --new-branch |
|
134 pushing to ../server |
|
135 searching for changes |
|
136 adding changesets |
|
137 adding manifests |
|
138 adding file changes |
|
139 added 4 changesets with 4 changes to 4 files |
|
140 transaction abort! |
|
141 rollback completed |
|
142 abort: rejecting draft changesets: 4e8b0e0237 |
|
143 [255] |
|
144 |
|
145 Turning the changeset public and testing push |
|
146 |
|
147 $ hg phase -r 3 -p |
|
148 $ hg log -G -T "{rev}:{node|short}\n{desc} {topics}" |
|
149 @ 6:42c4ac86452a |
|
150 | Added g client |
|
151 o 5:3dc456efb491 |
|
152 | Added f client |
|
153 o 4:18a516babc60 |
|
154 | Added e client |
|
155 o 3:4e8b0e0237c6 |
|
156 | added d |
|
157 o 2:a7b96f87a214 |
|
158 | Added c |
|
159 o 1:d6a8197e192a |
|
160 | Added b |
|
161 o 0:49a3f206c9ae |
|
162 Added a |
|
163 |
|
164 $ hg push ../server |
|
165 pushing to ../server |
|
166 searching for changes |
|
167 adding changesets |
|
168 adding manifests |
|
169 adding file changes |
|
170 added 4 changesets with 4 changes to 4 files |
|
171 active topic 'server' is now empty |