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 <redacted>
---
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:])