Mercurial > python-hglib
diff hglib/client.py @ 28:221eeb3693f4
client: add add command
author | Idan Kamara <idankk86@gmail.com> |
---|---|
date | Sun, 14 Aug 2011 00:48:19 +0300 |
parents | 46908f4b87d5 |
children | c072f525ea3e |
line wrap: on
line diff
--- a/hglib/client.py Thu Aug 11 22:59:05 2011 +0300 +++ b/hglib/client.py Sun Aug 14 00:48:19 2011 +0300 @@ -140,6 +140,31 @@ self.server = None return ret + def add(self, files=[], dryrun=False, subrepos=False, include=None, + exclude=None): + """ + Add the specified files on the next commit. + If no files are given, add all files to the repository. + + Return whether all given files were added. + """ + if not isinstance(files, list): + files = [files] + + args = cmdbuilder('add', *files, n=dryrun, S=subrepos, I=include, X=exclude) + + # we could use Python 3 nonlocal here... + warnings = [False] + + def eh(ret, out, err): + if ret == 1: + warnings[0] = True + else: + raise error.CommandError(args, ret, out, err) + + self.rawcommand(args, eh=eh) + return not warnings[0] + def backout(self, rev, merge=False, parent=None, tool=None, message=None, logfile=None, date=None, user=None): if message and logfile: