##// END OF EJS Templates
commit: increase perf by avoiding checks against entire repo subsets...
Durham Goode -
r17952:54cedee8 stable
parent child Browse files
Show More
@@ -571,6 +571,14 b' def _descendants(repo, subset, x, follow'
571 571 if not args:
572 572 return []
573 573 s = set(_revdescendants(repo, args, followfirst)) | set(args)
574
575 if len(subset) == len(repo):
576 # the passed in revisions may not exist, -1 for example
577 for arg in args:
578 if arg not in subset:
579 s.remove(arg)
580 return list(s)
581
574 582 return [r for r in subset if r in s]
575 583
576 584 def descendants(repo, subset, x):
@@ -1328,6 +1336,9 b' def roots(repo, subset, x):'
1328 1336 Changesets in set with no parent changeset in set.
1329 1337 """
1330 1338 s = set(getset(repo, repo.changelog, x))
1339 if len(subset) == len(repo):
1340 subset = s
1341 else:
1331 1342 subset = [r for r in subset if r in s]
1332 1343 cs = _children(repo, subset, s)
1333 1344 return [r for r in subset if r not in cs]
General Comments 0
You need to be logged in to leave comments. Login now