Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/subrepo.py @ 9781:eccc8aacd6f9
subrepo: do a linear update when appropriate
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Sat, 07 Nov 2009 16:31:43 -0600 |
parents | 1ee085511b89 |
children | c1c40511c276 |
comparison
equal
deleted
inserted
replaced
9780:1ee085511b89 | 9781:eccc8aacd6f9 |
---|---|
198 source, revision = state | 198 source, revision = state |
199 hg.clean(self._repo, revision, False) | 199 hg.clean(self._repo, revision, False) |
200 | 200 |
201 def merge(self, state): | 201 def merge(self, state): |
202 self._get(state) | 202 self._get(state) |
203 hg.merge(self._repo, state[1], remind=False) | 203 cur = self._repo['.'] |
204 dst = self._repo[state[1]] | |
205 if dst.ancestor(cur) == cur: | |
206 hg.update(self._repo, state[1]) | |
207 else: | |
208 hg.merge(self._repo, state[1], remind=False) | |
204 | 209 |
205 def push(self, force): | 210 def push(self, force): |
206 # push subrepos depth-first for coherent ordering | 211 # push subrepos depth-first for coherent ordering |
207 c = self._repo[''] | 212 c = self._repo[''] |
208 subs = c.substate # only repos that are committed | 213 subs = c.substate # only repos that are committed |