monotone-devel
[Top][All Lists]
Advanced

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

[Monotone-devel] Re: address@hidden: data exchange between archives


From: graydon hoare
Subject: [Monotone-devel] Re: address@hidden: data exchange between archives
Date: Tue, 09 Mar 2004 10:33:39 -0500
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6b) Gecko/20031205 Thunderbird/0.4

Gerhard Schuck wrote:

Sorry for sending this to you directly. I tried to send it to the monotone mailig list, but it never showed up there.

no problem, the developer list appears to be broken (well, lagging by 3-4 days) for the past week. no explanation why. I'll cc: this back there just in case it comes to life again.

Now my question: How do I change data between archives? More
precicely, how do I transport a) one certain status of a branch (as
described in a manifest, e.g. the head) or b) a whole branch (from
initial import to head(s) including all changelogs) from one archive to
another on the same computer. Let's say from /home/gs/monotone/archive1.db to /home/gs/monotone/archive2.db. With tla I think at least a) is done with tagging or star-merge.

well, there's not a good way for monotone to do (a) alone right now, but since it's subsumed in case (b) perhaps that'll be enough. you probably want to do a netsync, just between the two databases locally.

suppose your branch is called jp.ne.parkcity.geschu, then you would do something like this:


  $ monotone --db=archive1.db serve localhost jp.ne.parkcity.geschu &
  $ monotone --db=archive2.db sync localhost jp.ne.parkcity.geschu
  $ kill -QUIT %1


that's the general formula for netsync. the only tricky part is that you need to tell the server to accept reads and writes from the client (since it could potentially be serving to the whole internet otherwise). so, assuming your RSA keypair is called address@hidden, you need to put something like this in your ~/.monotonerc:


function get_netsync_read_permitted(collection, identity)
        return (identity == "address@hidden")
end

function get_netsync_write_permitted(collection, identity)
        return (identity == "address@hidden")
end


hope that helps. the netsync documentation was sort of intentionally obscure to avoid turning too many newcomers onto it before it had stabilized; it'll be elaborated a bit in the next release.

-graydon




reply via email to

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