monotone-devel
[Top][All Lists]
Advanced

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

Re: [Monotone-devel] monotone evaluation in commercial project [long]


From: rghetta
Subject: Re: [Monotone-devel] monotone evaluation in commercial project [long]
Date: Wed, 13 Apr 2005 12:01:32 +0200
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.6) Gecko/20050319

Derek Scherger wrote:
rghetta wrote:

Monotone situation seems somewhat comparable, because even a simple
"what errors were corrected this week" requires the same process,
despite having a SQL engine underneath.

depends on how you expect the vcs to answer than question. if all you're looking for is changelog entries with some claim that bug #such-and-such is fixed then you should be fine. monotone also has testresult certs and if you had some testing authority that was running a testsuite and certifying what passed/failed you could query these certs as well, so perhaps it will do what you're looking for?

Yes, I was referring to commit comments, but this applies also to testcerts (or any other custom cert, for that matter). Perhaps the question could be better rephrased as "which changeset were commited this week?". The real problem is getting that information out of monotone without having to parse unformatted data. At the sql level this is trivial, but the cert value is encoded, as you pointed out. Besides, if I understand correctly monotone operation, the database could contain "untrusted" revisions, and only by checking keys and certificates you can filter them out. IMHO, this pretty much rules out direct database access, leaving only the monotone standard commands. But with these even getting the changeset commited this week is not easy: I haven't found a way to get it other than the log command, and that not that easy to parse and requires a working copy (why ?) Besides, I was unable to obtain a log starting point using a date selector (probably my mistake) and anyway you can limit on the number of entries, not on the date/author/whatever.
Any other listing command requires a single id, and thus is unusable.
You can use the automation interface, but that's not easy either: it understands only hex selectors and its output can't be restricted. Perhaps I'm just thick, but how can I get the list of changeset beetween two dates ?

While having all the listing command understand a range could answer this simple case, more advanced queries aren't that simple. As an example: "Which files were changed more than 25 times last month ?" or "What's the mean time beetween successive changes of a file ?" or even "Who's the most/least prolific committer ?" I do not see a way to answer these questions without parsing the entire history and dumping into another database for queries. Obviously monotone is a SCM, not a reporting tool, but most of the informations needed to answer these questions are already in sqlite tables as columns (ok, file informations are not), thus seems such a waste not having some form of querying interface.

A partial solution would be a command to make the exporting process easier and faster by defining a standard exchange format and limiting the scope of output. Perhaps we could also directly export to a "reporting" sqlite database, by flattening *on export* the internal monotone structure to one better suited to reports.

Thanks for reading all this. Next post will be shorter, I promise :-)

Greetings,
        Riccardo













reply via email to

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