Mercurial > hg
annotate tests/test-newbranch.t @ 26750:9f9ec4abe700
cmdutil: make in-memory changes visible to external editor (issue4378)
Before this patch, external editor process for the commit log can't
view some in-memory changes (especially, of dirstate), because they
aren't written out until the end of transaction (or wlock).
This causes unexpected output of Mercurial commands spawned from that
editor process.
To make in-memory changes visible to external editor process, this
patch does:
- write (or schedule to write) in-memory dirstate changes, and
- set HG_PENDING environment variable, if:
- a transaction is running, and
- there are in-memory changes to be visible
"hg diff" spawned from external editor process for "hg qrefresh"
shows:
- "changes newly imported into the topmost" before 49148d7868df(*)
- "all changes recorded in the topmost by refreshing" after this patch
(*) 49148d7868df changed steps invoking editor process
Even though backward compatibility may be broken, the latter behavior
looks reasonable, because "hg diff" spawned from the editor process
consistently shows "what changes new revision records" regardless of
invocation context.
In fact, issue4378 itself should be resolved by 800e090e9c64, which
made 'repo.transaction()' write in-memory dirstate changes out
explicitly before starting transaction. It also made "hg qrefresh"
imply 'dirstate.write()' before external editor invocation in call
chain below.
- mq.queue.refresh
- strip.strip
- repair.strip
- localrepository.transaction
- dirstate.write
- localrepository.commit
- invoke external editor
Though, this patch has '(issue4378)' in own summary line to indicate
that issues like issue4378 should be fixed by this.
BTW, this patch adds '-m' option to a 'hg ci --amend' execution in
'test-commit-amend.t', to avoid invoking external editor process.
In this case, "unsure" states may be changed to "clean" according to
timestamp or so on. These changes should be written into pending file,
if external editor invocation is required,
Then, writing dirstate changes out breaks stability of test, because
it shows "transaction abort!/rollback completed" occasionally.
Aborting after editor process invocation while commands below may
cause similar instability of tests, too (AFAIK, there is no more such
one, at this revision)
- commit --amend
- without --message/--logfile
- import
- without --message/--logfile,
- without --no-commit,
- without --bypass,
- one of below, and
- patch has no description text, or
- with --edit
- aborting at the 1st patch, which adds or removes file(s)
- if it only changes existing files, status is checked only for
changed files by 'scmutil.matchfiles()', and transition from
"unsure" to "normal" in dirstate doesn't occur (= dirstate
isn't changed, and written out)
- aborting at the 2nd or later patch implies other pending
changes (e.g. changelog), and always causes showing
"transaction abort!/rollback completed"
author | FUJIWARA Katsunori <foozy@lares.dti.ne.jp> |
---|---|
date | Sat, 17 Oct 2015 01:15:34 +0900 |
parents | 701df761aa94 |
children | e1dd0de26557 |
rev | line source |
---|---|
20185
7d4219512823
branchmap: cache open/closed branch head information
Brodie Rao <brodie@sf.io>
parents:
18382
diff
changeset
|
1 $ branchcache=.hg/cache/branch2 |
3420
2576b6731524
Add some basic branch name tests
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
2 |
18234
a55b06885cda
branchmap: allow to use cache of subset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18166
diff
changeset
|
3 $ listbranchcaches() { |
20185
7d4219512823
branchmap: cache open/closed branch head information
Brodie Rao <brodie@sf.io>
parents:
18382
diff
changeset
|
4 > for f in .hg/cache/branch2*; |
18234
a55b06885cda
branchmap: allow to use cache of subset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18166
diff
changeset
|
5 > do echo === $f ===; |
a55b06885cda
branchmap: allow to use cache of subset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18166
diff
changeset
|
6 > cat $f; |
a55b06885cda
branchmap: allow to use cache of subset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18166
diff
changeset
|
7 > done; |
a55b06885cda
branchmap: allow to use cache of subset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18166
diff
changeset
|
8 > } |
a55b06885cda
branchmap: allow to use cache of subset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18166
diff
changeset
|
9 $ purgebranchcaches() { |
20185
7d4219512823
branchmap: cache open/closed branch head information
Brodie Rao <brodie@sf.io>
parents:
18382
diff
changeset
|
10 > rm .hg/cache/branch2* |
18234
a55b06885cda
branchmap: allow to use cache of subset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18166
diff
changeset
|
11 > } |
a55b06885cda
branchmap: allow to use cache of subset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18166
diff
changeset
|
12 |
12279 | 13 $ hg init t |
14 $ cd t | |
6160
3ee3bc5d06c5
tests: hide the name of the branch cache file
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
5988
diff
changeset
|
15 |
12279 | 16 $ hg branches |
17 $ echo foo > a | |
18 $ hg add a | |
19 $ hg ci -m "initial" | |
20 $ hg branch foo | |
21 marked working directory as branch foo | |
15615 | 22 (branches are permanent and global, did you want a bookmark?) |
12279 | 23 $ hg branch |
24 foo | |
25 $ hg ci -m "add branch name" | |
26 $ hg branch bar | |
27 marked working directory as branch bar | |
28 $ hg ci -m "change branch name" | |
29 | |
30 Branch shadowing: | |
31 | |
32 $ hg branch default | |
14198
8f11fd321014
commands: use util.Abort's hint some more
Martin Geisler <mg@aragost.com>
parents:
14162
diff
changeset
|
33 abort: a branch of the same name already exists |
8f11fd321014
commands: use util.Abort's hint some more
Martin Geisler <mg@aragost.com>
parents:
14162
diff
changeset
|
34 (use 'hg update' to switch to it) |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12279
diff
changeset
|
35 [255] |
12279 | 36 |
37 $ hg branch -f default | |
38 marked working directory as branch default | |
3420
2576b6731524
Add some basic branch name tests
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
39 |
12279 | 40 $ hg ci -m "clear branch name" |
41 created new head | |
42 | |
43 There should be only one default branch head | |
44 | |
45 $ hg heads . | |
14162
301725c3df9a
localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
13550
diff
changeset
|
46 changeset: 3:1c28f494dae6 |
12279 | 47 tag: tip |
48 user: test | |
49 date: Thu Jan 01 00:00:00 1970 +0000 | |
50 summary: clear branch name | |
51 | |
22363
9510b0e9480b
tests: improve test coverage of branch command and existing branches
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
52 Merging and branches |
3420
2576b6731524
Add some basic branch name tests
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
53 |
12279 | 54 $ hg co foo |
55 0 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
56 $ hg branch | |
57 foo | |
22363
9510b0e9480b
tests: improve test coverage of branch command and existing branches
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
58 |
9510b0e9480b
tests: improve test coverage of branch command and existing branches
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
59 set existing branch name fails unless force - setting existing parent branch works without force: |
9510b0e9480b
tests: improve test coverage of branch command and existing branches
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
60 |
9510b0e9480b
tests: improve test coverage of branch command and existing branches
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
61 $ hg branch bar |
9510b0e9480b
tests: improve test coverage of branch command and existing branches
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
62 abort: a branch of the same name already exists |
9510b0e9480b
tests: improve test coverage of branch command and existing branches
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
63 (use 'hg update' to switch to it) |
9510b0e9480b
tests: improve test coverage of branch command and existing branches
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
64 [255] |
9510b0e9480b
tests: improve test coverage of branch command and existing branches
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
65 |
9510b0e9480b
tests: improve test coverage of branch command and existing branches
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
66 $ hg branch -f bar |
9510b0e9480b
tests: improve test coverage of branch command and existing branches
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
67 marked working directory as branch bar |
9510b0e9480b
tests: improve test coverage of branch command and existing branches
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
68 |
9510b0e9480b
tests: improve test coverage of branch command and existing branches
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
69 $ hg branch foo |
9510b0e9480b
tests: improve test coverage of branch command and existing branches
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
70 marked working directory as branch foo |
9510b0e9480b
tests: improve test coverage of branch command and existing branches
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
71 |
12279 | 72 $ echo bleah > a |
73 $ hg ci -m "modify a branch" | |
74 | |
75 $ hg merge default | |
76 0 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
77 (branch merge, don't forget to commit) | |
78 | |
79 $ hg branch | |
80 foo | |
22363
9510b0e9480b
tests: improve test coverage of branch command and existing branches
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
81 |
9510b0e9480b
tests: improve test coverage of branch command and existing branches
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
82 set existing branch name where branch head is ancestor: |
9510b0e9480b
tests: improve test coverage of branch command and existing branches
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
83 |
9510b0e9480b
tests: improve test coverage of branch command and existing branches
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
84 $ hg branch bar |
9510b0e9480b
tests: improve test coverage of branch command and existing branches
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
85 abort: a branch of the same name already exists |
9510b0e9480b
tests: improve test coverage of branch command and existing branches
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
86 (use 'hg update' to switch to it) |
9510b0e9480b
tests: improve test coverage of branch command and existing branches
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
87 [255] |
9510b0e9480b
tests: improve test coverage of branch command and existing branches
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
88 |
9510b0e9480b
tests: improve test coverage of branch command and existing branches
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
89 set (other) parent branch as branch name |
9510b0e9480b
tests: improve test coverage of branch command and existing branches
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
90 |
9510b0e9480b
tests: improve test coverage of branch command and existing branches
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
91 $ hg branch default |
9510b0e9480b
tests: improve test coverage of branch command and existing branches
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
92 marked working directory as branch default |
9510b0e9480b
tests: improve test coverage of branch command and existing branches
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
93 |
9510b0e9480b
tests: improve test coverage of branch command and existing branches
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
94 set (first) parent branch as branch name |
9510b0e9480b
tests: improve test coverage of branch command and existing branches
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
95 |
9510b0e9480b
tests: improve test coverage of branch command and existing branches
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
96 $ hg branch foo |
9510b0e9480b
tests: improve test coverage of branch command and existing branches
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
97 marked working directory as branch foo |
9510b0e9480b
tests: improve test coverage of branch command and existing branches
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
98 |
12279 | 99 $ hg ci -m "merge" |
8954
e67e5b60e55f
Branch heads should not include "heads" that are ancestors of other heads.
Brendan Cully <brendan@kublai.com>
parents:
7654
diff
changeset
|
100 |
22363
9510b0e9480b
tests: improve test coverage of branch command and existing branches
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
101 $ hg log -G -T '{rev}:{node|short} {branch} {desc}\n' |
9510b0e9480b
tests: improve test coverage of branch command and existing branches
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
102 @ 5:530046499edf foo merge |
9510b0e9480b
tests: improve test coverage of branch command and existing branches
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
103 |\ |
9510b0e9480b
tests: improve test coverage of branch command and existing branches
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
104 | o 4:adf1a74a7f7b foo modify a branch |
9510b0e9480b
tests: improve test coverage of branch command and existing branches
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
105 | | |
9510b0e9480b
tests: improve test coverage of branch command and existing branches
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
106 o | 3:1c28f494dae6 default clear branch name |
9510b0e9480b
tests: improve test coverage of branch command and existing branches
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
107 | | |
9510b0e9480b
tests: improve test coverage of branch command and existing branches
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
108 o | 2:c21617b13b22 bar change branch name |
9510b0e9480b
tests: improve test coverage of branch command and existing branches
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
109 |/ |
9510b0e9480b
tests: improve test coverage of branch command and existing branches
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
110 o 1:6c0e42da283a foo add branch name |
9510b0e9480b
tests: improve test coverage of branch command and existing branches
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
111 | |
9510b0e9480b
tests: improve test coverage of branch command and existing branches
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
112 o 0:db01e8ea3388 default initial |
12279 | 113 |
114 $ hg branches | |
14162
301725c3df9a
localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
13550
diff
changeset
|
115 foo 5:530046499edf |
301725c3df9a
localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
13550
diff
changeset
|
116 default 3:1c28f494dae6 (inactive) |
301725c3df9a
localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
13550
diff
changeset
|
117 bar 2:c21617b13b22 (inactive) |
3420
2576b6731524
Add some basic branch name tests
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
118 |
12279 | 119 $ hg branches -q |
120 foo | |
121 default | |
122 bar | |
3420
2576b6731524
Add some basic branch name tests
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
123 |
12279 | 124 Test for invalid branch cache: |
3502
8dc14d630b29
add branch and branches commands
Matt Mackall <mpm@selenic.com>
parents:
3451
diff
changeset
|
125 |
12279 | 126 $ hg rollback |
13446
1e497df514e2
rollback: clarifies the message about the reverted state (issue2628)
Gilles Moris <gilles.moris@free.fr>
parents:
13272
diff
changeset
|
127 repository tip rolled back to revision 4 (undo commit) |
13455
053c042118bc
rollback, i18n: avoid parameterized message
Wagner Bruna <wbruna@softwareexpress.com.br>
parents:
13446
diff
changeset
|
128 working directory now based on revisions 4 and 3 |
12279 | 129 |
18382
f3b21beb9802
filtering: rename filters to their antonyms
Kevin Bullock <kbullock@ringworld.org>
parents:
18357
diff
changeset
|
130 $ cp ${branchcache}-served .hg/bc-invalid |
12279 | 131 |
132 $ hg log -r foo | |
14162
301725c3df9a
localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
13550
diff
changeset
|
133 changeset: 4:adf1a74a7f7b |
12279 | 134 branch: foo |
135 tag: tip | |
14162
301725c3df9a
localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
13550
diff
changeset
|
136 parent: 1:6c0e42da283a |
12279 | 137 user: test |
138 date: Thu Jan 01 00:00:00 1970 +0000 | |
139 summary: modify a branch | |
140 | |
141 $ cp .hg/bc-invalid $branchcache | |
4175
fc12ac3755d5
Test update to branch tip
Brendan Cully <brendan@kublai.com>
parents:
4169
diff
changeset
|
142 |
12279 | 143 $ hg --debug log -r foo |
14162
301725c3df9a
localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
13550
diff
changeset
|
144 changeset: 4:adf1a74a7f7b4cd193d12992f5d0d6a004ed21d6 |
12279 | 145 branch: foo |
146 tag: tip | |
15907
51fc43253a52
changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
15615
diff
changeset
|
147 phase: draft |
14162
301725c3df9a
localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
13550
diff
changeset
|
148 parent: 1:6c0e42da283a56b5edc5b4fadb491365ec7f5fa8 |
12279 | 149 parent: -1:0000000000000000000000000000000000000000 |
14162
301725c3df9a
localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
13550
diff
changeset
|
150 manifest: 1:8c342a37dfba0b3d3ce073562a00d8a813c54ffe |
12279 | 151 user: test |
152 date: Thu Jan 01 00:00:00 1970 +0000 | |
153 files: a | |
154 extra: branch=foo | |
155 description: | |
156 modify a branch | |
157 | |
158 | |
18234
a55b06885cda
branchmap: allow to use cache of subset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18166
diff
changeset
|
159 $ purgebranchcaches |
12279 | 160 $ echo corrupted > $branchcache |
161 | |
162 $ hg log -qr foo | |
14162
301725c3df9a
localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
13550
diff
changeset
|
163 4:adf1a74a7f7b |
12279 | 164 |
18234
a55b06885cda
branchmap: allow to use cache of subset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18166
diff
changeset
|
165 $ listbranchcaches |
20185
7d4219512823
branchmap: cache open/closed branch head information
Brodie Rao <brodie@sf.io>
parents:
18382
diff
changeset
|
166 === .hg/cache/branch2 === |
18234
a55b06885cda
branchmap: allow to use cache of subset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18166
diff
changeset
|
167 corrupted |
20185
7d4219512823
branchmap: cache open/closed branch head information
Brodie Rao <brodie@sf.io>
parents:
18382
diff
changeset
|
168 === .hg/cache/branch2-served === |
14162
301725c3df9a
localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
13550
diff
changeset
|
169 adf1a74a7f7b4cd193d12992f5d0d6a004ed21d6 4 |
20185
7d4219512823
branchmap: cache open/closed branch head information
Brodie Rao <brodie@sf.io>
parents:
18382
diff
changeset
|
170 c21617b13b220988e7a2e26290fbe4325ffa7139 o bar |
7d4219512823
branchmap: cache open/closed branch head information
Brodie Rao <brodie@sf.io>
parents:
18382
diff
changeset
|
171 1c28f494dae69a2f8fc815059d257eccf3fcfe75 o default |
7d4219512823
branchmap: cache open/closed branch head information
Brodie Rao <brodie@sf.io>
parents:
18382
diff
changeset
|
172 adf1a74a7f7b4cd193d12992f5d0d6a004ed21d6 o foo |
12279 | 173 |
174 Push should update the branch cache: | |
175 | |
176 $ hg init ../target | |
177 | |
178 Pushing just rev 0: | |
179 | |
180 $ hg push -qr 0 ../target | |
5988
ee317dbfb9d0
update the branch cache at the end of addchangegroup
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4410
diff
changeset
|
181 |
18234
a55b06885cda
branchmap: allow to use cache of subset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18166
diff
changeset
|
182 $ (cd ../target/; listbranchcaches) |
20185
7d4219512823
branchmap: cache open/closed branch head information
Brodie Rao <brodie@sf.io>
parents:
18382
diff
changeset
|
183 === .hg/cache/branch2-base === |
12279 | 184 db01e8ea3388fd3c7c94e1436ea2bd6a53d581c5 0 |
20185
7d4219512823
branchmap: cache open/closed branch head information
Brodie Rao <brodie@sf.io>
parents:
18382
diff
changeset
|
185 db01e8ea3388fd3c7c94e1436ea2bd6a53d581c5 o default |
12279 | 186 |
187 Pushing everything: | |
188 | |
189 $ hg push -qf ../target | |
190 | |
18234
a55b06885cda
branchmap: allow to use cache of subset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18166
diff
changeset
|
191 $ (cd ../target/; listbranchcaches) |
20185
7d4219512823
branchmap: cache open/closed branch head information
Brodie Rao <brodie@sf.io>
parents:
18382
diff
changeset
|
192 === .hg/cache/branch2-base === |
14162
301725c3df9a
localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
13550
diff
changeset
|
193 adf1a74a7f7b4cd193d12992f5d0d6a004ed21d6 4 |
20185
7d4219512823
branchmap: cache open/closed branch head information
Brodie Rao <brodie@sf.io>
parents:
18382
diff
changeset
|
194 c21617b13b220988e7a2e26290fbe4325ffa7139 o bar |
7d4219512823
branchmap: cache open/closed branch head information
Brodie Rao <brodie@sf.io>
parents:
18382
diff
changeset
|
195 1c28f494dae69a2f8fc815059d257eccf3fcfe75 o default |
7d4219512823
branchmap: cache open/closed branch head information
Brodie Rao <brodie@sf.io>
parents:
18382
diff
changeset
|
196 adf1a74a7f7b4cd193d12992f5d0d6a004ed21d6 o foo |
12279 | 197 |
198 Update with no arguments: tipmost revision of the current branch: | |
199 | |
200 $ hg up -q -C 0 | |
201 $ hg up -q | |
202 $ hg id | |
14162
301725c3df9a
localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
13550
diff
changeset
|
203 1c28f494dae6 |
12279 | 204 |
205 $ hg up -q 1 | |
206 $ hg up -q | |
207 $ hg id | |
14162
301725c3df9a
localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
13550
diff
changeset
|
208 adf1a74a7f7b (foo) tip |
12279 | 209 |
210 $ hg branch foobar | |
211 marked working directory as branch foobar | |
212 | |
213 $ hg up | |
214 abort: branch foobar not found | |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12279
diff
changeset
|
215 [255] |
12279 | 216 |
21024
7731a2281cf0
spelling: fixes from spell checker
Mads Kiilerich <madski@unity3d.com>
parents:
20185
diff
changeset
|
217 Fast-forward merge: |
12279 | 218 |
219 $ hg branch ff | |
220 marked working directory as branch ff | |
4231
83153299aab5
avoid a traceback with hg branch newbranch; hg up
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4179
diff
changeset
|
221 |
12279 | 222 $ echo ff > ff |
223 $ hg ci -Am'fast forward' | |
224 adding ff | |
225 | |
226 $ hg up foo | |
227 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
228 | |
229 $ hg merge ff | |
230 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
231 (branch merge, don't forget to commit) | |
4410
bbc97d419b16
Add fast-forward branch merging
Brendan Cully <brendan@kublai.com>
parents:
4232
diff
changeset
|
232 |
12279 | 233 $ hg branch |
234 foo | |
235 $ hg commit -m'Merge ff into foo' | |
236 $ hg parents | |
14162
301725c3df9a
localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
13550
diff
changeset
|
237 changeset: 6:185ffbfefa30 |
12279 | 238 branch: foo |
239 tag: tip | |
14162
301725c3df9a
localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
13550
diff
changeset
|
240 parent: 4:adf1a74a7f7b |
301725c3df9a
localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
13550
diff
changeset
|
241 parent: 5:1a3c27dc5e11 |
12279 | 242 user: test |
243 date: Thu Jan 01 00:00:00 1970 +0000 | |
244 summary: Merge ff into foo | |
245 | |
246 $ hg manifest | |
247 a | |
248 ff | |
249 | |
250 | |
251 Test merging, add 3 default heads and one test head: | |
252 | |
253 $ cd .. | |
254 $ hg init merges | |
255 $ cd merges | |
256 $ echo a > a | |
257 $ hg ci -Ama | |
258 adding a | |
259 | |
260 $ echo b > b | |
261 $ hg ci -Amb | |
262 adding b | |
6723
1fe6f365df2e
merge: only in-branch merges can be implicit
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
6160
diff
changeset
|
263 |
12279 | 264 $ hg up 0 |
265 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
266 $ echo c > c | |
267 $ hg ci -Amc | |
268 adding c | |
269 created new head | |
6723
1fe6f365df2e
merge: only in-branch merges can be implicit
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
6160
diff
changeset
|
270 |
12279 | 271 $ hg up 0 |
272 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
273 $ echo d > d | |
274 $ hg ci -Amd | |
275 adding d | |
276 created new head | |
6723
1fe6f365df2e
merge: only in-branch merges can be implicit
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
6160
diff
changeset
|
277 |
12279 | 278 $ hg up 0 |
279 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
280 $ hg branch test | |
281 marked working directory as branch test | |
15615 | 282 (branches are permanent and global, did you want a bookmark?) |
12279 | 283 $ echo e >> e |
284 $ hg ci -Ame | |
285 adding e | |
6723
1fe6f365df2e
merge: only in-branch merges can be implicit
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
6160
diff
changeset
|
286 |
12279 | 287 $ hg log |
288 changeset: 4:3a1e01ed1df4 | |
289 branch: test | |
290 tag: tip | |
291 parent: 0:cb9a9f314b8b | |
292 user: test | |
293 date: Thu Jan 01 00:00:00 1970 +0000 | |
294 summary: e | |
295 | |
296 changeset: 3:980f7dc84c29 | |
297 parent: 0:cb9a9f314b8b | |
298 user: test | |
299 date: Thu Jan 01 00:00:00 1970 +0000 | |
300 summary: d | |
301 | |
302 changeset: 2:d36c0562f908 | |
303 parent: 0:cb9a9f314b8b | |
304 user: test | |
305 date: Thu Jan 01 00:00:00 1970 +0000 | |
306 summary: c | |
307 | |
308 changeset: 1:d2ae7f538514 | |
309 user: test | |
310 date: Thu Jan 01 00:00:00 1970 +0000 | |
311 summary: b | |
312 | |
313 changeset: 0:cb9a9f314b8b | |
314 user: test | |
315 date: Thu Jan 01 00:00:00 1970 +0000 | |
316 summary: a | |
317 | |
318 Implicit merge with test branch as parent: | |
6723
1fe6f365df2e
merge: only in-branch merges can be implicit
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
6160
diff
changeset
|
319 |
12279 | 320 $ hg merge |
321 abort: branch 'test' has one head - please merge with an explicit rev | |
322 (run 'hg heads' to see all heads) | |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12279
diff
changeset
|
323 [255] |
12279 | 324 $ hg up -C default |
325 1 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
326 | |
327 Implicit merge with default branch as parent: | |
328 | |
329 $ hg merge | |
330 abort: branch 'default' has 3 heads - please merge with an explicit rev | |
331 (run 'hg heads .' to see heads) | |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12279
diff
changeset
|
332 [255] |
12279 | 333 |
334 3 branch heads, explicit merge required: | |
335 | |
336 $ hg merge 2 | |
337 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
338 (branch merge, don't forget to commit) | |
339 $ hg ci -m merge | |
340 | |
341 2 branch heads, implicit merge works: | |
342 | |
343 $ hg merge | |
344 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
345 (branch merge, don't forget to commit) | |
346 | |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
15907
diff
changeset
|
347 $ cd .. |