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: Markus Schiltknecht
Subject: Re: [Monotone-devel] Re: New commands (for mtn, in lua)
Date: Wed, 05 Sep 2007 22:54:54 +0200
User-agent: Icedove 1.5.0.12 (X11/20070607)

Hi,

Ulf Ochsenfahrt wrote:
For a sync *, monotone loads (almost) the entire database. (And maybe this could be improved.)

(And this needs to be done on the client *and* on the server) Of course, netsync can still be improved. And IMO absolutely *must* be improved before even thinking about merging sync+update into one command!

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.

My common workload is quite different, as I'm storing all of my projects in a single database. Although there are only about a dozen different projects, they sum up to 53k revisions in a 494 Mb database. A single sync takes half a minute.

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.

That's why I'm storing all of the projects in one single database: much less administrative overhead and just one netsync run.

One of the reasons why I've switched over to monotone is that it seperates very cleanly between network commands and non-network commands.

Exactly! Please keep separate things separate. And KISS, instead of trying to figure out automatically what the user wants.

In my case, I certainly don't want to trigger a sync before each and every update. Instead, something like "at startup, then every 30 minutes and before shutdown" fits my workflow much better. And if you are now thinking "cronjob!", you've just stumbled across another point in the UNIX philosophy: write programs that do one thing and do it well.

Regards

Markus





reply via email to

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