monotone-devel
[Top][All Lists]
Advanced

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

Re: [Monotone-devel] Re: Summit brainstorming


From: Markus Schiltknecht
Subject: Re: [Monotone-devel] Re: Summit brainstorming
Date: Wed, 01 Nov 2006 11:37:33 +0100
User-agent: Thunderbird 1.5.0.7 (X11/20060927)

Hi,

Graydon Hoare wrote:
Christof Petig wrote:
I would rather complete partial pull for monotone than ...

Complete? Is there a beginning?

Fair enough. I think actually the way I'd want to do this is in a few separate pieces, to gain a bit of reuse along the way:

>   ...
>
  2. Make the accept() loop also take an option to listen on an extra
     port, and when it sees a connection on that port, fork off a
     subprocess-on-a-pipe that speaks authenticated netsync back to
     itself.

Why a special port? Can't this be part of netsync?

Am I right with my understanding, that this would allow a working copy 'linked' to a remote database?

When thinking about 'partial pull', I'm envisioning something more like:

mtn pull --last=100

(which would pull the last 100 revisions and have the remaining ancestors marked as 'need-to-download')

Of course such a partial pull variant requires much more work to be done for many mtn commands (mainly all which access the history in any way, and thus could step on the 'need-to-download' revisions.)

I can see that a working copy linked to a remote database would have some advantages, but OTOH I think it's somewhat against monotone's distributed nature. A complete 'partial pull' implementation (as I understand it) would give us most of the above functionality with:

mtn pull --last=1

  3. Optionally: write a program that runs "client side" and performs a
     limited subset of monotone functions (checkout, update, merge,
     commit, diff, log?) against an "imperative mode" server.

Why optionally? What would we gain with 1 and 2 without this?

  4. Optionally: write a program that translates CVS pserver commands
     into the imperative netsync commands, that runs server-side
     pretending to be a CVS server.

  5. Optionally: write any number of similar programs to translate
     other tools' command streams into imperative netsync commands.

Oh, so you mean, we could do either 3, 4 or 5, right?

Regards

Markus




reply via email to

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