Subject: Re: bug#1741: 23.0.60; vc fail to register file while logged as /su:: with tramp

From: Michael Albinus <[email-masked]>
Date: Thu, 09 Apr 2009 17:06:00 +0200

Stefan Monnier <[email-masked]> writes:

>>>> If I create a new file: "/su:root@localhost:/tmp/blah"
>>>> then to C-x v v to register it, it fails.  But I can see that the 
>>>> /tmp/RCS/blah,v is created.  If after that I do:
>>> 
>>>> M-: (file-exists-p "/su:root@localhost:/tmp/RCS/blah,v") RET
>>>> the result is nil.
>>> 
>>>> If I start a new emacs and do:
>>>> M-: (file-exists-p "/su:root@localhost:/tmp/RCS/blah,v") RET
>>>> the result is t.
>>> 
>>> Hmm... looks like a stale cache.
>>> Michael?
>
>> Yes, a stale cache. I've committed a patch, which adds a file name
>> handler for `vc-registered'. There the cache is disabled temporarily.
>> Works for me. Could you guys, please, check?
>
> I'd rather find a more generic fix.  E.g. can't you flush the cache when
> handling process-file?

That would be too invasive, I believe. The whole cache would be flushed,
even all data which are not related too.

And there might be the case, that a file is registered in RCS (or
whatever backend is used) outside Emacs. Tramp would still have stale
cache data for "/su:root@localhost:/tmp/RCS/blah,v" then.

>         Stefan

Best regards, Michael.