phases: fix verify with secret csets stable
authorMatt Mackall <mpm@selenic.com>
Sun, 29 Jan 2012 13:36:10 -0600
branchstable
changeset 16018 ed9f40bc346f
parent 16017 2605fc990725
child 16019 eb85d5f89fef
child 16031 ccaa17c8f630
phases: fix verify with secret csets Verify uses repo.cancopy() to detect whether a repo is a plain old local repo, so it was giving a confusing error message when secret changesets were present.
mercurial/hg.py
mercurial/localrepo.py
--- a/mercurial/hg.py	Sun Jan 29 12:59:21 2012 -0600
+++ b/mercurial/hg.py	Sun Jan 29 13:36:10 2012 -0600
@@ -289,7 +289,7 @@
             dircleanup = DirCleanup(dest)
 
         copy = False
-        if srcrepo.cancopy() and islocal(dest):
+        if srcrepo.cancopy() and islocal(dest) and not srcrepo.revs("secret()"):
             copy = not pull and not rev
 
         if copy:
--- a/mercurial/localrepo.py	Sun Jan 29 12:59:21 2012 -0600
+++ b/mercurial/localrepo.py	Sun Jan 29 13:36:10 2012 -0600
@@ -637,10 +637,6 @@
     def local(self):
         return self
 
-    def cancopy(self):
-        return (repo.repository.cancopy(self)
-                and not self._phaseroots[phases.secret])
-
     def join(self, f):
         return os.path.join(self.path, f)