subversion-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Julian Foad (JIRA)" <>
Subject [jira] [Comment Edited] (SVN-4754) Status Cache
Date Mon, 25 Jun 2018 14:00:00 GMT


Julian Foad edited comment on SVN-4754 at 6/25/18 1:59 PM:

See also: [Facebook's write-up|]
of the development of the [FsMonitorExtension|]
for Mercurial using [Watchman|].

See also: git's config option [core.fsmonitor|]
and [Watchman hook|].

was (Author: julianfoad):
See also: [Facebook's write-up|]
of the development of the [FsMonitorExtension|]
for Mercurial using [WatchMan|].

> Status Cache
> ------------
>                 Key: SVN-4754
>                 URL:
>             Project: Subversion
>          Issue Type: New Feature
>            Reporter: Julian Foad
>            Priority: Major
> Core svn should provide a way to cache WC status results, so clients can get a quick
answer to questions like "is the WC modified?"
> Finding the WC status (local modifications) in core svn currently requires crawling the
selected subtree in the filesystem to check the modification dates and sizes of all files,
to see whether any files are modified. The API is svn_wc_walk_status().
> Subversion GUI clients like Cornerstone and TortoiseSVN want to know instantly whether
a given directory contains any local modifications, in order to grey-out or hide buttons like
"Shelve" and "Commit" and "Revert" and/or to show status icons. TortoiseSVN implements its
own status cache for this reason. Cornerstone does not yet, and would like to offer an instant
visual status indication.
> A status cache could be updated by integrating with a filesystem "watching" service where
one is available (FSEvents API on Mac, inotify on Linux, etc.), or by (more or less continuous)
background scanning.
> The command-line client should be able to benefit from such a cache as well, if built
with an appropriate watching or scanning module.
> It's a really old problem. I was surprised I could not find an existing issue, except
for SVN-3038 "caching out-of-date (remotely modified) status" which is a subset or extension
of the basic issue (and was closed due to lack of understanding, from lack of appropriate
discussion, in my opinion).

This message was sent by Atlassian JIRA

View raw message