[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Monotone-devel] announcing preliminary "dumb server" support for mo
From: |
Zbynek Winkler |
Subject: |
Re: [Monotone-devel] announcing preliminary "dumb server" support for monotone |
Date: |
Wed, 12 Oct 2005 21:34:26 +0200 |
User-agent: |
Debian Thunderbird 1.0.2 (X11/20050602) |
I've just started to take a look at this...
Nathaniel Smith wrote:
I finally got tired of people complaining that monotone couldn't be
used in funky situations where running a special-purpose daemon was
too hard, and decided to do something about it. Branch
net.venge.monotone.dumb has some preliminary code in python that can:
dump a monotone database into an opaque filesystem representation
import a monotone database from such an opaque filesystem
representation
synchronize two such opaque filesystem representations over generic
transports. I've written backends for local filesystem
(read/write), SFTP (read/write, requires paramiko+patches,
included), and HTTP and FTP (read-only, requires urlgrabber, not
included). Adding new backends is quite straightforward, there's
a little abstract interface you plug in.
updates a monotone db on the fly while
It has hugely rough corners ATM -- there's no command line interface,
the rollback support isn't _quite_ right, it's slow on large dbs, no
pipelining (should help speed a lot),
Hmm. I quite didn't get the picture until I tried it ;). I didn't have
the patience to wait for the local do_export to finish on the monotone
database... But the speed seems to be (unfortunately) comparable to the
verification of the incomming changesets when doing regular pull. BTW:
What is the limiting factor of the verification step? Does it do some
sorting?
it can't push to FTP yet, not a
proper python package. Oh, and I just noticed that it doesn't include
pubkeys in the data to synchronize, oops.
Could it have something to do with the fact that there seems to be no
'automate keys' anymore? It prints the help message instead... I tried
to use 'list keys' instead. BTW why does the output differ from the
other 'list *'? Anyway, this could help:
in monotone.py:
def key_names(self):
ids = []
for line in self.run_monotone(["list", "keys"]).split("\n"):
if line == "" or line == "[public keys]":
continue
if line == "[private keys]":
break
ids.append(line.split(" ")[1])
return ids
OTOH, it supports monotone's full sync semantics (multiple people can
push to the same "repo", you can have backup "repos" and sync with
them indiscriminately, etc.), and should be reasonably efficient (it
uses merkle tries to do low-overhead set synchronization). Won't be
as fast as netsync, or as flexible (whoever puts up the repo gets to
choose what branches are included, you don't get to pick on the fly
like for netsync), but might be handy for some people...
How do you pick what branches are included? Doesn't it always export the
whole database? I was surprised to find out that it does not
differentiate between files, changesets etc.
Zbynek
--
http://zw.matfyz.cz/ http://robotika.cz/
Faculty of Mathematics and Physics, Charles University, Prague, Czech Republic
- Re: [Monotone-devel] announcing preliminary "dumb server" support for monotone,
Zbynek Winkler <=
- Re: [Monotone-devel] announcing preliminary "dumb server" support for monotone, Nathaniel Smith, 2005/10/12
- Re: [Monotone-devel] announcing preliminary "dumb server" support for monotone, Zbynek Winkler, 2005/10/12
- Re: [Monotone-devel] announcing preliminary "dumb server" support for monotone, Nathaniel Smith, 2005/10/12
- Delta storage (was Re: [Monotone-devel] announcing preliminary "dumb server"...), Zbynek Winkler, 2005/10/14
- [Monotone-devel] Re: Delta storage, Bruce Stephens, 2005/10/14
- [Monotone-devel] Re: Delta storage, Lapo Luchini, 2005/10/14
- Re: [Monotone-devel] Re: Delta storage, Zbynek Winkler, 2005/10/14
- Re: [Monotone-devel] Re: Delta storage, Nathaniel Smith, 2005/10/14
- Re: [Monotone-devel] announcing preliminary "dumb server" support for monotone, Zbynek Winkler, 2005/10/14
- Re: [Monotone-devel] announcing preliminary "dumb server" support for monotone, Nathaniel Smith, 2005/10/14