Mercurial > hg
annotate tests/histedit-helpers.sh @ 30706:2e4862646f02
repair: speed up stripping of many roots
repair.strip() expects a set of root revisions to strip. It then
builds the full set of descedants by walking the descandants of
each. It is rare that more than a few roots get passed in, but if that
happens, it will wastefully walk the changelog for each root. So let's
just walk it once.
I noticed this because the narrowhg extension was passing not only
roots, but all the commits to strip. When there were tens of thousands
of commits to strip, this resulted in quadratic behavior with that
extension.
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Wed, 04 Jan 2017 10:07:12 -0800 |
parents | 890273343170 |
children |
rev | line source |
---|---|
17064
168cc52ad7c2
histedit: new extension for interactive history editing
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
1 fixbundle() { |
168cc52ad7c2
histedit: new extension for interactive history editing
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
2 grep -v 'saving bundle' | grep -v 'saved backup' | \ |
168cc52ad7c2
histedit: new extension for interactive history editing
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
3 grep -v added | grep -v adding | \ |
168cc52ad7c2
histedit: new extension for interactive history editing
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
4 grep -v "unable to find 'e' for patching" | \ |
27350
890273343170
tests: histedit-helpers fixbundle should not complain about no input
timeless <timeless@mozdev.org>
parents:
17085
diff
changeset
|
5 grep -v "e: No such file or directory" | \ |
890273343170
tests: histedit-helpers fixbundle should not complain about no input
timeless <timeless@mozdev.org>
parents:
17085
diff
changeset
|
6 cat |
17064
168cc52ad7c2
histedit: new extension for interactive history editing
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
7 } |