[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

A less invasive rcs

From: John Yates
Subject: A less invasive rcs
Date: Sat, 13 Feb 2021 21:38:37 -0500

I am brainstorming some extensions to rcs that would
Today, we have two places for a working file's ,v file:
  • In the working file's working directory
  • In an RCS subdirectory added to that working directory
I propose a third location, a mirror of that working directory
located by searching upward, through parent directories, for
a "dominating" .rcs directory.  If such a directory is found, it
contains a parallel directory structure:

        ├── src
        │   ├── foo.c
        │   └── bar.c
        ├── inc
        │   ├── foo.h
        │   └── bar.h
        ├── doc
        │   └──
        └── .rcs
            ├── src
            │   ├── foo.c,v
            │   └── bar.c,v
            ├── inc
            │   ├── foo.h,v
            │   └── bar.h,v
            └── doc

How to search for a ,v file:
  • Look in working file's directory
  • If the working directory contains an RCS sub-directory,
    then look there
  • If a "dominating" .rcs directory exists, look in the
    corresponding directory
Where to create a new ,v file:
  • If a "dominating" .rcs directory exists, ensure existence
    of a corresponding directory and create it there
  • If a RCS sub-directory exists, create it there
  • Create it in the working file's working directory
To provide a means of stopping the upward search for a .rcs
marker I propose a very simple .rcsstop marker.

At this point I take some inspiration from git for a separate
directory convention.  This means allowing the "dominating"
.rcs marker to be a file, similar to .git.  If it is a file then it is
a "file system agnostic" symbolic link to an out of tree .rcs
directory.  The contents of this file is

    rcsdir: <path>

Does this seem too crazy?  Any implementation suggestions?
Where is the relevant search logic implemented in the rcs


reply via email to

[Prev in Thread] Current Thread [Next in Thread]