monotone-devel
[Top][All Lists]
Advanced

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

Re: [Monotone-devel] Re: New commands (for mtn, in lua)


From: Ulf Ochsenfahrt
Subject: Re: [Monotone-devel] Re: New commands (for mtn, in lua)
Date: Wed, 05 Sep 2007 17:31:50 +0200
User-agent: Thunderbird 2.0.0.0 (X11/20070326)

Nathaniel Smith wrote:
On Wed, Sep 05, 2007 at 02:04:23PM +0200, Ulf Ochsenfahrt wrote:
Nathaniel Smith wrote:
The main concern people had was of plain 'mtn update' misbehaving when
people were offline -- hanging for a long timeout, blowing up, etc.
Not sure how much of a problem that would be in practice.  One way to
find out would be to just enable it and see who screams :-).
I have around 106 projects in my database with a total of 5648 revisions. Automatically syncing on update is absolutely _not_ an option for me.

I don't understand the connection between these two sentences.  Could
you expand?

Ah, I'm sorry. I was a bit quick with hitting the send button. Afterwards I tried to figure out what the actual reasons are for me to be so horrified by that proposal.

Let's see. On this machine, with a hot cache, mtn sync takes about 4.5 seconds when there is nothing to sync. On my laptop, an empty sync is considerably slower. I assume that is because this machine has 4 GB RAM, and my laptop is teetering along with 512 MB (my main database is about 296 MB). For a sync *, monotone loads (almost) the entire database. (And maybe this could be improved.)

I can't try it out right now, but let's say my laptop takes about 20 secs per sync: for 106 projects, that totals about 35 minutes.

Of course, it boils down to:
How do I actually manage the updateing of 106 projects?

The way monotone currently works means it is a lot of work to manage many projects if you do that by hand. Well, no, that's not quiet correct. The network code makes syncing many projects very very easy. The part that's a lot of work is checking that all projects are commited, or up-to-date.

As far as I can tell, 99% of our users would be happier if we did (and
I am one of those users).  Usually I run update because I want to
bring my workspace up to the latest code before starting to hack, and
to get the latest code I need to check with the project server.  So
I'm having trouble seeing on what basis these things objectively
"don't belong together". Again, could you expand?

One of the reasons why I've switched over to monotone is that it seperates very cleanly between network commands and non-network commands. The new update command would mix those up. There is, as you say, a clear use case for mixing them up, but should that be the default behavior? Should the mixed sync+update be a core command? Or should the mixed sync+update rather be an additional alias?

I don't know. I guess the proposal isn't as unreasonable as my first impression of it was (and I'm certainly not 99% of users).

Cheers,

-- Ulf

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature


reply via email to

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