annotate hglib/__init__.py @ 138:a05cdc1579df 1.5

context: handle tip+1 breakage in pre-3.2 default branch Asking for rev(tip+1) could give a null changeset, which broke tests.
author Matt Mackall <mpm@selenic.com>
date Sat, 01 Nov 2014 14:28:56 -0500
parents 1b47146a4a2c
children c1b966866ed7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
60
ce516ed9bc0d hglib: add init command
Idan Kamara <idankk86@gmail.com>
parents: 59
diff changeset
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):
134
1b47146a4a2c style: fix long lines
Matt Mackall <mpm@selenic.com>
parents: 93
diff changeset
6 '''starts a cmdserver for the given path (or for a repository found
1b47146a4a2c style: fix long lines
Matt Mackall <mpm@selenic.com>
parents: 93
diff changeset
7 in the cwd). HGENCODING is set to the given encoding. configs is a
1b47146a4a2c style: fix long lines
Matt Mackall <mpm@selenic.com>
parents: 93
diff changeset
8 list of key, value, similar to those passed to hg --config.
1b47146a4a2c style: fix long lines
Matt Mackall <mpm@selenic.com>
parents: 93
diff changeset
9 '''
59
f4cc7ff53cf8 hglib: change import style
Idan Kamara <idankk86@gmail.com>
parents: 2
diff changeset
10 return client.hgclient(path, encoding, configs)
60
ce516ed9bc0d hglib: add init command
Idan Kamara <idankk86@gmail.com>
parents: 59
diff changeset
11
ce516ed9bc0d hglib: add init command
Idan Kamara <idankk86@gmail.com>
parents: 59
diff changeset
12 def init(dest=None, ssh=None, remotecmd=None, insecure=False,
ce516ed9bc0d hglib: add init command
Idan Kamara <idankk86@gmail.com>
parents: 59
diff changeset
13 encoding=None, configs=None):
ce516ed9bc0d hglib: add init command
Idan Kamara <idankk86@gmail.com>
parents: 59
diff changeset
14 args = util.cmdbuilder('init', dest, e=ssh, remotecmd=remotecmd,
ce516ed9bc0d hglib: add init command
Idan Kamara <idankk86@gmail.com>
parents: 59
diff changeset
15 insecure=insecure)
ce516ed9bc0d hglib: add init command
Idan Kamara <idankk86@gmail.com>
parents: 59
diff changeset
16
ce516ed9bc0d hglib: add init command
Idan Kamara <idankk86@gmail.com>
parents: 59
diff changeset
17 args.insert(0, HGPATH)
72
15485fa4b35e util: introduce popen
Idan Kamara <idankk86@gmail.com>
parents: 62
diff changeset
18 proc = util.popen(args)
60
ce516ed9bc0d hglib: add init command
Idan Kamara <idankk86@gmail.com>
parents: 59
diff changeset
19 out, err = proc.communicate()
ce516ed9bc0d hglib: add init command
Idan Kamara <idankk86@gmail.com>
parents: 59
diff changeset
20 if proc.returncode:
ce516ed9bc0d hglib: add init command
Idan Kamara <idankk86@gmail.com>
parents: 59
diff changeset
21 raise error.CommandError(args, proc.returncode, out, err)
ce516ed9bc0d hglib: add init command
Idan Kamara <idankk86@gmail.com>
parents: 59
diff changeset
22
92
07efbd3bd09a hglib: change init to not open a command server instance automatically
Idan Kamara <idankk86@gmail.com>
parents: 72
diff changeset
23 return client.hgclient(dest, encoding, configs, connect=False)
93
a4fcece7dd8e hglib: add top level clone method
Idan Kamara <idankk86@gmail.com>
parents: 92
diff changeset
24
a4fcece7dd8e hglib: add top level clone method
Idan Kamara <idankk86@gmail.com>
parents: 92
diff changeset
25 def clone(source=None, dest=None, noupdate=False, updaterev=None, rev=None,
a4fcece7dd8e hglib: add top level clone method
Idan Kamara <idankk86@gmail.com>
parents: 92
diff changeset
26 branch=None, pull=False, uncompressed=False, ssh=None, remotecmd=None,
a4fcece7dd8e hglib: add top level clone method
Idan Kamara <idankk86@gmail.com>
parents: 92
diff changeset
27 insecure=False, encoding=None, configs=None):
a4fcece7dd8e hglib: add top level clone method
Idan Kamara <idankk86@gmail.com>
parents: 92
diff changeset
28 args = util.cmdbuilder('clone', source, dest, noupdate=noupdate,
a4fcece7dd8e hglib: add top level clone method
Idan Kamara <idankk86@gmail.com>
parents: 92
diff changeset
29 updaterev=updaterev, rev=rev, branch=branch,
a4fcece7dd8e hglib: add top level clone method
Idan Kamara <idankk86@gmail.com>
parents: 92
diff changeset
30 pull=pull, uncompresses=uncompressed,
a4fcece7dd8e hglib: add top level clone method
Idan Kamara <idankk86@gmail.com>
parents: 92
diff changeset
31 e=ssh, remotecmd=remotecmd, insecure=insecure)
a4fcece7dd8e hglib: add top level clone method
Idan Kamara <idankk86@gmail.com>
parents: 92
diff changeset
32
a4fcece7dd8e hglib: add top level clone method
Idan Kamara <idankk86@gmail.com>
parents: 92
diff changeset
33 args.insert(0, HGPATH)
a4fcece7dd8e hglib: add top level clone method
Idan Kamara <idankk86@gmail.com>
parents: 92
diff changeset
34 proc = util.popen(args)
a4fcece7dd8e hglib: add top level clone method
Idan Kamara <idankk86@gmail.com>
parents: 92
diff changeset
35 out, err = proc.communicate()
a4fcece7dd8e hglib: add top level clone method
Idan Kamara <idankk86@gmail.com>
parents: 92
diff changeset
36 if proc.returncode:
a4fcece7dd8e hglib: add top level clone method
Idan Kamara <idankk86@gmail.com>
parents: 92
diff changeset
37 raise error.CommandError(args, proc.returncode, out, err)
a4fcece7dd8e hglib: add top level clone method
Idan Kamara <idankk86@gmail.com>
parents: 92
diff changeset
38
a4fcece7dd8e hglib: add top level clone method
Idan Kamara <idankk86@gmail.com>
parents: 92
diff changeset
39 return client.hgclient(dest, encoding, configs, connect=False)