hgext/evolve.py
changeset 865 5c40b2a4b52f
parent 864 401da1b38cca
child 868 3ec90de03562
equal deleted inserted replaced
864:401da1b38cca 865:5c40b2a4b52f
  2217 def _buildpullobsmerkersboundaries(pullop):
  2217 def _buildpullobsmerkersboundaries(pullop):
  2218     """small funtion returning the argument for pull markers call
  2218     """small funtion returning the argument for pull markers call
  2219     may to contains 'heads' and 'common'. skip the key for None.
  2219     may to contains 'heads' and 'common'. skip the key for None.
  2220 
  2220 
  2221     Its a separed functio to play around with strategy for that."""
  2221     Its a separed functio to play around with strategy for that."""
  2222     return {'heads': pullop.pulledsubset}
  2222     repo = pullop.repo
       
  2223     cl = pullop.repo.changelog
       
  2224     remote = pullop.remote
       
  2225     unfi = repo.unfiltered()
       
  2226     revs = unfi.revs('::%ln', pullop.pulledsubset)
       
  2227     common = [nullid]
       
  2228     if remote.capable('_evoext_obshash_0'):
       
  2229         repo.ui.status("OBSEXC: looking for common markers in %i nodes\n"
       
  2230                        % len(revs))
       
  2231         common = findcommonobsmarkers(repo.ui, repo, remote, revs)
       
  2232     return {'heads': pullop.pulledsubset, 'common': common}
  2223 
  2233 
  2224 
  2234 
  2225 @eh.wrapfunction(exchange, '_pullobsolete')
  2235 @eh.wrapfunction(exchange, '_pullobsolete')
  2226 def _pullobsolete(orig, pullop):
  2236 def _pullobsolete(orig, pullop):
  2227     if not obsolete._enabled:
  2237     if not obsolete._enabled:
  2242         pullop.repo.obsstore.mergemarkers(tr, obsdata)
  2252         pullop.repo.obsstore.mergemarkers(tr, obsdata)
  2243         new = len(pullop.repo.obsstore._all) - old
  2253         new = len(pullop.repo.obsstore._all) - old
  2244         ui.status("OBSEXC: %i markers added\n" % new)
  2254         ui.status("OBSEXC: %i markers added\n" % new)
  2245         if new:
  2255         if new:
  2246             pullop.repo.invalidatevolatilesets()
  2256             pullop.repo.invalidatevolatilesets()
       
  2257     else:
       
  2258         ui.status("OBSEXC: no unknown remote markers\n")
  2247     ui.status("OBSEXC: DONE\n")
  2259     ui.status("OBSEXC: DONE\n")
  2248     return tr
  2260     return tr
  2249 
  2261 
  2250 def _getobsmarkersstream(repo, heads=None, common=None):
  2262 def _getobsmarkersstream(repo, heads=None, common=None):
  2251     revset = ''
  2263     revset = ''