Show More
@@ -231,9 +231,12 b' class hgsubrepo(object):' | |||||
231 | self._get(state) |
|
231 | self._get(state) | |
232 | cur = self._repo['.'] |
|
232 | cur = self._repo['.'] | |
233 | dst = self._repo[state[1]] |
|
233 | dst = self._repo[state[1]] | |
234 |
|
|
234 | anc = dst.ancestor(cur) | |
|
235 | if anc == cur: | |||
235 | self._repo.ui.debug("updating subrepo %s\n" % self._path) |
|
236 | self._repo.ui.debug("updating subrepo %s\n" % self._path) | |
236 | hg.update(self._repo, state[1]) |
|
237 | hg.update(self._repo, state[1]) | |
|
238 | elif anc == dst: | |||
|
239 | self._repo.ui.debug("skipping subrepo %s\n" % self._path) | |||
237 | else: |
|
240 | else: | |
238 | self._repo.ui.debug("merging subrepo %s\n" % self._path) |
|
241 | self._repo.ui.debug("merging subrepo %s\n" % self._path) | |
239 | hg.merge(self._repo, state[1], remind=False) |
|
242 | hg.merge(self._repo, state[1], remind=False) |
@@ -109,4 +109,56 b' echo % bogus subrepo path aborts' | |||||
109 | echo 'bogus=[boguspath' >> .hgsub |
|
109 | echo 'bogus=[boguspath' >> .hgsub | |
110 | hg ci -m 'bogus subrepo path' |
|
110 | hg ci -m 'bogus subrepo path' | |
111 |
|
111 | |||
|
112 | echo % issue 1986 | |||
|
113 | cd .. | |||
|
114 | rm -rf sub | |||
|
115 | hg init main | |||
|
116 | cd main | |||
|
117 | ||||
|
118 | hg init s # subrepo layout | |||
|
119 | cd s # | |||
|
120 | echo a > a # o 5 br | |||
|
121 | hg ci -Am1 # /| | |||
|
122 | hg branch br # o | 4 default | |||
|
123 | echo a >> a # | | | |||
|
124 | hg ci -m1 # | o 3 br | |||
|
125 | hg up default # |/| | |||
|
126 | echo b > b # o | 2 default | |||
|
127 | hg ci -Am1 # | | | |||
|
128 | hg up br # | o 1 br | |||
|
129 | hg merge tip # |/ | |||
|
130 | hg ci -m1 # o 0 default | |||
|
131 | hg up 2 | |||
|
132 | echo c > c | |||
|
133 | hg ci -Am1 | |||
|
134 | hg up 3 | |||
|
135 | hg merge 4 | |||
|
136 | hg ci -m1 | |||
|
137 | ||||
|
138 | cd .. # main repo layout: | |||
|
139 | echo 's = s' > .hgsub # | |||
|
140 | hg -R s up 2 # * <-- try to merge default into br again | |||
|
141 | hg ci -Am1 # .`| | |||
|
142 | hg branch br # . o 5 br --> substate = 5 | |||
|
143 | echo b > b # . | | |||
|
144 | hg -R s up 3 # o | 4 default --> substate = 4 | |||
|
145 | hg ci -Am1 # | | | |||
|
146 | hg up default # | o 3 br --> substate = 2 | |||
|
147 | echo c > c # |/| | |||
|
148 | hg ci -Am1 # o | 2 default --> substate = 2 | |||
|
149 | hg up 1 # | | | |||
|
150 | hg merge 2 # | o 1 br --> substate = 3 | |||
|
151 | hg ci -m1 # |/ | |||
|
152 | hg up 2 # o 0 default --> substate = 2 | |||
|
153 | hg -R s up 4 | |||
|
154 | echo d > d | |||
|
155 | hg ci -Am1 | |||
|
156 | hg up 3 | |||
|
157 | hg -R s up 5 | |||
|
158 | echo e > e | |||
|
159 | hg ci -Am1 | |||
|
160 | ||||
|
161 | hg up 5 | |||
|
162 | hg merge 4 # try to merge default into br again | |||
|
163 | ||||
112 | exit 0 |
|
164 | exit 0 |
@@ -203,3 +203,43 b' 1 files updated, 0 files merged, 0 files' | |||||
203 | blah |
|
203 | blah | |
204 | % bogus subrepo path aborts |
|
204 | % bogus subrepo path aborts | |
205 | abort: missing ] in subrepo source |
|
205 | abort: missing ] in subrepo source | |
|
206 | % issue 1986 | |||
|
207 | adding a | |||
|
208 | marked working directory as branch br | |||
|
209 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |||
|
210 | adding b | |||
|
211 | created new head | |||
|
212 | 1 files updated, 0 files merged, 1 files removed, 0 files unresolved | |||
|
213 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |||
|
214 | (branch merge, don't forget to commit) | |||
|
215 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |||
|
216 | adding c | |||
|
217 | created new head | |||
|
218 | 1 files updated, 0 files merged, 1 files removed, 0 files unresolved | |||
|
219 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |||
|
220 | (branch merge, don't forget to commit) | |||
|
221 | 1 files updated, 0 files merged, 1 files removed, 0 files unresolved | |||
|
222 | adding .hgsub | |||
|
223 | committing subrepository s | |||
|
224 | marked working directory as branch br | |||
|
225 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |||
|
226 | adding b | |||
|
227 | committing subrepository s | |||
|
228 | 1 files updated, 0 files merged, 1 files removed, 0 files unresolved | |||
|
229 | adding c | |||
|
230 | created new head | |||
|
231 | 2 files updated, 0 files merged, 1 files removed, 0 files unresolved | |||
|
232 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |||
|
233 | (branch merge, don't forget to commit) | |||
|
234 | 1 files updated, 0 files merged, 1 files removed, 0 files unresolved | |||
|
235 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |||
|
236 | adding d | |||
|
237 | committing subrepository s | |||
|
238 | created new head | |||
|
239 | 2 files updated, 0 files merged, 1 files removed, 0 files unresolved | |||
|
240 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |||
|
241 | adding e | |||
|
242 | committing subrepository s | |||
|
243 | 0 files updated, 0 files merged, 0 files removed, 0 files unresolved | |||
|
244 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |||
|
245 | (branch merge, don't forget to commit) |
General Comments 0
You need to be logged in to leave comments.
Login now