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)