contrib/python3-whitelist
author FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
Tue, 04 Jul 2017 23:13:46 +0900
changeset 33278 87bca10a06ed
parent 33118 cc9501fa5574
child 33305 aaa1f8f514cf
permissions -rw-r--r--
transaction: avoid file stat ambiguity only for files in blacklist Advancing mtime by os.utime() fails for EPERM, if the target file is owned by another. bff5ccbe5ead and related changes made some code paths give advancing mtime up in such case, to fix issue5418. This causes file stat ambiguity (again), if it is owned by another. https://www.mercurial-scm.org/wiki/ExactCacheValidationPlan To avoid file stat ambiguity in such case, especially for .hg/dirstate, ed66ec39933f made vfs.rename() copy the target file, and advance mtime of renamed one again, if EPERM (see issue5584 for detail). But straightforward "copy if EPERM" isn't reasonable for truncation of append-only files at rollbacking, because rollbacking might cost much for truncation of many filelogs, even though filelogs aren't filecache-ed. Therefore, this patch introduces blacklist "checkambigfiles", and avoids file stat ambiguity only for files specified in this blacklist. This patch consists of two parts below, which should be applied at once in order to avoid regression. - specify 'checkambig=True' at vfs.open(mode='a') in _playback() according to checkambigfiles - invoke _playback() with checkambigfiles - add transaction.__init__() checkambigfiles argument, for _abort() - make localrepo instantiate transaction with _cachedfiles - add rollback() checkambigfiles argument, for "hg rollback/recover" - make localrepo invoke rollback() with _cachedfiles After this patch, straightforward "copy if EPERM" will be reasonable at closing the file opened with checkambig=True, because this policy is applied only on files, which are listed in blacklist "checkambigfiles".
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
32894
ec9ed269edc3 py3: pass the path in hg.repository() as bytes
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32854
diff changeset
     1
test-ancestor.py
33118
cc9501fa5574 py3: update the python3-whitelist with new tests which pass on Python 3
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32894
diff changeset
     2
test-backwards-remove.t
cc9501fa5574 py3: update the python3-whitelist with new tests which pass on Python 3
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32894
diff changeset
     3
test-branch-tag-confict.t
cc9501fa5574 py3: update the python3-whitelist with new tests which pass on Python 3
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32894
diff changeset
     4
test-casecollision.t
cc9501fa5574 py3: update the python3-whitelist with new tests which pass on Python 3
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32894
diff changeset
     5
test-check-commit.t
32854
7a877e569ed6 contrib: check in a whitelist of passing tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff changeset
     6
test-check-execute.t
33118
cc9501fa5574 py3: update the python3-whitelist with new tests which pass on Python 3
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32894
diff changeset
     7
test-check-pyflakes.t
cc9501fa5574 py3: update the python3-whitelist with new tests which pass on Python 3
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32894
diff changeset
     8
test-check-pylint.t
32854
7a877e569ed6 contrib: check in a whitelist of passing tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff changeset
     9
test-check-shbang.t
7a877e569ed6 contrib: check in a whitelist of passing tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff changeset
    10
test-contrib-check-code.t
7a877e569ed6 contrib: check in a whitelist of passing tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff changeset
    11
test-contrib-check-commit.t
7a877e569ed6 contrib: check in a whitelist of passing tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff changeset
    12
test-ctxmanager.py
33118
cc9501fa5574 py3: update the python3-whitelist with new tests which pass on Python 3
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32894
diff changeset
    13
test-diff-issue2761.t
cc9501fa5574 py3: update the python3-whitelist with new tests which pass on Python 3
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32894
diff changeset
    14
test-diff-reverse.t
cc9501fa5574 py3: update the python3-whitelist with new tests which pass on Python 3
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32894
diff changeset
    15
test-diff-subdir.t
cc9501fa5574 py3: update the python3-whitelist with new tests which pass on Python 3
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32894
diff changeset
    16
test-dirstate-nonnormalset.t
32854
7a877e569ed6 contrib: check in a whitelist of passing tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff changeset
    17
test-doctest.py
33118
cc9501fa5574 py3: update the python3-whitelist with new tests which pass on Python 3
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32894
diff changeset
    18
test-empty-dir.t
cc9501fa5574 py3: update the python3-whitelist with new tests which pass on Python 3
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32894
diff changeset
    19
test-excessive-merge.t
cc9501fa5574 py3: update the python3-whitelist with new tests which pass on Python 3
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32894
diff changeset
    20
test-issue1089.t
cc9501fa5574 py3: update the python3-whitelist with new tests which pass on Python 3
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32894
diff changeset
    21
test-issue1993.t
cc9501fa5574 py3: update the python3-whitelist with new tests which pass on Python 3
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32894
diff changeset
    22
test-issue842.t
cc9501fa5574 py3: update the python3-whitelist with new tests which pass on Python 3
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32894
diff changeset
    23
test-locate.t
32854
7a877e569ed6 contrib: check in a whitelist of passing tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff changeset
    24
test-lrucachedict.py
33118
cc9501fa5574 py3: update the python3-whitelist with new tests which pass on Python 3
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32894
diff changeset
    25
test-manifest.py
cc9501fa5574 py3: update the python3-whitelist with new tests which pass on Python 3
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32894
diff changeset
    26
test-merge-default.t
cc9501fa5574 py3: update the python3-whitelist with new tests which pass on Python 3
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32894
diff changeset
    27
test-merge-subrepos.t
cc9501fa5574 py3: update the python3-whitelist with new tests which pass on Python 3
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32894
diff changeset
    28
test-merge2.t
cc9501fa5574 py3: update the python3-whitelist with new tests which pass on Python 3
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32894
diff changeset
    29
test-merge5.t
cc9501fa5574 py3: update the python3-whitelist with new tests which pass on Python 3
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32894
diff changeset
    30
test-revlog-packentry.t
32854
7a877e569ed6 contrib: check in a whitelist of passing tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff changeset
    31
test-run-tests.py
7a877e569ed6 contrib: check in a whitelist of passing tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff changeset
    32
test-unified-test.t
33118
cc9501fa5574 py3: update the python3-whitelist with new tests which pass on Python 3
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32894
diff changeset
    33
test-update-reverse.t
32854
7a877e569ed6 contrib: check in a whitelist of passing tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff changeset
    34
test-xdg.t