Mercurial > hg
annotate tests/test-hg-parseurl.py @ 23603:d74eb8d477d5
memctx: calculate manifest more efficiently
Before this patch, "memctx._manifest" updates all entries in the
(parent) manifest. But this is inefficiency, because almost all files
may be clean in that context.
On the other hand, just updating entries for changed "files" specified
at construction causes unexpected abortion, when there is at least one
newly removed file (see issue4470 for detail).
To calculate manifest more efficiently, this patch replaces
"pman.iteritems()" for the loop by "self._status.modified" to avoid
updating entries for clean or removed files
Examination of removal is also omitted, because removed files aren't
treated in this loop (= "self[f]" returns not None always).
author | FUJIWARA Katsunori <foozy@lares.dti.ne.jp> |
---|---|
date | Fri, 19 Dec 2014 00:11:56 +0900 |
parents | 375872fdadba |
children | 8a23f88131c3 |
rev | line source |
---|---|
8174
29bc5d18714a
hg: allow hg.parseurl(url, None)
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
1 from mercurial.hg import parseurl |
29bc5d18714a
hg: allow hg.parseurl(url, None)
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
2 |
10365
d757bc0c7865
interpret repo#name url syntax as branch instead of revision
Sune Foldager <cryo@cyanite.org>
parents:
8174
diff
changeset
|
3 def testparse(url, branch=[]): |
d757bc0c7865
interpret repo#name url syntax as branch instead of revision
Sune Foldager <cryo@cyanite.org>
parents:
8174
diff
changeset
|
4 print '%s, branches: %r' % parseurl(url, branch) |
8174
29bc5d18714a
hg: allow hg.parseurl(url, None)
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
5 |
29bc5d18714a
hg: allow hg.parseurl(url, None)
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
6 testparse('http://example.com/no/anchor') |
29bc5d18714a
hg: allow hg.parseurl(url, None)
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
7 testparse('http://example.com/an/anchor#foo') |
10365
d757bc0c7865
interpret repo#name url syntax as branch instead of revision
Sune Foldager <cryo@cyanite.org>
parents:
8174
diff
changeset
|
8 testparse('http://example.com/no/anchor/branches', branch=['foo']) |
d757bc0c7865
interpret repo#name url syntax as branch instead of revision
Sune Foldager <cryo@cyanite.org>
parents:
8174
diff
changeset
|
9 testparse('http://example.com/an/anchor/branches#bar', branch=['foo']) |
d757bc0c7865
interpret repo#name url syntax as branch instead of revision
Sune Foldager <cryo@cyanite.org>
parents:
8174
diff
changeset
|
10 testparse('http://example.com/an/anchor/branches-None#foo', branch=None) |
13897
375872fdadba
hg: make parseurl() consistently return normalised path
Thomas Arendsen Hein <thomas@intevation.de>
parents:
12865
diff
changeset
|
11 testparse('http://example.com/') |
375872fdadba
hg: make parseurl() consistently return normalised path
Thomas Arendsen Hein <thomas@intevation.de>
parents:
12865
diff
changeset
|
12 testparse('http://example.com') |
375872fdadba
hg: make parseurl() consistently return normalised path
Thomas Arendsen Hein <thomas@intevation.de>
parents:
12865
diff
changeset
|
13 testparse('http://example.com#foo') |