From 5a4a5633a698f2d5be1d9822ba7f59ab2973e655 Mon Sep 17 00:00:00 2001 From: Marcin Kuzminski Date: Sat, 8 Dec 2012 01:41:34 +0100 Subject: implemented children for git changesets --HG-- branch : beta --- rhodecode/lib/vcs/backends/git/changeset.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/rhodecode/lib/vcs/backends/git/changeset.py b/rhodecode/lib/vcs/backends/git/changeset.py index 06658ee1..6407cce3 100644 --- a/rhodecode/lib/vcs/backends/git/changeset.py +++ b/rhodecode/lib/vcs/backends/git/changeset.py @@ -180,6 +180,21 @@ class GitChangeset(BaseChangeset): 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: -- cgit v1.2.3