changeset 18:518149e32888

client: add parents command
author Idan Kamara <idankk86@gmail.com>
date Thu, 11 Aug 2011 15:20:49 +0300
parents b68c444d42bb
children 19d2c55c3928
files hglib/client.py tests/test-parents.py
diffstat 2 files changed, 25 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- 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'])
--- /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