9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: "Bakul Shah via 9fans" <9fans@9fans.net>
To: 9fans <9fans@9fans.net>
Subject: Re: [9fans] VCS on Plan9
Date: Thu, 18 Apr 2024 16:15:16 -0700	[thread overview]
Message-ID: <F4D2F793-65D2-40C7-B7A4-AEFF1EAAB736@iitbombay.org> (raw)
In-Reply-To: <CAEoi9W6t636YRSu9nPCbvuFiNVMK=UPi_e4BKRcUyfZZddmCiQ@mail.gmail.com>

On Apr 18, 2024, at 1:41 PM, Dan Cross <crossd@gmail.com> wrote:
> 
> Culturally, there was a feeling that source revision a la RCS, SCCS,
> etc, were unnecessary because the dump filesystem gave you snapshots
> already. Moreover, those were automatic and covered more than one file
> at a time; RCS/SCCS required some discipline in that one had to
> remember to check in a new revision. And as Paul said, the idea of an
> atomic, multi-file changeset was revolutionary at the time.

Readers here may be interested in our experience (circa 1982!)

At Fortune Systems, in 1982, Dave Yost come up with "cloned
tree" system for source code control. The idea was, each
developer gets their own src tree where all the files are
initally hard linked with the mastr tree (& are readonly). We
modified vi to always save the old file foo as ,foo and write
out a new file foo. [Note that the Rand editor e which many
of us used already did this.] This makes it easy to see that
files with link count == 1 are modified locally.  When some
feature / bugix is complete, someone would manually "commit"
changes to the "master" branch using diff to review them.
Dave wrote a paper about this called "A Rich Man's SCCS" in
Usenix Summer 1985.

Looking back, we had some (fuzzy) idea of a change set. But
we didn't have a way to keep a log of what changed and why.
And we didn't automate "commit". We did have a way of naming
top level trees ("frozen" ones by the date of the latest
modified file, development ones by the version we were
working on + developer name). We also modified tar to allow
saving and restoring a set of trees (recreating links for
identical files).
------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/Tab2715b0e6f3e0a5-Me7d866a5dbc8db8e84dd93be
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

  parent reply	other threads:[~2024-04-18 23:15 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-18 15:54 certanan via 9fans
2024-04-18 16:02 ` Jacob Moody
2024-04-18 16:05   ` certanan via 9fans
2024-04-18 16:11 ` Paul Lalonde
2024-04-18 20:26   ` Bakul Shah via 9fans
2024-04-18 20:41     ` Dan Cross
2024-04-18 21:00       ` Steve simon
2024-04-18 21:40         ` Dan Cross
2024-04-19  4:09           ` ori
2024-04-19 14:01             ` Dan Cross
2024-04-18 21:48       ` Shawn Rutledge
2024-04-18 23:17         ` Bakul Shah via 9fans
2024-04-18 23:52           ` Dan Cross
2024-04-19  0:09         ` Jacob Moody
2024-04-18 23:15       ` Bakul Shah via 9fans [this message]
2024-04-20  8:30       ` Giacomo Tesio
2024-04-20 19:11         ` Dan Cross
2024-04-18 16:34 ` cinap_lenrek
2024-04-18 16:47   ` Dave Eckhardt
2024-04-19  9:07     ` Edouard Klein
2024-04-19  9:34       ` Stuart Morrow
2024-04-18 20:08 ` Ori Bernstein

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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=F4D2F793-65D2-40C7-B7A4-AEFF1EAAB736@iitbombay.org \
    --to=9fans@9fans.net \
    /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.
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 NNTP newsgroup(s).