gnu-arch-users
[Top][All Lists]
Advanced

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

Re: [Gnu-arch-users] abrowse and rbrowse (what rbrowse has that abrowse


From: James Blackwell
Subject: Re: [Gnu-arch-users] abrowse and rbrowse (what rbrowse has that abrowse doesn't)
Date: Thu, 13 May 2004 21:34:22 -0400

I'm confused. Are you worried that somebody is going to take abrowse
away from you and replace it with a tool that doesn't work quite as
good? If so, don't worry. abrowse isn't going anywhere in the near
future.  abrowse and rbrowse can *happily* co-exist for an eternity, 

The usefulness of rbrowse doesn't become really apparent until you're
either hunting for a specific patch, or you've got a lot of
categories/branches/versions to weed through. Here's some uses for
rbrowse (some of which I've used):

tla rbrowse --all ^tla--.*  | show every tla category in every archive
                            | you have registered (useful with snaps)
                            |
tla rbrowse --1\.2\.1--     | show all of my categorys and branches for
                            | my locally named 1.2.1
                            |
tla rbrowse \               | show all patches in the address@hidden 
  -A address@hidden \   | archive which has "ascii" in the
  --patch-regex ascii       | description
                            |
tla rbrowse \               | show all patches that have the word
   --patch-regex delta  \   | that have "delta" in them with a category
   \(^|--\)tla                | or branch that starts with the subphrase
                            | "tla" (untested)

I can even do a "tla rbrowse -A address@hidden -D --patch-regex miles",
and see that Tom last credited you with a patch on January 9th, 2004. 

As far as I know, there is only one thing that abrowse knows how to do
that rbrowse doesn't; namely, list merges.

The tradeoff for this is that right now rbrowse has not been refactored
yet to be as fast (both perceptually and physically) as possible 


> On Tue, May 11, 2004 at 12:14:31PM -0400, James Blackwell wrote:
>> The main differences between abrowse and rbrowse is that abrowse offers
>> limiting via a LIMIT interface, and rbrowse limits by using a regular
>> expression interface. 
>
> Hmmm, sorry.  Perhaps I interpreted the help message, which says:
>
>    usage: tla rbrowse [options] [LIMIT REGEX]
>
> That makes look like it accepts two optional arguments, a LIMIT and a REGEX.
> I take it you're saying it's actually `[LIMIT_REGEX]'?
>
>> > abrowse can be much faster if you're listing a slow remote archive, and
>> > specify a particular category/branch.  The reason is that abrowse only
>> > accesses the category/branch you specify, but rbrowse -- to best of my
>> > knowledge (based on observation, not reading the code) -- fetches
>> > everything and then only prints what matches.
>> 
>> Though there was a problem, it was fixed months ago. Both commands
>> actually run in the same time. These days, if you time both abrowse and
>> rbrowse from start to finish, you should end up with the same timing.
>
> Hmmm, I did a few informal tests when I sent that message, and the rbrowse
> seemed much slower (with my very slow dialup connection).  So does this
> means there's a bug somewhere?
>
>> > rbrowse could be optimized to use abrowse-style behavior when a limit is
>> > specified, and then should be as fast as abrowse in that case, but it
>> > hasn't been done yet.
>> 
>> Pardon? Why would you want to replace regexes with limits? The point to
>> rbrowse is to replace limits with regexes.
>
> Sorry, the description of rbrowse having a `LIMIT' arg was based on my
> misreading of the help (see above).
>
> However (with the current implementation at least) the use of regexps can
> lead to some inconvenient behavior compared with limits.  E.g.:
>
>  (1) They currently don't seem to be anchored in any way, so doing `rbrowse
>      foo' will actually list categories `foo', `foo-bar', branche names
>      matching `foo', etc.  Since I think its a very common to want to simply
>      list the contents of a particular category, and it's also common to have
>      several categories with the similar names (foo, foo-tests, etc), this
>      can be annoying.
>
>  (2) abrowse will automatically use the given LIMIT to select the correct
>      archive, but with rbrowse you have to use the -A option to make it
>      search something other than your default archive.
>
>      E.g., my default archive is address@hidden'.  If I want to
>      browse in address@hidden/tla-tools', I can do:
>
>       tla abrowse address@hidden/tla-tools
>
>      but an equivalent rbrowse command yields no output, which is pretty
>      counter-intuitive.
>
>      This could _probably_ be fixed by some judicious pre-archive-scan
>      handling of the regexp, e.g., if the regexp contains a `/', match
>      against the archive-list first, but the free-form nature of regexps make
>      this hard to do in an entirely clean manner.
>
> I think the nicest solution to problems like the above would be to use
> regexps that had domain-specific alterations, e.g., `.' would only match
> inside components, and would not span `/', `--', etc., and make matches
> always anchored by default, e.g. `foo' would only match `foo' and you'd have
> to use `foo.*' to match `foo-bar'.
>
>> > [BTW, I notice that abrowse and rbrowse use different amounts of
>> >  indentation; perhaps this should be made consistent, in case somebody's
>> >  tools are keying off indentation level?]
>> 
>> Rbrowse's indentation looks the same to me as the rest of tla.
>
> rbrowse uses 3 spaces per level of indent, abrowse uses 2.
>
> Thanks,
>
> -Miles
> -- 
> "1971 pickup truck; will trade for guns"
>
>
> _______________________________________________
> Gnu-arch-users mailing list
> address@hidden
> http://mail.gnu.org/mailman/listinfo/gnu-arch-users
>
> GNU arch home page:
> http://savannah.gnu.org/projects/gnu-arch/
>


-- 
James Blackwell          Please do not send me carbon copies of mailing
Smile more!              list posts. Such mail is unsolicited. Thank you!

GnuPG (ID 06357400) AAE4 8C76 58DA 5902 761D  247A 8A55 DA73 0635 7400




reply via email to

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