diff hglib/__init__.py @ 93:a4fcece7dd8e

hglib: add top level clone method
author Idan Kamara <idankk86@gmail.com>
date Thu, 22 Dec 2011 19:12:47 +0200
parents 07efbd3bd09a
children 1b47146a4a2c
line wrap: on
line diff
--- a/hglib/__init__.py	Thu Dec 22 19:12:47 2011 +0200
+++ b/hglib/__init__.py	Thu Dec 22 19:12:47 2011 +0200
@@ -20,3 +20,19 @@
         raise error.CommandError(args, proc.returncode, out, err)
 
     return client.hgclient(dest, encoding, configs, connect=False)
+
+def clone(source=None, dest=None, noupdate=False, updaterev=None, rev=None,
+          branch=None, pull=False, uncompressed=False, ssh=None, remotecmd=None,
+          insecure=False, encoding=None, configs=None):
+    args = util.cmdbuilder('clone', source, dest, noupdate=noupdate,
+                           updaterev=updaterev, rev=rev, branch=branch,
+                           pull=pull, uncompresses=uncompressed,
+                           e=ssh, remotecmd=remotecmd, insecure=insecure)
+
+    args.insert(0, HGPATH)
+    proc = util.popen(args)
+    out, err = proc.communicate()
+    if proc.returncode:
+        raise error.CommandError(args, proc.returncode, out, err)
+
+    return client.hgclient(dest, encoding, configs, connect=False)