diff -r 2605fc990725 -r ed9f40bc346f mercurial/hg.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: