view hglib/__init__.py @ 67:730c42743ba3

tests: cleanup on test finish so Windows doesn't complain about used files - chdir out of the test dir before rmtree - cache instances of hgclient and close them explicitly on tearDown before rmtree
author Idan Kamara <idankk86@gmail.com>
date Mon, 05 Sep 2011 20:51:29 +0300
parents d1f57f162274
children 15485fa4b35e
line wrap: on
line source

import client, subprocess, 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 = subprocess.Popen(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE,
                            close_fds=util.closefds)

    out, err = proc.communicate()
    if proc.returncode:
        raise error.CommandError(args, proc.returncode, out, err)

    return open(dest, encoding, configs)