monotone-devel
[Top][All Lists]
Advanced

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

Re: [Monotone-devel] speed of "mtn ls branches"


From: Daniel Carosone
Subject: Re: [Monotone-devel] speed of "mtn ls branches"
Date: Fri, 18 Jan 2008 07:25:41 +1100
User-agent: Mutt/1.5.17 (2007-11-01)

On Thu, Jan 17, 2008 at 08:36:39PM +1100, William Uther wrote:
>         B) 'mtn ls branches --ignore-suspend-certs' will behave as in i).
>            All branches will be returned, including those with
>            invalid branch certs - Dr Zarkon's plan will succeed.
>            While incorrect, this will be significantly faster than
>            current behaviour.  It is also a behaviour that monotone
>            had for a long time.

So, we need a word that describes both "invalid" branches and
"suspended" or "inactive" branches.  I can't, just at the moment,
think of a good one, so for the purposes of argument, lets call them
"zarkonian" branches.  Is this, then, just a matter of renaming the
option to --allow-zarkonians?

ie, is this really "breaking" the option, or is it "fixing the desired
behaviour" but "breaking the truthfulness of the option name"?

Let's think about what the user might be asking for:

 - show me branches that are alive/interesting (for checkout,
   propagate, etc).  This is "ls branches" and should validate branch
   and suspend certs, and filter accordingly.  Clearly, the common
   operation.

 - show me suspended branches (that I might want to resume or
   otherwise investigate).  This might be something like the as-today
   "ls branches --ignore-suspend-certs", or it might be an "ls
   branches --suspended" or just "ls suspended" which lists *only*
   those, rather than mashing them together with live branches.  I'd
   probably prefer the latter, in terms of answering a useful working
   question.

 - show me everything (because I want to investigate what kind of crap
   is in my db).  This is zarkonian mode, perhaps "ls branches
   --no-validation" or "ls branches --all". Again, as above, perhaps
   *just* list the invalid ones as "ls branches --invalid", though I'm
   less sure of my own preference in this case than above.  Perhaps
   I'd just use sql.

Apart from the speed issue, shell completion probably wants the first
form. I'd find it kinda odd if I was offered completions that "ls
branches" didn't show, and I'd probably want to be sure by typing
explicitly where I wanted to use a suspended or invalid name.  Which
still leaves the speed issue.

--
Dan.

Attachment: pgpcliUk4BKUG.pgp
Description: PGP signature


reply via email to

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