hgext/evolve.py
changeset 865 5c40b2a4b52f
parent 864 401da1b38cca
child 868 3ec90de03562
--- a/hgext/evolve.py	Wed Mar 05 15:09:07 2014 -0800
+++ b/hgext/evolve.py	Wed Mar 05 15:14:40 2014 -0800
@@ -2219,7 +2219,17 @@
     may to contains 'heads' and 'common'. skip the key for None.
 
     Its a separed functio to play around with strategy for that."""
-    return {'heads': pullop.pulledsubset}
+    repo = pullop.repo
+    cl = pullop.repo.changelog
+    remote = pullop.remote
+    unfi = repo.unfiltered()
+    revs = unfi.revs('::%ln', pullop.pulledsubset)
+    common = [nullid]
+    if remote.capable('_evoext_obshash_0'):
+        repo.ui.status("OBSEXC: looking for common markers in %i nodes\n"
+                       % len(revs))
+        common = findcommonobsmarkers(repo.ui, repo, remote, revs)
+    return {'heads': pullop.pulledsubset, 'common': common}
 
 
 @eh.wrapfunction(exchange, '_pullobsolete')
@@ -2244,6 +2254,8 @@
         ui.status("OBSEXC: %i markers added\n" % new)
         if new:
             pullop.repo.invalidatevolatilesets()
+    else:
+        ui.status("OBSEXC: no unknown remote markers\n")
     ui.status("OBSEXC: DONE\n")
     return tr