monotone-devel
[Top][All Lists]
Advanced

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

[Monotone-devel] Newbie Questions (Partially philosophical?)


From: William Uther
Subject: [Monotone-devel] Newbie Questions (Partially philosophical?)
Date: Fri, 8 Apr 2005 20:41:14 +1000

Hi,

  A few questions, some philosophical, some practical.

Firstly, I've read the docs. I've seen the archives, and done some simple searches, kissed honey lips, felt the healing in her fingertips, but still haven't found what I'm looking for. If there was a good thread on this in the archives, just tell me and I'll go look harder.

Now some philosphy. I'm used to cvs/subversion. Having said that, I like the idea of being able to work offline, and I think monotone has some great ideas (the idea of multiple heads in the repository is very interesting). One thing that worries me about the monotone design is that in order to check out the head of some project I need to download the entire development history. I saw some posts on the mailing list that commented about the fact that it took 5 or 6 commands, but none that commented about the extra download. Is this seen as a problem by others?

Suggestion (from someone ignorant of details): would it be possible to have monotone download just enough to figure out the LCA of any revision (just manifests?). The actual diff text could (optionally) be left on the remote server. Pointers to the remote server could be placed in the local monotone db, and the remote server only accessed when those diff bodies are actually needed. You could download the entire set if you have space, or you could have a harsh cache policy of throwing out all but head revisions, or anything in between those extremes.

And on to the practical stuff. I downloaded the MacOS monotone binary, and decided to check out the monotone source. i) That is the first time I've seen a zipped binary posted on the web without so much as a README. ii) I couldn't successfully check out the monotone source. I followed the instructions on the web. At the "pull" command I got a failure. I tried again, got further, but again the pull didn't complete.

% tone --db=~/tone.db --key="" pull off.net net.venge.monotone
monotone: warning: doing anonymous pull
monotone: connecting to off.net
monotone: rebuilding merkle trees for collection net.venge.monotone
monotone: [bytes in: 649446] [bytes out: 163845] [certs in: 1578] [revs in: 57]
monotone: read from fd 5 (peer off.net) failed, disconnecting
address@hidden:~:Fri 8,  5:12PM]
% tone --db=~/tone.db --key="" pull off.net net.venge.monotone
monotone: warning: doing anonymous pull
monotone: connecting to off.net
monotone: rebuilding merkle trees for collection net.venge.monotone
monotone: [bytes in: 11848857] [bytes out: 566235] [certs in: 6060] [revs in: 2207]
monotone: verifying new revisions (this may take a while)
monotone: [bytes in: 22959139] [bytes out: 566235] [certs in: 6060] [revs in: 2207]
monotone: read from fd 5 (peer off.net) failed, disconnecting
address@hidden:~:Fri 8,  5:59PM]

Any ideas as to what might be wrong?

Thanks,

Will          :-}

P.S. You say in the FAQ that patch commuting and 3-way merge are fundamentally different. I beg to differ - I think they are very similar.

Imagine I have three revisions: Ancestor, Old and New.

     Ancestor
       /\
      /  \
    Old  New

I 3-way merge the diffs between Ancestor and New into Old, to get a new revision, Final.

     Ancestor
       /\
      /  \
    Old  New
     \   .
      \ .
     Final

The diff between Old and Final should be exactly the diff between Ancestor and New commuted with the diff between Ancestor and Old.

This is causing me flashbacks: http://red-bean.com/pipermail/changesets/2003-April/000095.html

--
Dr William Uther                           National ICT Australia
Phone: +61 2 9385 6357               Computer Science and Engineering
Email: address@hidden          University of New South Wales
Web: http://www.cse.unsw.edu.au/~willu/     Sydney, Australia





reply via email to

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