Mercurial > hg
annotate tests/test-update-dest.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 | 8abbae93045a |
children | eb586ed5d8ce |
rev | line source |
---|---|
31844
478999e8281d
tests: move update requiredest test to own test file
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
1 Test update.requiredest |
478999e8281d
tests: move update requiredest test to own test file
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
2 $ cd $TESTTMP |
478999e8281d
tests: move update requiredest test to own test file
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
3 $ cat >> $HGRCPATH <<EOF |
478999e8281d
tests: move update requiredest test to own test file
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
4 > [commands] |
478999e8281d
tests: move update requiredest test to own test file
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
5 > update.requiredest = True |
478999e8281d
tests: move update requiredest test to own test file
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
6 > EOF |
478999e8281d
tests: move update requiredest test to own test file
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
7 $ hg init repo |
478999e8281d
tests: move update requiredest test to own test file
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
8 $ cd repo |
478999e8281d
tests: move update requiredest test to own test file
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
9 $ echo a >> a |
478999e8281d
tests: move update requiredest test to own test file
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
10 $ hg commit -qAm aa |
478999e8281d
tests: move update requiredest test to own test file
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
11 $ hg up |
478999e8281d
tests: move update requiredest test to own test file
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
12 abort: you must specify a destination |
478999e8281d
tests: move update requiredest test to own test file
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
13 (for example: hg update ".::") |
478999e8281d
tests: move update requiredest test to own test file
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
14 [255] |
478999e8281d
tests: move update requiredest test to own test file
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
15 $ hg up . |
478999e8281d
tests: move update requiredest test to own test file
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
16 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
478999e8281d
tests: move update requiredest test to own test file
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
17 $ HGPLAIN=1 hg up |
478999e8281d
tests: move update requiredest test to own test file
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
18 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
478999e8281d
tests: move update requiredest test to own test file
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
19 $ hg --config commands.update.requiredest=False up |
478999e8281d
tests: move update requiredest test to own test file
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
20 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
478999e8281d
tests: move update requiredest test to own test file
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
21 |
478999e8281d
tests: move update requiredest test to own test file
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
22 $ cd .. |
478999e8281d
tests: move update requiredest test to own test file
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
23 |
31845
86246530b8d2
pull: abort pull --update if config requires destination (issue5528)
Ryan McElroy <rmcelroy@fb.com>
parents:
31844
diff
changeset
|
24 Check update.requiredest interaction with pull --update |
86246530b8d2
pull: abort pull --update if config requires destination (issue5528)
Ryan McElroy <rmcelroy@fb.com>
parents:
31844
diff
changeset
|
25 $ hg clone repo clone |
86246530b8d2
pull: abort pull --update if config requires destination (issue5528)
Ryan McElroy <rmcelroy@fb.com>
parents:
31844
diff
changeset
|
26 updating to branch default |
86246530b8d2
pull: abort pull --update if config requires destination (issue5528)
Ryan McElroy <rmcelroy@fb.com>
parents:
31844
diff
changeset
|
27 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
86246530b8d2
pull: abort pull --update if config requires destination (issue5528)
Ryan McElroy <rmcelroy@fb.com>
parents:
31844
diff
changeset
|
28 $ cd repo |
86246530b8d2
pull: abort pull --update if config requires destination (issue5528)
Ryan McElroy <rmcelroy@fb.com>
parents:
31844
diff
changeset
|
29 $ echo a >> a |
86246530b8d2
pull: abort pull --update if config requires destination (issue5528)
Ryan McElroy <rmcelroy@fb.com>
parents:
31844
diff
changeset
|
30 $ hg commit -qAm aa |
86246530b8d2
pull: abort pull --update if config requires destination (issue5528)
Ryan McElroy <rmcelroy@fb.com>
parents:
31844
diff
changeset
|
31 $ cd ../clone |
86246530b8d2
pull: abort pull --update if config requires destination (issue5528)
Ryan McElroy <rmcelroy@fb.com>
parents:
31844
diff
changeset
|
32 $ hg pull --update |
86246530b8d2
pull: abort pull --update if config requires destination (issue5528)
Ryan McElroy <rmcelroy@fb.com>
parents:
31844
diff
changeset
|
33 abort: update destination required by configuration |
86246530b8d2
pull: abort pull --update if config requires destination (issue5528)
Ryan McElroy <rmcelroy@fb.com>
parents:
31844
diff
changeset
|
34 (use hg pull followed by hg update DEST) |
86246530b8d2
pull: abort pull --update if config requires destination (issue5528)
Ryan McElroy <rmcelroy@fb.com>
parents:
31844
diff
changeset
|
35 [255] |
33980
8abbae93045a
pull: do not prompt "hg update" if update.requiredest is set
Jun Wu <quark@fb.com>
parents:
31845
diff
changeset
|
36 |
8abbae93045a
pull: do not prompt "hg update" if update.requiredest is set
Jun Wu <quark@fb.com>
parents:
31845
diff
changeset
|
37 $ cd .. |
8abbae93045a
pull: do not prompt "hg update" if update.requiredest is set
Jun Wu <quark@fb.com>
parents:
31845
diff
changeset
|
38 |
8abbae93045a
pull: do not prompt "hg update" if update.requiredest is set
Jun Wu <quark@fb.com>
parents:
31845
diff
changeset
|
39 update.requiredest should silent the "hg update" text after pull |
8abbae93045a
pull: do not prompt "hg update" if update.requiredest is set
Jun Wu <quark@fb.com>
parents:
31845
diff
changeset
|
40 $ hg init repo1 |
8abbae93045a
pull: do not prompt "hg update" if update.requiredest is set
Jun Wu <quark@fb.com>
parents:
31845
diff
changeset
|
41 $ cd repo1 |
8abbae93045a
pull: do not prompt "hg update" if update.requiredest is set
Jun Wu <quark@fb.com>
parents:
31845
diff
changeset
|
42 $ hg pull ../repo |
8abbae93045a
pull: do not prompt "hg update" if update.requiredest is set
Jun Wu <quark@fb.com>
parents:
31845
diff
changeset
|
43 pulling from ../repo |
8abbae93045a
pull: do not prompt "hg update" if update.requiredest is set
Jun Wu <quark@fb.com>
parents:
31845
diff
changeset
|
44 requesting all changes |
8abbae93045a
pull: do not prompt "hg update" if update.requiredest is set
Jun Wu <quark@fb.com>
parents:
31845
diff
changeset
|
45 adding changesets |
8abbae93045a
pull: do not prompt "hg update" if update.requiredest is set
Jun Wu <quark@fb.com>
parents:
31845
diff
changeset
|
46 adding manifests |
8abbae93045a
pull: do not prompt "hg update" if update.requiredest is set
Jun Wu <quark@fb.com>
parents:
31845
diff
changeset
|
47 adding file changes |
8abbae93045a
pull: do not prompt "hg update" if update.requiredest is set
Jun Wu <quark@fb.com>
parents:
31845
diff
changeset
|
48 added 2 changesets with 2 changes to 1 files |