streamclone: add explicit check for empty local repo
authorGregory Szorc <gregory.szorc@gmail.com>
Fri, 02 Oct 2015 21:53:25 -0700
changeset 26447 591088f7028a
parent 26446 3ea10bb761ce
child 26448 e05fd574c922
streamclone: add explicit check for empty local repo Stream clone doesn't work with non-empty local repositories. In upcoming patches, we'll move stream cloning to the regular pull code path. Add an explicit check on the repository being empty to prevent streaming clones to non-empty repos.
mercurial/streamclone.py
--- a/mercurial/streamclone.py	Fri Oct 02 22:22:11 2015 -0700
+++ b/mercurial/streamclone.py	Fri Oct 02 21:53:25 2015 -0700
@@ -25,6 +25,10 @@
     a set of repo requirements from the remote, or ``None`` if stream clone
     isn't supported.
     """
+    # Streaming clone only works on empty repositories.
+    if len(repo):
+        return False, None
+
     # Streaming clone only works if all data is being requested.
     if heads:
         return False, None