From: "Eric S. Raymond" <esr@thyrsus.com>
To: David Kastrup <dak@gnu.org>
Cc: emacs-devel@gnu.org
Subject: Re: vc-state-heuristic is gone
Date: Mon, 24 Nov 2014 03:33:10 -0500 [thread overview]
Message-ID: <20141124083310.GA29913@thyrsus.com> (raw)
In-Reply-To: <874mtp58a9.fsf@fencepost.gnu.org>
David Kastrup <dak@gnu.org>:
> > Affected back ends: SCCS, RCS, CVS, SVN, Bazaar. I've already tested
> > with RCS and any change in preformance is now so small that a human is
> > not capable of registering it.
>
> For local files, presumably. Both NFS and Tramp exist and are in use,
> however, so the "no cache" philosophy should likely not extend to
> operations which can be triggered repeatedly during keystrokes that do
> not explicitly invoke VC-based operations.
I hope I am parsing your last sentence correctly. You do not appear
to be suggesting anything about how VC should work, but making a general
observation about *other* modes that have local caching.
Matters have advanced significantly on my feature branch since the
email you are replying to. The following comment now lives in vc.el:
;;; Changes from the pre-25.1 API:
;;
;; - The 'editable' optional argument of vc-checkout is gone. The
;; upper level assumes that all files are checked out editable. This
;; moves closer to emulating modern non-locking behavior even on very
;; old VCSes.
;;
;; - vc-state-heuristic is gone. Previously defined in bzr, CVS,
;; RCS, and SCCS, it was an attempt to circumvent the slowness of
;; disk operations on older hardware (and in the case of bzr,
;; unreasonable slowness of older bzr versions). With modern hardware
;; the tradeoffs have changed; it's OK to go direct to disk, and by doing
;; so avoid various TOCTOU bugs and issues with what happens if you
;; perform version-control operations behind Emacs's back.
;;
;; - the vc-mistrust-permissions configuration variable is gone; the
;; code no longer relies on permissions except in one corner case where
;; CVS leavs no alternative (which was not gated by this variable). The
;; only affected back end was RCS.
;;
;; - the vc-stay-local-p function, and associated backend methods and
;; configuration variables (including repository-hostname), are
;; gone. Affects the CVS and SVN back ends, but had previously to
;; be half-disabled in the SVN back end anyway because of a
;; performance limitation in the SVN tools. This change disables
;; asynchronous diffs and asynchronous annotation in CVS and SVN,
;; but that's OK as we need to make that an upper-level capability
;; that extends across all backends.
;;
;; - The init-revision function and the default-initial-revision
;; variable are gone. These have't made sense on anything shipped
;; since RCS, and using them was a dumb stunt even on RCS.
;;
;; - The vc-register function and its backend implementations no longer
;; take a first optional revision argument, since on no system since
;; RCS has setting the initial revision been even possible, let alone
;; sane.
The next thing I'm going to look at is unifying the status-querying
functions.
--
<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>
next prev parent reply other threads:[~2014-11-24 8:33 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-23 21:56 vc-state-heuristic is gone Unknown
2014-11-24 8:09 ` David Kastrup
2014-11-24 8:33 ` Eric S. Raymond [this message]
2014-11-24 9:02 ` David Kastrup
2014-11-24 9:49 ` Eric S. Raymond
2014-11-24 10:35 ` David Kastrup
2014-11-24 10:46 ` Eric S. Raymond
2014-11-24 11:57 ` Michael Albinus
2014-11-24 13:03 ` Testing the new VC code Eric S. Raymond
2014-11-24 18:35 ` Steinar Bang
2014-11-24 19:05 ` Eric S. Raymond
2014-11-25 1:52 ` Yuri Khan
2014-11-25 2:52 ` Eric S. Raymond
2014-11-25 4:25 ` Stefan Monnier
2014-11-25 8:31 ` Steinar Bang
2014-11-25 8:43 ` Steinar Bang
2014-11-25 9:09 ` David Kastrup
2014-11-25 9:12 ` Steinar Bang
2014-11-25 10:03 ` Andreas Schwab
2014-11-24 19:39 ` Michael Albinus
2014-11-25 2:50 ` Eric S. Raymond
2014-11-25 6:44 ` David Kastrup
2014-11-25 13:22 ` Ergonomics and neurology for interface designers Eric S. Raymond
2014-11-25 14:15 ` David Kastrup
2014-11-25 21:29 ` Eric S. Raymond
2014-11-25 16:32 ` Testing the new VC code Stephen J. Turnbull
2014-11-25 12:12 ` Michael Albinus
2014-11-25 13:42 ` Eric S. Raymond
2014-11-25 14:55 ` Michael Albinus
2014-11-25 21:17 ` Eric S. Raymond
2014-11-26 10:12 ` Michael Albinus
2014-11-26 11:46 ` Eric S. Raymond
2014-11-25 14:35 ` Stefan Monnier
2014-11-25 21:25 ` Eric S. Raymond
2014-11-24 14:40 ` vc-state-heuristic is gone Stefan Monnier
2014-11-24 16:17 ` Richard Stallman
2014-11-25 5:15 ` Karl Fogel
2014-11-25 5:47 ` Eric S. Raymond
2014-11-24 16:17 ` Richard Stallman
2014-11-24 17:52 ` Eric S. Raymond
2014-11-25 13:20 ` Richard Stallman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20141124083310.GA29913@thyrsus.com \
--to=esr@thyrsus.com \
--cc=dak@gnu.org \
--cc=emacs-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).