mercurial/subrepo.py
changeset 9781 eccc8aacd6f9
parent 9780 1ee085511b89
child 9782 c1c40511c276
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