Mercurial > hg
annotate tests/test-changelog-exec.t @ 34107:4f60720cf0df
blackbox: fix rotation with chg
The added test will show:
$ $PYTHON showsize.py .hg/blackbox*
.hg/blackbox.log: < 500
.hg/blackbox.log.1: < 500
.hg/blackbox.log.2: < 500
.hg/blackbox.log.3: < 500
.hg/blackbox.log.4: < 500
.hg/blackbox.log.5: >= 500
with previous code.
The issue is caused by blackbox caching file objects *by path*, and the
rotation size check could run on a wrong file object (i.e. it should check
"blackbox.log", but `filehandles["blackbox.log"]` contains a file object
that has been renamed to "blackbox.log.5").
This patch removes the "filehandlers" global cache added by 45313f5a3a8c to
solve the issue.
I think the original patch was trying to make different ui objects use a same
file object if their blackbox.log path is the same. In theory it could also
be problematic in the rotation case. Anyway, that should become unnecessary
after D650.
Differential Revision: https://phab.mercurial-scm.org/D648
author | Jun Wu <quark@fb.com> |
---|---|
date | Wed, 06 Sep 2017 19:27:30 -0700 |
parents | e6e7ef68c879 |
children | 009d0283de5f |
rev | line source |
---|---|
22046
7a9cbb315d84
tests: replace exit 80 with #require
Matt Mackall <mpm@selenic.com>
parents:
17132
diff
changeset
|
1 #require execbit |
7a9cbb315d84
tests: replace exit 80 with #require
Matt Mackall <mpm@selenic.com>
parents:
17132
diff
changeset
|
2 |
11875
88f5b5c058b5
tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents:
8167
diff
changeset
|
3 b51a8138292a introduced a regression where we would mention in the |
88f5b5c058b5
tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents:
8167
diff
changeset
|
4 changelog executable files added by the second parent of a merge. Test |
88f5b5c058b5
tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents:
8167
diff
changeset
|
5 that that doesn't happen anymore |
88f5b5c058b5
tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents:
8167
diff
changeset
|
6 |
88f5b5c058b5
tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents:
8167
diff
changeset
|
7 $ hg init repo |
88f5b5c058b5
tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents:
8167
diff
changeset
|
8 $ cd repo |
88f5b5c058b5
tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents:
8167
diff
changeset
|
9 $ echo foo > foo |
88f5b5c058b5
tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents:
8167
diff
changeset
|
10 $ hg ci -qAm 'add foo' |
5227
466323968b23
Avoid adding to the changelog executable files added by the second parent.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
11 |
11875
88f5b5c058b5
tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents:
8167
diff
changeset
|
12 $ echo bar > bar |
88f5b5c058b5
tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents:
8167
diff
changeset
|
13 $ chmod +x bar |
88f5b5c058b5
tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents:
8167
diff
changeset
|
14 $ hg ci -qAm 'add bar' |
88f5b5c058b5
tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents:
8167
diff
changeset
|
15 |
88f5b5c058b5
tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents:
8167
diff
changeset
|
16 manifest of p2: |
5227
466323968b23
Avoid adding to the changelog executable files added by the second parent.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
17 |
11875
88f5b5c058b5
tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents:
8167
diff
changeset
|
18 $ hg manifest |
88f5b5c058b5
tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents:
8167
diff
changeset
|
19 bar |
88f5b5c058b5
tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents:
8167
diff
changeset
|
20 foo |
88f5b5c058b5
tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents:
8167
diff
changeset
|
21 |
88f5b5c058b5
tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents:
8167
diff
changeset
|
22 $ hg up -qC 0 |
88f5b5c058b5
tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents:
8167
diff
changeset
|
23 $ echo >> foo |
88f5b5c058b5
tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents:
8167
diff
changeset
|
24 $ hg ci -m 'change foo' |
88f5b5c058b5
tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents:
8167
diff
changeset
|
25 created new head |
5227
466323968b23
Avoid adding to the changelog executable files added by the second parent.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
26 |
11875
88f5b5c058b5
tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents:
8167
diff
changeset
|
27 manifest of p1: |
88f5b5c058b5
tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents:
8167
diff
changeset
|
28 |
88f5b5c058b5
tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents:
8167
diff
changeset
|
29 $ hg manifest |
88f5b5c058b5
tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents:
8167
diff
changeset
|
30 foo |
88f5b5c058b5
tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents:
8167
diff
changeset
|
31 |
88f5b5c058b5
tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents:
8167
diff
changeset
|
32 $ hg merge |
88f5b5c058b5
tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents:
8167
diff
changeset
|
33 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
88f5b5c058b5
tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents:
8167
diff
changeset
|
34 (branch merge, don't forget to commit) |
22492
d5261db0011f
commit: catch changed exec bit on files from p1 (issue4382)
Matt Mackall <mpm@selenic.com>
parents:
17132
diff
changeset
|
35 $ chmod +x foo |
11875
88f5b5c058b5
tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents:
8167
diff
changeset
|
36 $ hg ci -m 'merge' |
88f5b5c058b5
tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents:
8167
diff
changeset
|
37 |
22492
d5261db0011f
commit: catch changed exec bit on files from p1 (issue4382)
Matt Mackall <mpm@selenic.com>
parents:
17132
diff
changeset
|
38 this should not mention bar but should mention foo: |
5227
466323968b23
Avoid adding to the changelog executable files added by the second parent.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
39 |
11875
88f5b5c058b5
tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents:
8167
diff
changeset
|
40 $ hg tip -v |
22492
d5261db0011f
commit: catch changed exec bit on files from p1 (issue4382)
Matt Mackall <mpm@selenic.com>
parents:
17132
diff
changeset
|
41 changeset: 3:c53d17ff3380 |
11875
88f5b5c058b5
tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents:
8167
diff
changeset
|
42 tag: tip |
88f5b5c058b5
tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents:
8167
diff
changeset
|
43 parent: 2:ed1b79f46b9a |
88f5b5c058b5
tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents:
8167
diff
changeset
|
44 parent: 1:d394a8db219b |
88f5b5c058b5
tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents:
8167
diff
changeset
|
45 user: test |
88f5b5c058b5
tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents:
8167
diff
changeset
|
46 date: Thu Jan 01 00:00:00 1970 +0000 |
22492
d5261db0011f
commit: catch changed exec bit on files from p1 (issue4382)
Matt Mackall <mpm@selenic.com>
parents:
17132
diff
changeset
|
47 files: foo |
11875
88f5b5c058b5
tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents:
8167
diff
changeset
|
48 description: |
88f5b5c058b5
tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents:
8167
diff
changeset
|
49 merge |
88f5b5c058b5
tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents:
8167
diff
changeset
|
50 |
88f5b5c058b5
tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents:
8167
diff
changeset
|
51 |
5227
466323968b23
Avoid adding to the changelog executable files added by the second parent.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
52 |
14182
ec5886db9dc6
tests: fix deprecated use of hg debugdata/debugindex
Sune Foldager <cryo@cyanite.org>
parents:
11875
diff
changeset
|
53 $ hg debugindex bar |
17132
b87acfda5268
tests: reduce spurious failures when run with generaldelta
Bryan O'Sullivan <bryano@fb.com>
parents:
16913
diff
changeset
|
54 rev offset length ..... linkrev nodeid p1 p2 (re) |
b87acfda5268
tests: reduce spurious failures when run with generaldelta
Bryan O'Sullivan <bryano@fb.com>
parents:
16913
diff
changeset
|
55 0 0 5 ..... 1 b004912a8510 000000000000 000000000000 (re) |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
14182
diff
changeset
|
56 |
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
14182
diff
changeset
|
57 $ cd .. |