9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: Russ Cox <rsc@swtch.com>
To: 9fans <9fans@9fans.net>
Subject: Re: [9fans] Sources Gone?
Date: Thu, 29 Jan 2009 09:18:54 -0800	[thread overview]
Message-ID: <dd6fe68a0901290918j75d8c5fdnf22efeea09db70ae@mail.gmail.com> (raw)
In-Reply-To: <1233246631.4412.106.camel@goose.sun.com>

Replica and cvs/git/mercurial/darcs/whatever solve
similar but different problems.

Onr fundamental difference is that the latter set is
intended to keep trees exactly in sync, whereas
the design of replica expects you to want some files
to contain local changes that persist and are not
synced back in the other direction.  This is anathema
to the version control systems I've used.  (Mercurial,
for instance, used to support it okay, but slowly the
"-f" flags have been dropping off commands, making it
harder and harder.)  I am acutely aware of this problem
because I use cvs and mercurial (git was far too much
trouble a few years ago; maybe it is better now) as a
clumsy synchronization mechanism for plan9port,
and the way I use these tools is the way I used replica,
not the way they are intended to be used.

Replica also attempts to reuse the functionality of
having a network mounted file system (sources)
rather than invent its own protocols, and so on.
Basically it tries to fit into Plan 9 well.
This is probably one of the reasons for the lack of
speed, but it's not insurmountable.  The addition
of fcp made it quite a bit faster, if I recall, and I'm
sure there is still more that could be done.

The replica tools are not SHA1-based because they
cannot depend on the user having a venti to manage
the blocks, and managing a separate copy of the data
(like the dvcs's do) seemed out of character with
fitting well into the surrounding system.

I can easily believe that the replica tools might
accidentally delete your whole file system (but only
the files that you hadn't changed) if sources all of
a sudden claims that the files are gone, like it did
a few days ago.  It's trying to stay in sync with
sources, after all.  This was a case that I would
never have imagined, and it probably needs some
sanity checking.

If I were working on replica today, I would probably
change it to only perform actions listed in the log,
and not take the log merely as a set of hints about
what actions to perform.  Right now, if the log says
"there's a new copy of devmnt.8" and replica looks
and sources and doesn't see it, it assumes that
there is another change to devmnt.8 coming up,
namely its deletion.  It probably shouldn't do that,
as failure modes like sources forgetting its files
demonstrate.

I wrote replica and some fraction of fossil in my spare
time, because I was using Plan 9 and wanted to
make it a more hospitable environment.  I'm not using
Plan 9 anymore, hence not maintaining those tools.
If you, as a user of Plan 9, want the tools to be
better, that's what open source is all about.  You have
the source: fix the things that matter to you and
contribute the changes back.

Russ

P. S.  Erik is right.  Understand the problem before
you throw away the software.  http://www.jwz.org/doc/cadt.html


  reply	other threads:[~2009-01-29 17:18 UTC|newest]

Thread overview: 75+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-01-23 11:56 Gregory Pavelcak
2009-01-23 14:15 ` erik quanstrom
2009-01-23 14:54 ` lucio
2009-01-23 15:09   ` erik quanstrom
2009-01-27 22:59   ` Uriel
2009-01-27 23:32     ` Russ Cox
2009-01-28  0:58       ` Kenji Arisawa
2009-01-28  5:06       ` Uriel
2009-01-28 11:46         ` Iruata Souza
2009-01-28 12:41           ` Charles Forsyth
2009-01-28 13:53         ` erik quanstrom
2009-01-29 12:12           ` Uriel
2009-01-29 13:37             ` erik quanstrom
2009-01-29 16:45               ` Roman V. Shaposhnik
2009-01-29 16:15             ` ron minnich
2009-01-29 16:34               ` Roman V. Shaposhnik
2009-01-29 16:30             ` Roman V. Shaposhnik
2009-01-29 17:18               ` Russ Cox [this message]
2009-01-29 17:30                 ` erik quanstrom
2009-01-29 17:43                   ` Russ Cox
2009-01-29 17:39                 ` gas
2009-01-29 21:09                 ` Roman V. Shaposhnik
2009-01-29 21:42                   ` erik quanstrom
2009-01-29 23:05                     ` Roman V. Shaposhnik
2009-01-29 23:49                       ` erik quanstrom
2009-01-30  0:28                         ` Russ Cox
2009-01-30  4:46                           ` [9fans] Venti and version control (Was: Sources Gone?) lucio
2009-01-30  5:18                       ` [9fans] Sources Gone? lucio
2009-01-31 13:45                         ` Bruce Ellis
2009-01-31 18:12                           ` Akshat Kumar
2009-01-31 18:44                             ` Bruce Ellis
2009-02-02 22:33                         ` Roman V. Shaposhnik
2009-02-02 22:43                           ` erik quanstrom
2009-02-02 23:26                             ` Roman V. Shaposhnik
2009-02-02 23:39                               ` erik quanstrom
2009-02-03 10:04                             ` Richard Miller
2009-02-03  4:23                           ` lucio
2009-02-03  5:23                             ` erik quanstrom
2009-02-03  5:47                               ` lucio
2009-02-03 12:54                                 ` erik quanstrom
2009-02-03 13:38                                   ` roger peppe
2009-02-03 14:01                                     ` erik quanstrom
2009-02-03 16:13                                       ` Anthony Sorace
2009-02-03 16:22                                         ` erik quanstrom
2009-02-03 16:51                                       ` roger peppe
2009-02-03 16:55                                         ` erik quanstrom
2009-02-03 17:30                                         ` Brian L. Stuart
2009-02-05  1:24                                           ` Roman V. Shaposhnik
2009-02-03 17:42                                       ` lucio
2009-02-03 17:40                                     ` lucio
2009-02-03 17:51                                       ` erik quanstrom
2009-02-04  8:40                                   ` sqweek
2009-02-04 16:40                                     ` [9fans] Some arithmetic [was: Re: Sources Gone?] Nathaniel W Filardo
2009-02-04 17:10                                       ` Nathaniel W Filardo
2009-02-04 17:49                                       ` hiro
2009-02-05 11:19                                         ` Dave Eckhardt
2009-02-05 17:38                                           ` Russ Cox
2009-02-05 17:41                                             ` erik quanstrom
2009-02-05 18:08                                               ` Roman V. Shaposhnik
2009-02-05 18:22                                                 ` Micah Stetson
2009-02-05 18:29                                                   ` Roman V. Shaposhnik
2009-02-05 18:31                                                     ` erik quanstrom
2009-02-05 18:32                                               ` hiro
2009-01-30  4:25                     ` [9fans] Sources Gone? lucio
2009-01-29 22:33                   ` Russ Cox
2009-01-29 22:58                     ` Roman V. Shaposhnik
2009-01-29 23:06                       ` Russ Cox
2009-01-29 12:13           ` kokamoto
2009-01-27 23:11   ` Patrick Kristiansen
2009-01-28  0:11     ` Tharaneedharan Vilwanathan
2009-01-28  5:55       ` lucio
2009-01-29 18:00 erik quanstrom
2009-01-29 18:00 erik quanstrom
     [not found] <2b0250f2fe16a645a4641825c2f33741@quanstro.net>
2009-02-03 17:27 ` lucio
2009-02-05  1:20   ` Roman V. Shaposhnik

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=dd6fe68a0901290918j75d8c5fdnf22efeea09db70ae@mail.gmail.com \
    --to=rsc@swtch.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).