From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Eric S. Raymond" Newsgroups: gmane.emacs.devel Subject: Re: vc-state-heuristic is gone Date: Mon, 24 Nov 2014 03:33:10 -0500 Organization: Eric Conspiracy Secret Labs Message-ID: <20141124083310.GA29913@thyrsus.com> References: <20141123215659.2CA0C382F79@snark.thyrsus.com> <874mtp58a9.fsf@fencepost.gnu.org> Reply-To: esr@thyrsus.com NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1416818017 1082 80.91.229.3 (24 Nov 2014 08:33:37 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 24 Nov 2014 08:33:37 +0000 (UTC) Cc: emacs-devel@gnu.org To: David Kastrup Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Nov 24 09:33:29 2014 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Xsp5L-00016d-NV for ged-emacs-devel@m.gmane.org; Mon, 24 Nov 2014 09:33:27 +0100 Original-Received: from localhost ([::1]:51408 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xsp5L-0008S8-9l for ged-emacs-devel@m.gmane.org; Mon, 24 Nov 2014 03:33:27 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:38295) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xsp5E-0008Rw-Hs for emacs-devel@gnu.org; Mon, 24 Nov 2014 03:33:24 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Xsp5A-0008BF-5W for emacs-devel@gnu.org; Mon, 24 Nov 2014 03:33:20 -0500 Original-Received: from static-71-162-243-5.phlapa.fios.verizon.net ([71.162.243.5]:56360 helo=snark.thyrsus.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xsp55-00088Y-8n; Mon, 24 Nov 2014 03:33:11 -0500 Original-Received: by snark.thyrsus.com (Postfix, from userid 1000) id DAD283830CD; Mon, 24 Nov 2014 03:33:10 -0500 (EST) Content-Disposition: inline In-Reply-To: <874mtp58a9.fsf@fencepost.gnu.org> X-Eric-Conspiracy: There is no conspiracy User-Agent: Mutt/1.5.21 (2010-09-15) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 71.162.243.5 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:178155 Archived-At: David Kastrup : > > 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. -- Eric S. Raymond