[PATCH 3 of 3 various] branchcache: stay silent if failing to read cache files
Ryan McElroy
rm at fb.com
Tue Apr 14 03:51:28 UTC 2015
On 4/13/2015 1:26 PM, Mads Kiilerich wrote:
> # HG changeset patch
> # User Mads Kiilerich <madski at unity3d.com>
> # Date 1421194526 -3600
> # Wed Jan 14 01:15:26 2015 +0100
> # Node ID 7870d376ee8f4c15b412912600a4e295f1b3fb9b
> # Parent 31a330fcad90837e0c0d858db69e67a7f74ec997
> branchcache: stay silent if failing to read cache files
>
> The warning has in some cases incorrectly attributed unrelated problems to rbc.
>
> Instead, just do like the branch head cache does and stay quiet when reading
> fails. The cache will be missing the first time a repo is used. It is a normal
> situation and there is no reason to make a note of that.
>
> diff --git a/mercurial/branchmap.py b/mercurial/branchmap.py
> --- a/mercurial/branchmap.py
> +++ b/mercurial/branchmap.py
> @@ -335,8 +335,6 @@ class revbranchcache(object):
> self._rbcsnameslen = len(bndata) # for verification before writing
> self._names = [encoding.tolocal(bn) for bn in bndata.split('\0')]
> except (IOError, OSError), inst:
> - repo.ui.debug("couldn't read revision branch cache names: %s\n" %
> - inst)
> if readonly:
> # don't try to use cache - fall back to the slow path
> self.branchinfo = self._branchinfo
> diff --git a/tests/test-casefolding.t b/tests/test-casefolding.t
> --- a/tests/test-casefolding.t
> +++ b/tests/test-casefolding.t
> @@ -28,7 +28,6 @@ test case collision on rename (issue750)
> a
> committing manifest
> committing changelog
> - couldn't read revision branch cache names: * (glob)
> committed changeset 0:07f4944404050f47db2e5c5071e0e84e7a27bba9
>
> Case-changing renames should work:
> diff --git a/tests/test-convert-svn-encoding.t b/tests/test-convert-svn-encoding.t
> --- a/tests/test-convert-svn-encoding.t
> +++ b/tests/test-convert-svn-encoding.t
> @@ -53,7 +53,6 @@ Convert while testing all possible outpu
> source: svn:afeb9c47-92ff-4c0c-9f72-e1f6eb8ac9af/trunk at 1
> converting: 0/6 revisions (0.00%)
> committing changelog
> - couldn't read revision branch cache names: * (glob)
> 4 hello
> source: svn:afeb9c47-92ff-4c0c-9f72-e1f6eb8ac9af/trunk at 2
> converting: 1/6 revisions (16.67%)
>
I'm not sure I'm onboard with this. You expect --debug to be noisy; this
would inform you why something might be slow if you see if in
consecutive invocations. Unless... do we mention in debug mode if we
can't *write* a cache file? If so, then I'm okay with this change. I
just want to make sure we don't remove a clue when someone is trying to
figure out why an operation is slow in a read-only FS.
More information about the Mercurial-devel
mailing list