From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Stephen J. Turnbull" Newsgroups: gmane.emacs.devel Subject: Re: moving SCCS later in vc-handled-backends Date: Wed, 24 Jun 2009 03:44:37 +0900 Message-ID: <87zlbyyelm.fsf@uwakimon.sk.tsukuba.ac.jp> References: <200906230701.n5N71kIi007475@godzilla.ics.uci.edu> <877hz3z6z0.fsf@uwakimon.sk.tsukuba.ac.jp> <874ou7m4dj.fsf@stupidchicken.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1245784594 32209 80.91.229.12 (23 Jun 2009 19:16:34 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 23 Jun 2009 19:16:34 +0000 (UTC) Cc: Dan Nicolaescu , emacs-devel@gnu.org To: Chong Yidong Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Jun 23 21:16:27 2009 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1MJBTn-000518-3e for ged-emacs-devel@m.gmane.org; Tue, 23 Jun 2009 21:16:27 +0200 Original-Received: from localhost ([127.0.0.1]:41463 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MJBTm-0003zW-Fn for ged-emacs-devel@m.gmane.org; Tue, 23 Jun 2009 15:16:26 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MJAyK-0005Q8-RW for emacs-devel@gnu.org; Tue, 23 Jun 2009 14:43:56 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MJAyG-0005KC-4s for emacs-devel@gnu.org; Tue, 23 Jun 2009 14:43:56 -0400 Original-Received: from [199.232.76.173] (port=51663 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MJAyF-0005Jr-Md for emacs-devel@gnu.org; Tue, 23 Jun 2009 14:43:51 -0400 Original-Received: from mtps02.sk.tsukuba.ac.jp ([130.158.97.224]:46058) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MJAyE-0008CW-Lk for emacs-devel@gnu.org; Tue, 23 Jun 2009 14:43:51 -0400 Original-Received: from uwakimon.sk.tsukuba.ac.jp (uwakimon.sk.tsukuba.ac.jp [130.158.99.156]) by mtps02.sk.tsukuba.ac.jp (Postfix) with ESMTP id DF7678210; Wed, 24 Jun 2009 03:43:40 +0900 (JST) Original-Received: by uwakimon.sk.tsukuba.ac.jp (Postfix, from userid 1000) id 5BED712827C; Wed, 24 Jun 2009 03:44:37 +0900 (JST) In-Reply-To: <874ou7m4dj.fsf@stupidchicken.com> X-Mailer: VM 8.0.12-devo-585 under 21.5 (beta29) "garbanzo" 5bbff3553494 XEmacs Lucid (x86_64-unknown-linux) X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:111662 Archived-At: Chong Yidong writes: > "Stephen J. Turnbull" writes: > > > Yes. This change is backward incompatible and buggy; the rationale > > for SCCS being in the "early" group still holds as far as I know, > > unless SCCS has improved its support for whole-tree commits recently. > > I don't recall what this rationale is. Could you elucidate? The difference between the early group and the late group is that the early group consists of "file-oriented" VCSes. This means that you can have file A under RCS and file B under SCCS in the same directory, and vc.el will handle this just fine. However, if you (for some reason) have a directory checked out from CVS and one stray file in it that is under RCS, then if CVS comes before RCS, vc will decide that the directory is under CVS, and report the file under RCS as "unknown", rather than "under RCS control". git, arch, mercurial, and bazaar are even worse: if any ancestor of the directory containing our RCS- or SCCS-controlled file is under git control, git (and vc.el) will check parents, find the GIT_DIR in that directory, with the same result that the SCCS-controlled file is considered to be "unknown" according to git. Thus, having SCCS and RCS come first allows them to coexist peacefully with git and friends in the same hierarchy. Apparently this feature was desired by somebody[1]. Footnotes: [1] There's a fairly common use-case in CVS. The password file for committers is typically kept in CVSROOT but you don't want it checked out with the other admin files there, which are under CVS control! So the master copy of that file is typically kept in RCS on the admin's workstation, in the same directory as the CVS checkout of the rest of the control files.