help-rcs
[Top][All Lists]
Advanced

[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:

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

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
source?

/john


reply via email to

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