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

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

RE: [Gnu-arch-users] Re: address@hidden: Re: Re: tla1.2 on cygwin]


From: Parker, Ron
Subject: RE: [Gnu-arch-users] Re: address@hidden: Re: Re: tla1.2 on cygwin]
Date: Fri, 12 Mar 2004 11:00:41 -0600

> From: Stefan Monnier [mailto:address@hidden
> Sent: Wednesday, March 10, 2004 7:49 AM

> > Long path names -- bah -- that's orthogonal.  Stupid filesystems are
> > not the future --- acomodate, but do not apply hammer to one's head
> 
> I just don't see the advantage of long redundant path names.
> They are user-visible in lines like
> 
> A  
> {arch}/emacs/emacs--monnier/emacs--monnier--0/address@hidden
> treal.ca--first/patch-log/patch-12

How about a testimony from a convert.  (If you don't like it, delete it.)  I
can't believe I've come to appreciate Tom's position on this, but I have and
my reasoning is simple.  I tend to have tons of buffers open in my editor,
whether I am using vim or emacs.  [Yes, I have and do use both.  I prefer
vim for regular editing and emacs for debugging.  Heresy! :-)]  Since I have
been working with patched and unpatched versions of tla, I have found it
necessary to plumb the depths of the {arch} and {archives} directories.
When doing so, I can immediately tell looking at the file listing in a
buffer what level of the directory structure I am viewing.

As an example, if I see the following in vim:

        " Press ? for keyboard shortcuts
        " Sorted by name (.bak,~,.o,.h,.info,.swp,.obj at end of list)
        "=
/home/rdparker/src/tla-tutorial/,,run-tutorial-archive.1508/{archives}/examp
le/
        ../     
        =meta-info/
        hello-world/
        tla/
        emacs/
        ...

I pretty well know I am looking at categories.  If on the other hand I see:

        " Press ? for keyboard shortcuts
        " Sorted by name (.bak,~,.o,.h,.info,.swp,.obj at end of list)
        "=
/home/rdparker/src/tla-tutorial/,,run-tutorial-archive.1508/{archives}/examp
le/hello-world/hello-world--mainline
        ../     
        hello-world--mainline--0.1/
        hello-world--mainline--0.2/
        hello-world--mainline--1.0/
        hello-world--mainline--1.1/

or

        " Press ? for keyboard shortcuts
        " Sorted by name (.bak,~,.o,.h,.info,.swp,.obj at end of list)
        "=
/home/rdparker/src/tla-tutorial/,,run-tutorial-archive.1508/{archives}/examp
le/emacs/emacs--mainline
        ../     
        emacs--mainline--21.1/
        emacs--mainline--22.1/
        emacs--mainline--23.1/

then, I know I am looking at versions of the mainline branch of hello-world
or the mainline branch of emacs.  Yeah, yeah, but you say the entire thing
is displayed on the directory line two lines above the listing.  That is
true, but even a programmer has only on locus of attention, and when I am
looking at a directory listing it is on the listing, not on the
informational text at the top of the listing, which appears in a different
color.  Now lets look at the same information redisplayed as it would appear
given the non-redundant directory names that I had originally advocated and
that other continue to advocate:

        " Press ? for keyboard shortcuts
        " Sorted by name (.bak,~,.o,.h,.info,.swp,.obj at end of list)
        "=
/home/rdparker/src/tla-tutorial/,,run-tutorial-archive.1508/{archives}/examp
le/hello-world/mainline
        ../     
        0.1/
        0.2/
        1.0/
        1.1/

and

        " Press ? for keyboard shortcuts
        " Sorted by name (.bak,~,.o,.h,.info,.swp,.obj at end of list)
        "=
/home/rdparker/src/tla-tutorial/,,run-tutorial-archive.1508/{archives}/examp
le/emacs/mainline
        ../     
        21.1/
        21.2/
        21.3/

At least to my way of seeing things less obvious than the two listings
above.  This is even more pronounced when looking at the branch level, since
branches tend to have similar names:

        " Press ? for keyboard shortcuts
        " Sorted by name (.bak,~,.o,.h,.info,.swp,.obj at end of list)
        "=
/home/rdparker/src/tla-tutorial/,,run-tutorial-archive.1508/{archives}/examp
le/hello-world
        ../     
        hello-world--mainline/
        hello-world--devo/
        hello-world--experimental/

        vs.

        " Press ? for keyboard shortcuts
        " Sorted by name (.bak,~,.o,.h,.info,.swp,.obj at end of list)
        "=
/home/rdparker/src/tla-tutorial/,,run-tutorial-archive.1508/{archives}/examp
le/hello-world
        ../     
        mainline/
        devo/
        experimental/

I will concede that it *is* ugly when looking at the output of find as in
"find '{archives}'":

        ...
        ./{archives}/2003-candice
        ./{archives}/2003-candice/.archive-version
        ./{archives}/2003-candice/=meta-info
        ./{archives}/2003-candice/=meta-info/name
        ./{archives}/2003-candice/hello-world
        ./{archives}/2003-candice/hello-world/hello-world--candice
        
./{archives}/2003-candice/hello-world/hello-world--candice/hello-world--cand
ice--0.1
        
./{archives}/2003-candice/hello-world/hello-world--candice/hello-world--cand
ice--0.1/base-0
        
./{archives}/2003-candice/hello-world/hello-world--candice/hello-world--cand
ice--0.1/base-0/++revision-lock
        
./{archives}/2003-candice/hello-world/hello-world--candice/hello-world--cand
ice--0.1/base-0/++revision-lock/+contents
        
./{archives}/2003-candice/hello-world/hello-world--candice/hello-world--cand
ice--0.1/base-0/checksum
        
./{archives}/2003-candice/hello-world/hello-world--candice/hello-world--cand
ice--0.1/base-0/checksum.cacherev
        
./{archives}/2003-candice/hello-world/hello-world--candice/hello-world--cand
ice--0.1/base-0/CONTINUATION
        
./{archives}/2003-candice/hello-world/hello-world--candice/hello-world--cand
ice--0.1/base-0/hello-world--candice--0.1--base-0.patches.tar.gz
        
./{archives}/2003-candice/hello-world/hello-world--candice/hello-world--cand
ice--0.1/base-0/hello-world--candice--0.1--base-0.tar.gz
        
./{archives}/2003-candice/hello-world/hello-world--candice/hello-world--cand
ice--0.1/base-0/log

But, you know what a little script cleans that up nicely:

        #!/bin/sh
        #
        # afind -- Perform a find on an arch directory removing the
redundancy
        find $*|sed 's=/[^/]*--=/=g'

Then "afind '{archives}'" produces:

        ...
        ./{archives}/2003-candice
        ./{archives}/2003-candice/.archive-version
        ./{archives}/2003-candice/=meta-info
        ./{archives}/2003-candice/=meta-info/name
        ./{archives}/2003-candice/hello-world
        ./{archives}/2003-candice/hello-world/candice
        ./{archives}/2003-candice/hello-world/candice/0.1
        ./{archives}/2003-candice/hello-world/candice/0.1/base-0
        
./{archives}/2003-candice/hello-world/candice/0.1/base-0/++revision-lock
        
./{archives}/2003-candice/hello-world/candice/0.1/base-0/++revision-lock/+co
ntents
        ./{archives}/2003-candice/hello-world/candice/0.1/base-0/checksum
        
./{archives}/2003-candice/hello-world/candice/0.1/base-0/checksum.cacherev
        
./{archives}/2003-candice/hello-world/candice/0.1/base-0/CONTINUATION
        
./{archives}/2003-candice/hello-world/candice/0.1/base-0/base-0.patches.tar.
gz
        
./{archives}/2003-candice/hello-world/candice/0.1/base-0/base-0.tar.gz
        ./{archives}/2003-candice/hello-world/candice/0.1/base-0/log

Or using a little more sophisticated sed script:

        #!/bin/sh
        #
        # afind -- Perform a find on an arch directory removing the
redundancy
        find $*|sed ':b
                s=\(.*\)/\([^/]*\)/\(.*\)/\2--=\1/\2/\3/...=
                s=\(.*\)/\([^/]*\)/\2--=\1/\2/...=
                t b'

will show exactly where information has been elided, if you prefer:

        ./{archives}/2003-candice
        ./{archives}/2003-candice/.archive-version
        ./{archives}/2003-candice/=meta-info
        ./{archives}/2003-candice/=meta-info/name
        ./{archives}/2003-candice/hello-world
        ./{archives}/2003-candice/hello-world/...candice
        ./{archives}/2003-candice/hello-world/...candice/...0.1
        ./{archives}/2003-candice/hello-world/...candice/...0.1/base-0
        
./{archives}/2003-candice/hello-world/...candice/...0.1/base-0/++revision-lo
ck
        
./{archives}/2003-candice/hello-world/...candice/...0.1/base-0/++revision-lo
ck/+contents
        
./{archives}/2003-candice/hello-world/...candice/...0.1/base-0/checksum
        
./{archives}/2003-candice/hello-world/...candice/...0.1/base-0/checksum.cach
erev
        
./{archives}/2003-candice/hello-world/...candice/...0.1/base-0/CONTINUATION
        
./{archives}/2003-candice/hello-world/...candice/...0.1/base-0/...base-0.pat
ches.tar.gz
        
./{archives}/2003-candice/hello-world/...candice/...0.1/base-0/...base-0.tar
.gz
        ./{archives}/2003-candice/hello-world/...candice/...0.1/base-0/log

And you know what, if my fingers get used to typing "afind" instead of
"find" its probably not going to cause a whole lot of problems for other
directory listings.

So there you have it, one convert's revised position.  Take it or leave it
as you please.

Hey Tom could we change the "base-0' directory to
hello-world--candice--0.1--base-0 for consistency's sake?  Just kidding.
Man, you guys take everything so seriously. :^)
-- 
RPD2

I am not a droid, I am a redeye, master of electric doors.




reply via email to

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