Mercurial > python-hglib
comparison hglib/__init__.py @ 60:ce516ed9bc0d
hglib: add init command
There's not much value to adding this to hgclient since that will require a
repo in the first place. Instead we're providing this as a top level function
so users don't have to create a repo by themselves.
author | Idan Kamara <idankk86@gmail.com> |
---|---|
date | Fri, 19 Aug 2011 20:15:03 +0300 |
parents | f4cc7ff53cf8 |
children | d1f57f162274 |
comparison
equal
deleted
inserted
replaced
59:f4cc7ff53cf8 | 60:ce516ed9bc0d |
---|---|
1 import client | 1 import client, subprocess, util, error |
2 | 2 |
3 HGPATH = 'hg' | 3 HGPATH = 'hg' |
4 | 4 |
5 def open(path=None, encoding=None, configs=None): | 5 def open(path=None, encoding=None, configs=None): |
6 ''' starts a cmdserver for the given path (or for a repository found in the | 6 ''' starts a cmdserver for the given path (or for a repository found in the |
7 cwd). HGENCODING is set to the given encoding. configs is a list of key, value, | 7 cwd). HGENCODING is set to the given encoding. configs is a list of key, value, |
8 similar to those passed to hg --config. ''' | 8 similar to those passed to hg --config. ''' |
9 return client.hgclient(path, encoding, configs) | 9 return client.hgclient(path, encoding, configs) |
10 | |
11 def init(dest=None, ssh=None, remotecmd=None, insecure=False, | |
12 encoding=None, configs=None): | |
13 args = util.cmdbuilder('init', dest, e=ssh, remotecmd=remotecmd, | |
14 insecure=insecure) | |
15 | |
16 args.insert(0, HGPATH) | |
17 proc = subprocess.Popen(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE) | |
18 | |
19 out, err = proc.communicate() | |
20 if proc.returncode: | |
21 raise error.CommandError(args, proc.returncode, out, err) | |
22 | |
23 return open(dest, encoding, configs) |