[Top][All Lists]

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

Re: [Monotone-devel] interface version / command matrix

From: Stephen Leake
Subject: Re: [Monotone-devel] interface version / command matrix
Date: Fri, 28 Mar 2008 20:51:37 -0400
User-agent: Gnus/5.1008 (Gnus v5.10.8) Emacs/22.1 (windows-nt)

Thomas Moschny <address@hidden> writes:

> Thomas Keller wrote:
>> Stephen Leake wrote:
>> > With your proposal, the automate interface version is not changed
>> > until just before the release, so my solution no longer works (for
>> > future changes).
>> interface_version is not designed to support such things, because it
>> would make it too complex to handle them. An easy solution to your
>> problem could be: "if you work with hand-compiled development versions
>> of monotone, disable the version check in your application unless you
>> work with a release version".
> Which brings me to the question: Why don't we abandon this serial 
> interface-revision number at all, and replace it with a keyword-based 
> capabilities string resp. list?

I like this. Other tools do similar things.

For example, when I added the --no-ignored etc options to automate
interface, I could have added each of those options as separate
keywords, or a single keyword "inventory-options".

Then if the only thing I care about is whether the current instance of
mtn automate inventory supports --no-ignored, I get a clear answer; I
don't have to worry whether the change from 7.0 to 8.0 means
--no-ignored went away.

> There's a drawback: The list of capabilities can become quite long. And, you 
> could argue, in most cases, it doesn't provide more information than you 
> could get by simply trying to call an automate function, and catching the 
> error returned saying that this function doesn't exist. 

Fetching and checking the list should be much faster than catching the
error. That can be significant. Although the tool should cache the
information, and only encounter the error once.

-- Stephe

reply via email to

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