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