[PATCH 3 of 3 various] branchcache: stay silent if failing to read cache files
Mads Kiilerich
mads at kiilerich.com
Tue Apr 14 08:20:37 CDT 2015
On 04/13/2015 11:51 PM, Ryan McElroy wrote:
> 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.
Yes, --debug will be noisy but it should only emit helpful noise and not
be more noisy than necessary. Emitting a debug message in this case was
kind of an arbitrary choice and now I have a slight preference for not
emitting it.
> 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.
Yes, writing will still emit a debug message.
/Mads
More information about the Mercurial-devel
mailing list