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

From: Michael Albinus <[email-masked]>
Date: Sun, 12 Apr 2009 20:15:23 +0200

Stefan Monnier <[email-masked]> writes:

>>> 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.
>
> It should be safe to only flush data related to the relevant host.

That I do already, of course.

>> 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.
>
> This is unrelated to RCS, and is indeed a real problem.  For that reason
> I'd expect the cache to be flushed very often, yes.  E.g. in
> post-command-hook.  When do you flush it currently?

Currently, I try to avoid flushing data mostly. In fact, flushing
happens file-wise or directory-wise only, when the file or directory
changes. And also in `revert-buffer'.

What I'm thinking about is using a time-stamp for cached data. Then one
could introduce a user option `tramp-cache-ttl', which is set to the
number of seconds a cache entry shall be kept. `nil' means no flush (as
it is today); 0 means no caching at all.

A value of 5 would have already benefit, because usually there are
several calls of, for example, `file-attributes' during a short time,
because of more complex operations.

>         Stefan

Best regards, Michael.