[PATCH 3 of 3 various] branchcache: stay silent if failing to read cache files

Ryan McElroy rm at fb.com
Mon Apr 13 22:51:28 CDT 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