[PATCH hglib] client: add parents command

Idan Kamara idankk86 at gmail.com
Thu Aug 11 07:20:53 CDT 2011


# HG changeset patch
# User Idan Kamara <idankk86 at gmail.com>
# Date 1313065249 -10800
# Node ID a38fae6122cde6b75cf7159b512eb43d3141c4d8
# Parent  f5ca64ffa20942f630eb48b79dcab5a3be6ba8a0
client: add parents command

diff -r f5ca64ffa209 -r a38fae6122cd 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 f5ca64ffa209 -r a38fae6122cd 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


More information about the Mercurial-devel mailing list