changeset 3077:6d599a3c0d67 beta

implemented children for git changesets
author Marcin Kuzminski <marcin@python-works.com>
date Sat, 08 Dec 2012 01:41:34 +0100
parents 5deb16cd2802
children 5ba6fd9ab711
files rhodecode/lib/vcs/backends/git/changeset.py
diffstat 1 files changed, 15 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/rhodecode/lib/vcs/backends/git/changeset.py	Sat Dec 08 00:57:18 2012 +0100
+++ b/rhodecode/lib/vcs/backends/git/changeset.py	Sat Dec 08 01:41:34 2012 +0100
@@ -180,6 +180,21 @@
         return [self.repository.get_changeset(parent)
                 for parent in self._commit.parents]
 
+    @LazyProperty
+    def children(self):
+        """
+        Returns list of children changesets.
+        """
+        so, se = self.repository.run_git_command(
+            "rev-list --all --children | grep '^%s'" % self.raw_id
+        )
+
+        children = []
+        for l in so.splitlines():
+            childs = l.split(' ')[1:]
+            children.extend(childs)
+        return [self.repository.get_changeset(cs) for cs in children]
+
     def next(self, branch=None):
 
         if branch and self.branch != branch: