Mercurial > python-hglib
diff hglib/client.py @ 39:0555d58a7313
client: add push command
author | Idan Kamara <idankk86@gmail.com> |
---|---|
date | Mon, 15 Aug 2011 22:46:45 +0300 |
parents | 32f6a2bbf63e |
children | 238efe4fd7db |
line wrap: on
line diff
--- a/hglib/client.py Mon Aug 15 22:46:45 2011 +0300 +++ b/hglib/client.py Mon Aug 15 22:46:45 2011 +0300 @@ -518,6 +518,24 @@ out = self.rawcommand(args) return out.rstrip() + def push(self, dest=None, rev=None, force=False, bookmark=None, branch=None, + newbranch=False, ssh=None, remotecmd=None, insecure=False): + args = cmdbuilder('push', dest, r=rev, f=force, B=bookmark, b=branch, + new_branch=newbranch, e=ssh, remotecmd=remotecmd, + insecure=insecure) + + # we could use Python 3 nonlocal here... + pushed = [True] + + def eh(ret, out, err): + if ret == 1: + pushed[0] = False + else: + raise error.CommandError(args, ret, out, err) + + self.rawcommand(args, eh=eh) + return pushed[0] + def remove(self, files, after=False, force=False, include=None, exclude=None): if not isinstance(files, list): files = [files]