unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: "Stephen J. Turnbull" <stephen@xemacs.org>
To: Chong Yidong <cyd@stupidchicken.com>
Cc: Dan Nicolaescu <dann@ics.uci.edu>, emacs-devel@gnu.org
Subject: Re: moving SCCS later in vc-handled-backends
Date: Wed, 24 Jun 2009 03:44:37 +0900	[thread overview]
Message-ID: <87zlbyyelm.fsf@uwakimon.sk.tsukuba.ac.jp> (raw)
In-Reply-To: <874ou7m4dj.fsf@stupidchicken.com>

Chong Yidong writes:
 > "Stephen J. Turnbull" <stephen@xemacs.org> 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.





  reply	other threads:[~2009-06-23 18:44 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-06-23  7:01 moving SCCS later in vc-handled-backends Dan Nicolaescu
2009-06-23  7:17 ` Rob Weir
2009-06-23  8:31 ` Stephen J. Turnbull
2009-06-23 14:06   ` Chong Yidong
2009-06-23 18:44     ` Stephen J. Turnbull [this message]
2009-06-23 19:09       ` Dan Nicolaescu
2009-06-24  5:59         ` Stephen J. Turnbull
2009-06-24  6:18           ` Jason Rumney
2009-06-24  6:52           ` Dan Nicolaescu
2009-06-24  7:51             ` tomas
2009-06-24 14:58               ` Dan Nicolaescu
2009-06-24 22:46             ` Stephen J. Turnbull
2009-06-24 21:41   ` Stefan Monnier

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=87zlbyyelm.fsf@uwakimon.sk.tsukuba.ac.jp \
    --to=stephen@xemacs.org \
    --cc=cyd@stupidchicken.com \
    --cc=dann@ics.uci.edu \
    --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).