9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: Bakul Shah <bakul@bitblocks.com>
To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net>
Subject: Re: [9fans] CMS/MMS (VCS/SCM/DSCM) [was: syscall 53]
Date: Wed, 21 May 2014 23:00:08 -0700	[thread overview]
Message-ID: <20140522060008.6058CB827@mail.bitblocks.com> (raw)
In-Reply-To: Your message of "Thu, 22 May 2014 07:36:54 +0200." <a350a03cf77e9db1453d5ecec4cf2521@proxima.alt.za>

On Thu, 22 May 2014 07:36:54 +0200 lucio@proxima.alt.za wrote:
> > Though the idea of a scmfs (for checkins as well) and using
> > vac/venti as a backend is starting to appeal to me : )
>
> Let's open the discussion, Plan 9 has some baseline tools other OSes
> are still thinking about and will probably implement stupidly.  Since
> RCS I've been thinking that there has to be a better way and CVS went
> a long way to satisfy my personal requirements.  Now may well be the
> time to look at fresher options.

I am attaching an excerpt from an old email (May 26, 2011)
that I never sent.  These ideas are not even half baked.  But
may be they will trigger some creative thoughts.

On Thu, 26 May 2011 20:16:11 EDT erik quanstrom <quanstro@quanstro.net>  wrote:
>
> file servers are great, but hg concepts aren't really file-system oriented.
> it might be nice to be able to
> 	diff -c (default mybranch)^/sys/src/9/pc/mp.c
> but hg diff figures out all the alloying stuff, like the top-level of the
> repo anyway.  also, ideas like push, pull, update, etc., don't map very well.
> so a hg file server seems to me a bit like, "have hammer, see nail".

I thik the filesystem model is more like an electric motor
that powers all sorts of things given the right attachments!

> if i'm missing why this is an interesting idea, i'd love to know what
> i don't see.

I partially agree with you; hence the suggestion about editor
integration.

It is just that I have wondering about just how far the FS
model can be pushed or extended seamlessly in various
directions.

In the context of SCMs, we can map a specific file version to
one specific path -- this is what hgfs above does.  But what
about push/pull/commit etc.? One idea is to to map them to
operations on "magic" files.

For example,
- local file copies appear as normal files.
- cat .hg/status  == hg status
- cat > .hg/commit == hg commit
- cat .hg/log == hg log
- echo -a > .hg/revert == hg revert -a
- echo $url > .hg/push == hg push $url
- echo $url > .hg/pull == hg push -u $url
- ls .hg/help
- cat .hg/help/push

In fact the backend SCM need not be mercurial; it can git,
venti etc. Can we come up with a minimal set of features?

Do we gain anything by mapping $SCM commands to special files?
The same question can be asked about many of existing plan9
filesystems. At least for me visualizing new uses is easier
when more things can be fitted in a simpler model.

Features such as atomic commits, changesets, branches, push,
pull, merge etc. can be useful in multiple contexts so it
would be nice if they can integrated smoothly in an FS.

Example uses:
- A backup is nothing but a previous commit. A nightly
  backup cron job to do "echo `{date} > .commit"
- an offsite backup is a `push'.
- Initial system install is like a clone.
- An OS upgrade is like a pull.
- Installing a package is like a pull (or if you built it
  locally, a commit)
- Uinstall is reverting the change.
- Each machine's config can be in its own branch.
- You can use clone to create sandboxes.
- A commit makes your private temp view permanent and
  potentially visible to others.
- Conversely old commits can be spilled to a backup
  media (current SCMs want the entire history online).
- Without needing a permanent connection you can `pull' data.
  [never have to do `9fs sources; ls /n/sources/contrib'.]

A better integration can inspire new uses:
- a timemachine like a gui can help quickly scroll through
  changes in some file (or even a bird's eye view of changes
  in all the files).
- combining versioning + auto push/pull with other filesystems
  can open up new uses. You can keep your own daily archive of
  http://nyt.com/ or see how a story develops by scrolling through
  changes.

Just some things I was mulling about. As you can see there are
lots of open questions & half-baked ideas to sort through.



  reply	other threads:[~2014-05-22  6:00 UTC|newest]

Thread overview: 107+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-17 19:11 [9fans] syscall 53 goo
2014-05-17 21:17 ` Jeff Sickel
2014-05-17 22:21   ` Jeff Sickel
2014-05-17 22:45   ` Skip Tavakkolian
2014-05-18  4:34     ` lucio
2014-05-18  8:29       ` David du Colombier
2014-05-18 15:28         ` Jeff Sickel
2014-05-18 15:32         ` Skip Tavakkolian
2014-05-18 15:34           ` Skip Tavakkolian
2014-05-18 15:38           ` Jeff Sickel
2014-05-18 16:03             ` Skip Tavakkolian
2014-05-18 22:55               ` Skip Tavakkolian
2014-05-19  1:54                 ` erik quanstrom
2014-05-19  2:27                   ` Jeff Sickel
2014-05-19  4:18                     ` lucio
2014-05-19 12:50                       ` erik quanstrom
2014-05-19 14:01                         ` lucio
2014-05-19 16:24                           ` erik quanstrom
2014-05-19 16:54                             ` erik quanstrom
2014-05-19 17:16                               ` lucio
2014-05-19 17:22                                 ` erik quanstrom
2014-05-19 17:13                             ` lucio
2014-05-19 17:25                               ` erik quanstrom
2014-05-19 19:50                                 ` Bakul Shah
2014-05-19 19:59                                   ` erik quanstrom
2014-05-19 20:54                                     ` ron minnich
2014-05-19 21:30                                       ` Charles Forsyth
2014-05-19 21:41                                         ` ron minnich
2014-05-19 23:02                                           ` Kurt H Maier
2014-05-19 23:06                                             ` andrey mirtchovski
2014-05-19 23:12                                               ` Kurt H Maier
2014-05-19 23:17                                                 ` andrey mirtchovski
2014-05-20  0:09                                                   ` Jeff Sickel
2014-05-19 21:34                                       ` Anthony Sorace
2014-05-20 14:04                                         ` erik quanstrom
2014-05-20 16:41                                           ` ron minnich
2014-05-20 17:14                                             ` erik quanstrom
2014-05-20 18:32                                             ` Kurt H Maier
2014-05-20 19:49                                               ` ron minnich
2014-05-20 19:54                                                 ` erik quanstrom
2014-05-20 20:06                                                 ` Kurt H Maier
2014-05-21 10:23                                                 ` hiro
2014-05-20 20:33                                             ` Jeff Sickel
2014-05-21  1:37                                               ` Skip Tavakkolian
2014-05-21 15:40                                                 ` lucio
2014-05-21 16:25                                                   ` erik quanstrom
2014-05-21 16:56                                                     ` Skip Tavakkolian
2014-05-21 20:05                                                       ` Steffen Nurpmeso
2014-05-22  0:13                                                       ` Bakul Shah
2014-05-22  3:25                                                         ` [9fans] CMS/MMS (VCS/SCM/DSCM) [was: syscall 53] Jeff Sickel
2014-05-22  5:03                                                           ` lucio
2014-05-22  5:07                                                           ` lucio
2014-05-22 13:29                                                             ` erik quanstrom
2014-05-22 13:50                                                               ` lucio
2014-05-22  5:11                                                           ` Bakul Shah
2014-05-22  5:26                                                             ` lucio
2014-05-22 12:57                                                               ` erik quanstrom
2014-05-22 13:43                                                                 ` lucio
2014-05-22 13:57                                                                   ` erik quanstrom
2014-05-22  5:28                                                             ` lucio
2014-05-22  5:36                                                             ` lucio
2014-05-22  6:00                                                               ` Bakul Shah [this message]
2014-05-22  6:18                                                                 ` lucio
2014-05-22 12:45                                                                 ` erik quanstrom
2014-05-22 20:05                                                                   ` Bakul Shah
2014-05-22 20:11                                                                     ` erik quanstrom
2014-05-23 20:07                                                                     ` Steve Simon
2014-05-22  9:52                                                               ` Aram Hăvărneanu
2014-05-22 10:29                                                                 ` lucio
2014-05-22 10:46                                                                   ` Aram Hăvărneanu
2014-05-22 13:03                                                             ` erik quanstrom
2014-05-22  5:23                                                           ` Skip Tavakkolian
2014-05-22  5:47                                                             ` lucio
2014-05-22 12:49                                                               ` erik quanstrom
2014-05-22  7:49                                                           ` Alex Jordan
2014-05-22 12:49                                                             ` Riddler
2014-05-22  3:43                                                       ` [9fans] syscall 53 Kurt H Maier
2014-05-22  5:12                                                         ` lucio
2014-05-22 16:15                                                           ` Kurt H Maier
2014-05-22  5:36                                                         ` Bakul Shah
2014-05-22 10:50                                                           ` Aram Hăvărneanu
2014-05-21 17:01                                                     ` lucio
2014-05-21 17:41                                                       ` erik quanstrom
2014-05-21 19:08                                                         ` lucio
2014-05-21 20:36                                                           ` erik quanstrom
2014-05-22  4:46                                                             ` lucio
2014-05-22 13:18                                                               ` erik quanstrom
2014-05-22 13:39                                                                 ` lucio
2014-05-22 14:22                                                                   ` Riddler
2014-05-22  4:54                                                             ` lucio
2014-05-22 13:07                                                               ` erik quanstrom
2014-05-21  1:21                                             ` Skip Tavakkolian
2014-05-21 15:36                                               ` lucio
2014-05-21 15:57                                                 ` erik quanstrom
2014-05-21 17:03                                                   ` lucio
2014-05-21 16:50                                                 ` Kurt H Maier
2014-05-21 18:02                                                   ` hiro
2014-05-20 17:05                                         ` Bakul Shah
2014-05-20 17:28                                           ` erik quanstrom
2014-05-19 17:26                               ` Charles Forsyth
2014-05-19 17:29                                 ` erik quanstrom
2014-05-19 19:15                                   ` Aram Hăvărneanu
2014-05-19 19:44                                     ` Charles Forsyth
2014-05-19 20:51                                     ` erik quanstrom
2014-05-20  3:52                                     ` cinap_lenrek
2014-05-19  4:15                   ` lucio
2014-05-18  0:34 ` erik quanstrom

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=20140522060008.6058CB827@mail.bitblocks.com \
    --to=bakul@bitblocks.com \
    --cc=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).