site

(Pierre-Yves David)
2011-09-08: clone support

clone support

diff --git a/obsolete.py b/obsolete.py
--- a/obsolete.py
+++ b/obsolete.py
@@ -178,6 +178,11 @@ def reposetup(ui, repo):
             finally:
                 f.close()
 
+        ### local clone support
+
+        def cancopy(self):
+            return not bool(self._obsobjrels) # you can't copy if there is obsolete
+
         ### pull // push support
 
         def pull(self, remote, *args, **kwargs):
diff --git a/tests/test-obsolete.t b/tests/test-obsolete.t
--- a/tests/test-obsolete.t
+++ b/tests/test-obsolete.t
@@ -180,5 +180,26 @@ pushing to stuff that doesn't support ob
   0
   - 1f0dee641bb7
 
+clone support
 
+  $ hg clone . ../cloned
+  requesting all changes
+  adding changesets
+  adding manifests
+  adding file changes
+  added 8 changesets with 8 changes to 8 files (+4 heads)
+  updating to branch default
+  4 files updated, 0 files merged, 0 files removed, 0 files unresolved
 
+  $ qlog -R ../cloned
+  7
+  - 909a0fb57e5d
+  4
+  - 725c380fe99b
+  3
+  - 0d3f46688ccc
+  1
+  - 7c3bad9141dc
+  0
+  - 1f0dee641bb7
+