Mercurial > hg
annotate tests/test-mq-qsave.t @ 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 | b701610f6c56 |
children | 55c6ebd11cb9 |
rev | line source |
---|---|
12324
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
2990
diff
changeset
|
1 $ echo "[extensions]" >> $HGRCPATH |
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
2990
diff
changeset
|
2 $ echo "mq=" >> $HGRCPATH |
2817
ff3edd1c1e27
Add basic qsave/qrestore test.
Brendan Cully <brendan@kublai.com>
parents:
diff
changeset
|
3 |
12324
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
2990
diff
changeset
|
4 $ hg init |
2817
ff3edd1c1e27
Add basic qsave/qrestore test.
Brendan Cully <brendan@kublai.com>
parents:
diff
changeset
|
5 |
12324
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
2990
diff
changeset
|
6 $ echo 'base' > base |
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
2990
diff
changeset
|
7 $ hg ci -Ambase |
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
2990
diff
changeset
|
8 adding base |
2817
ff3edd1c1e27
Add basic qsave/qrestore test.
Brendan Cully <brendan@kublai.com>
parents:
diff
changeset
|
9 |
12324
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
2990
diff
changeset
|
10 $ hg qnew -mmqbase mqbase |
2817
ff3edd1c1e27
Add basic qsave/qrestore test.
Brendan Cully <brendan@kublai.com>
parents:
diff
changeset
|
11 |
12324
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
2990
diff
changeset
|
12 $ hg qsave |
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
2990
diff
changeset
|
13 $ hg qrestore 2 |
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
2990
diff
changeset
|
14 restoring status: hg patches saved state |
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
2990
diff
changeset
|
15 |