summaryrefslogtreecommitdiffstats
path: root/third_party/python/python-hglib/hglib/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/python/python-hglib/hglib/__init__.py')
-rw-r--r--third_party/python/python-hglib/hglib/__init__.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/third_party/python/python-hglib/hglib/__init__.py b/third_party/python/python-hglib/hglib/__init__.py
new file mode 100644
index 0000000000..a522d33382
--- /dev/null
+++ b/third_party/python/python-hglib/hglib/__init__.py
@@ -0,0 +1,40 @@
+import subprocess
+from hglib import client, util, error
+
+HGPATH = 'hg'
+
+def open(path=None, encoding=None, configs=None):
+ '''starts a cmdserver for the given path (or for a repository found
+ in the cwd). HGENCODING is set to the given encoding. configs is a
+ list of key, value, similar to those passed to hg --config.
+ '''
+ return client.hgclient(path, encoding, configs)
+
+def init(dest=None, ssh=None, remotecmd=None, insecure=False,
+ encoding=None, configs=None):
+ args = util.cmdbuilder('init', dest, 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)
+
+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, uncompressed=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)