plans for 0.0.6 release

Rusty Russell rusty at rustcorp.com.au
Fri Jun 3 01:49:16 BST 2005


On Wed, 2005-06-01 at 10:39 -0500, Nicholas Nethercote wrote:
> - I think the "to" syntax is horrid -- ambiguous and thus error-prone both
>    to implement and use, and inconsistent with every other command line
>    option in the universe.  "4 to 5" might look nice and Python-ish, but
>    Python-style syntax doesn't mix well with shell syntax.
> 
> - I think using '-' as a range operator is bad.  '-' is already used
>    to introduce options (ie. -r), and also in some revision names, so why
>    overload it with another meaning?  It just makes command lines harder to
>    parse (for humans and machines).  I mentally parse "-r4-5" as "-r4 -5".

We went down the ":" path in netfilter for port ranges, and I've
regretted it ever since.  It is the most common mistake I make in
writing rules.  Remember that while early adopters of bzr will be
hardcode Unix types, the majority of users on a reasonable timescale
will not be.  "-" is the grammatical, historical and most intuitive
choice.

There is no parsing ambiguity when combined with the "<namespace>:"
syntax, which I think everyone quite likes.

> - I quite like ':' as a range operator, it works fine in Subversion.  But
>    if ':' has another use in revision names, then avoiding overloading
>    it is a good idea.

: has merit because it is used in CVS and svn.  CVS also uses :: to
indicate a collapsed range in some cases.  Two -r options are used in
RCS.  

> - This leaves '..' which seems best:  it's intuitive, easy to read, easy
>    to implement and doesn't have any prior meaning, AFAIK.  And I don't
>    recall anyone else complaining about it.

Unfortunately, this is neither intuitive nor established.  My preference
would be to have a canonical form of "-r A-B" or "-r A -r B" but also
allow svn-style : ranges for simple numeric ranges (which otherwise
would be a clear syntax error and just irritate svn users).

Rusty.
-- 
A bad analogy is like a leaky screwdriver -- Richard Braakman





More information about the bazaar mailing list