Mercurial > python-hglib
annotate hglib/__init__.py @ 62:d1f57f162274
closefds on posix when using subprocess
see added test for a clarification on why this is needed
author | Idan Kamara <idankk86@gmail.com> |
---|---|
date | Fri, 19 Aug 2011 22:24:14 +0300 |
parents | ce516ed9bc0d |
children | 15485fa4b35e |
rev | line source |
---|---|
60 | 1 import client, subprocess, util, error |
2
5fa34c3ac9a0
turn hglib into a module and expose open (previously connect) in its __init__.py
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
2 |
5fa34c3ac9a0
turn hglib into a module and expose open (previously connect) in its __init__.py
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
3 HGPATH = 'hg' |
5fa34c3ac9a0
turn hglib into a module and expose open (previously connect) in its __init__.py
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
4 |
5fa34c3ac9a0
turn hglib into a module and expose open (previously connect) in its __init__.py
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
5 def open(path=None, encoding=None, configs=None): |
5fa34c3ac9a0
turn hglib into a module and expose open (previously connect) in its __init__.py
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
6 ''' starts a cmdserver for the given path (or for a repository found in the |
5fa34c3ac9a0
turn hglib into a module and expose open (previously connect) in its __init__.py
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
7 cwd). HGENCODING is set to the given encoding. configs is a list of key, value, |
5fa34c3ac9a0
turn hglib into a module and expose open (previously connect) in its __init__.py
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
8 similar to those passed to hg --config. ''' |
59 | 9 return client.hgclient(path, encoding, configs) |
60 | 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) | |
62
d1f57f162274
closefds on posix when using subprocess
Idan Kamara <idankk86@gmail.com>
parents:
60
diff
changeset
|
17 proc = subprocess.Popen(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE, |
d1f57f162274
closefds on posix when using subprocess
Idan Kamara <idankk86@gmail.com>
parents:
60
diff
changeset
|
18 close_fds=util.closefds) |
60 | 19 |
20 out, err = proc.communicate() | |
21 if proc.returncode: | |
22 raise error.CommandError(args, proc.returncode, out, err) | |
23 | |
24 return open(dest, encoding, configs) |