You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@subversion.apache.org by "Julian Foad (JIRA)" <ji...@apache.org> on 2018/06/25 14:00:00 UTC

[jira] [Comment Edited] (SVN-4754) Status Cache

    [ https://issues.apache.org/jira/browse/SVN-4754?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16522246#comment-16522246 ] 

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

See also: [Facebook's write-up|https://code.facebook.com/posts/218678814984400/scaling-mercurial-at-facebook/] of the development of the [FsMonitorExtension|https://www.mercurial-scm.org/wiki/FsMonitorExtension] for Mercurial using [Watchman|https://facebook.github.io/watchman/].

See also: git's config option [core.fsmonitor|https://git-scm.com/docs/git-config#git-config-corefsmonitor] and [Watchman hook|https://git-scm.com/docs/githooks#_fsmonitor_watchman].


was (Author: julianfoad):
See also: [Facebook's write-up|https://code.facebook.com/posts/218678814984400/scaling-mercurial-at-facebook/] of the development of the [FsMonitorExtension|https://www.mercurial-scm.org/wiki/FsMonitorExtension] for Mercurial using [WatchMan|https://facebook.github.io/watchman/].

> Status Cache
> ------------
>
>                 Key: SVN-4754
>                 URL: https://issues.apache.org/jira/browse/SVN-4754
>             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
(v7.6.3#76005)