[StGIT PATCH 3/4] Don't traverse the whole DAG when looking for uninteresting commits
- From
Karl Hasselström <kha@treskal.com>
- Date
- Aug 13, 2007, 21:01 UTC
- Message-ID
- <20070813210136.25929.95213.stgit@yoghurt>
- In-Reply-To
- <20070813205801.25929.34925.stgit@yoghurt>
It's sufficient to look at the part of the DAG that's reachable from the patches. This might be a large subset, of course, but it could still be a significant improvement in some cases, especially when there is only one patch.
Signed-off-by: Karl Hasselström <kha@treskal.com>
---
stgit/stack.py | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/stgit/stack.py b/stgit/stack.py index 8f1c0ee..dbb27eb 100644 --- a/stgit/stack.py +++ b/stgit/stack.py @@ -459,7 +459,8 @@ class UninterestingCache: # Iterate over all commits. We are guaranteed to see each # commit before any of its children. for line in git._output_lines( - 'git-rev-list --topo-order --reverse --parents --all'): + 'git-rev-list --topo-order --reverse --parents --stdin', + ['%s\n' % p for p in patches]): commits = line.split() commit, parents = commits[0], Set(commits[1:])