monotone-devel
[Top][All Lists]
Advanced

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

Re: [Monotone-devel] Re: Replacement for CVS over SSH?


From: Nathaniel Smith
Subject: Re: [Monotone-devel] Re: Replacement for CVS over SSH?
Date: Sat, 3 Apr 2004 12:45:59 -0800
User-agent: Mutt/1.5.5.1+cvs20040105i

On Sat, Apr 03, 2004 at 03:41:23PM +0200, Ole Laursen wrote:
> I've discussed the synchronisation approach with a friend of mine who
> is currently an Arch fan. Doesn't it require one to always have a
> Monotone server process running on the box acting as the central
> repository? Do you know if it is possible to run a daemon as a plain
> user and have it started again if the server box reboots?

Until monotone gets netsync-over-ssh support, yes, it requires an
always-running daemon.  There is a little known way to run a daemon as
a plain user; Vixie Cron has an often undocumented "@reboot" time
specifier.  I.e., if you put a line like
  @reboot ~/start-my-netsync-server
in your crontab, then cron will run ~/start-my-netsync-server every
time the machine is rebooted.  This should work in any Linux
distribution; dunno beyond that, but it appears to have existed in
Vixie cron since at least 1990, so it's likely available in other
places as well...

> According to my friend, one of the neat things about Arch is that it
> does not make life harder if you don't have administrator access to
> the server box. E.g. the ssh: protocol just requires one to have tla
> installed on the server, and HTTP can be used to distribute changes if
> you have a .public_html directory.

Monotone will have netsync-over-ssh soon, so that's just the same.  It
doesn't currently have any way to distribute changes from a flat
filesystem, like Arch does.  I can imagine some really weird ways of
laying out a filesystem that might allow something like read-only
netsync to work, but... I sorta doubt it will happen soon :-).
So Arch's flat-filesystem model is an advantage here.  On the other
hand, it means that sharing a repository among multiple users has
problems.  Looking at
  http://wiki.gnuarch.org/moin.cgi/Centralized_20Development
it appears that your choices are:
  -- create a single shared account that all developers can log into.
  -- create a single shared group that all developers are members of,
     and then _patch ssh_.
I think either of these would be somewhat difficult without
administrator access.  You also lose some reliability -- anyone with
commit access can delete the whole repository, for example, or corrupt
it (possibly silently, maliciously, and anonymously; I'm not sure how
pervasively arch uses crypto these days).  I have to say I'm also a
bit wary of trusting that operations on Arch's repositories are atomic
etc., though it's quite possible they are.  Of course, they do get an
incredibly transparent repository format, as compared to Monotone's
fairly opaque databases.  Trade-offs...

-- Nathaniel

-- 
"On arrival in my ward I was immediately served with lunch. `This is
what you ordered yesterday.' I pointed out that I had just arrived,
only to be told: `This is what your bed ordered.'"
  -- Letter to the Editor, The Times, September 2000




reply via email to

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