diff options
author | Marcin Kuzminski <marcin@python-works.com> | 2012-12-08 01:41:34 +0100 |
---|---|---|
committer | Marcin Kuzminski <marcin@python-works.com> | 2012-12-08 01:41:34 +0100 |
commit | 5a4a5633a698f2d5be1d9822ba7f59ab2973e655 (patch) | |
tree | 02c79a83cb425070254e2d78e1cf1760849ab487 | |
parent | f5b6a6c447fb6335c01769541d0c8857a282060b (diff) |
implemented children for git changesets
--HG--
branch : beta
-rw-r--r-- | rhodecode/lib/vcs/backends/git/changeset.py | 15 |
1 files changed, 15 insertions, 0 deletions
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: |