##// END OF EJS Templates
fix graph traversal in commands.bundle (it wasn't O(n))
Benoit Boissinot -
r3512:630e0b21 default
parent child Browse files
Show More
@@ -839,6 +839,7 b' def bundle(ui, repo, fname, dest=None, *'
839 visit = list(revs)
839 visit = list(revs)
840 else:
840 else:
841 visit = repo.changelog.heads()
841 visit = repo.changelog.heads()
842 seen = sets.Set(visit)
842 while visit:
843 while visit:
843 n = visit.pop(0)
844 n = visit.pop(0)
844 parents = [p for p in repo.changelog.parents(n)
845 parents = [p for p in repo.changelog.parents(n)
@@ -846,7 +847,10 b' def bundle(ui, repo, fname, dest=None, *'
846 if len(parents) == 0:
847 if len(parents) == 0:
847 o.insert(0, n)
848 o.insert(0, n)
848 else:
849 else:
849 visit.extend(parents)
850 for p in parents:
851 if p not in seen:
852 seen.add(p)
853 visit.append(p)
850 else:
854 else:
851 setremoteconfig(ui, opts)
855 setremoteconfig(ui, opts)
852 dest = ui.expandpath(dest or 'default-push', dest or 'default')
856 dest = ui.expandpath(dest or 'default-push', dest or 'default')
General Comments 0
You need to be logged in to leave comments. Login now