Mercurial > hg
annotate tests/test-username-newline.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 | 3b165c127690 |
children | 5ac845ca059a |
rev | line source |
---|---|
12301
3a082866422a
tests: unify test-username-newline
Adrian Buehlmann <adrian@cadifra.com>
parents:
7035
diff
changeset
|
1 $ hg init |
3a082866422a
tests: unify test-username-newline
Adrian Buehlmann <adrian@cadifra.com>
parents:
7035
diff
changeset
|
2 $ touch a |
7035
9d023ef7b467
forbid username with '\n' at the changelog level
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff
changeset
|
3 |
12301
3a082866422a
tests: unify test-username-newline
Adrian Buehlmann <adrian@cadifra.com>
parents:
7035
diff
changeset
|
4 $ unset HGUSER |
3a082866422a
tests: unify test-username-newline
Adrian Buehlmann <adrian@cadifra.com>
parents:
7035
diff
changeset
|
5 $ echo "[ui]" >> .hg/hgrc |
3a082866422a
tests: unify test-username-newline
Adrian Buehlmann <adrian@cadifra.com>
parents:
7035
diff
changeset
|
6 $ echo "username= foo" >> .hg/hgrc |
3a082866422a
tests: unify test-username-newline
Adrian Buehlmann <adrian@cadifra.com>
parents:
7035
diff
changeset
|
7 $ echo " bar1" >> .hg/hgrc |
7035
9d023ef7b467
forbid username with '\n' at the changelog level
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff
changeset
|
8 |
12301
3a082866422a
tests: unify test-username-newline
Adrian Buehlmann <adrian@cadifra.com>
parents:
7035
diff
changeset
|
9 $ hg ci -Am m |
3a082866422a
tests: unify test-username-newline
Adrian Buehlmann <adrian@cadifra.com>
parents:
7035
diff
changeset
|
10 adding a |
3a082866422a
tests: unify test-username-newline
Adrian Buehlmann <adrian@cadifra.com>
parents:
7035
diff
changeset
|
11 abort: username 'foo\nbar1' contains a newline |
3a082866422a
tests: unify test-username-newline
Adrian Buehlmann <adrian@cadifra.com>
parents:
7035
diff
changeset
|
12 |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12301
diff
changeset
|
13 [255] |
12301
3a082866422a
tests: unify test-username-newline
Adrian Buehlmann <adrian@cadifra.com>
parents:
7035
diff
changeset
|
14 $ rm .hg/hgrc |
7035
9d023ef7b467
forbid username with '\n' at the changelog level
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff
changeset
|
15 |
12301
3a082866422a
tests: unify test-username-newline
Adrian Buehlmann <adrian@cadifra.com>
parents:
7035
diff
changeset
|
16 $ HGUSER=`(echo foo; echo bar2)` hg ci -Am m |
3a082866422a
tests: unify test-username-newline
Adrian Buehlmann <adrian@cadifra.com>
parents:
7035
diff
changeset
|
17 abort: username 'foo\nbar2' contains a newline |
3a082866422a
tests: unify test-username-newline
Adrian Buehlmann <adrian@cadifra.com>
parents:
7035
diff
changeset
|
18 |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12301
diff
changeset
|
19 [255] |
12301
3a082866422a
tests: unify test-username-newline
Adrian Buehlmann <adrian@cadifra.com>
parents:
7035
diff
changeset
|
20 $ hg ci -Am m -u "`(echo foo; echo bar3)`" |
3a082866422a
tests: unify test-username-newline
Adrian Buehlmann <adrian@cadifra.com>
parents:
7035
diff
changeset
|
21 transaction abort! |
3a082866422a
tests: unify test-username-newline
Adrian Buehlmann <adrian@cadifra.com>
parents:
7035
diff
changeset
|
22 rollback completed |
3a082866422a
tests: unify test-username-newline
Adrian Buehlmann <adrian@cadifra.com>
parents:
7035
diff
changeset
|
23 abort: username 'foo\nbar3' contains a newline! |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12301
diff
changeset
|
24 [255] |
7035
9d023ef7b467
forbid username with '\n' at the changelog level
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff
changeset
|
25 |