# HG changeset patch # User Idan Kamara # Date 1313065249 -10800 # Node ID 518149e328889a5cada37293f8d399540bb6a766 # Parent b68c444d42bb4bdecff44af0bb1dfe287df45fdc client: add parents command diff -r b68c444d42bb -r 518149e32888 hglib/client.py --- a/hglib/client.py Wed Aug 10 23:27:57 2011 +0300 +++ b/hglib/client.py Thu Aug 11 15:20:49 2011 +0300 @@ -296,6 +296,17 @@ out = util.eatlines(out, 2).split('\0')[:-1] return self._parserevs(out) + def parents(self, rev=None, file=None): + args = cmdbuilder('parents', file, template=templates.changeset, r=rev) + + out = self.rawcommand(args) + if not out: + return + + out = out.split('\0')[:-1] + + return self._parserevs(out) + def paths(self, name=None): if not name: out = self.rawcommand(['paths']) diff -r b68c444d42bb -r 518149e32888 tests/test-parents.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-parents.py Thu Aug 11 15:20:49 2011 +0300 @@ -0,0 +1,14 @@ +import common + +class test_parents(common.basetest): + def test_noparents(self): + self.assertEquals(self.client.parents(), None) + + def test_basic(self): + self.append('a', 'a') + rev, node = self.client.commit('first', addremove=True) + self.assertEquals(node, self.client.parents()[0].node) + self.assertEquals(node, self.client.parents(file='a')[0].node) + + def test_two_parents(self): + pass