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

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

Re: [Gnu-arch-users] Utterly painless arch?


From: Tom Lord
Subject: Re: [Gnu-arch-users] Utterly painless arch?
Date: Tue, 9 Sep 2003 10:00:17 -0700 (PDT)


    > From: Zack Brown <address@hidden>

    > Miles Bader said:
    > > This is definitely true; what I wonder is, is it possible to make it 
utterly
    > > painless to start using arch without introducing obstacles that would 
make it
    > > hard for a project to grow later (for instance, the most `initially 
painless'
    > > tagging-method in arch might actually be `by name', but that causes 
obvious
    > > problems later on)?

Watching IRC and the list, I've learned three things:

a) screwing around with =tagging-method is, indeed, the number one
   problem newbies encounter

b) screwing around with =tagging-method is, even for experienced
   users, a serious pain in the butt when you're trying to make an 
   arch archive of an existing project (such as a mirror of a CVS 
   source)

c) of the huge number of new =tagging-method features planned, a
   single feature, the `untagged-source' directive, solves these
   problems quite well.   As a refresher, the directives:

        untagged-source junk
        untagged-source precious

   will mean to treat files matching the source pattern but lacking
   tags as junk or precious rather than source (in implicit and
   tagline) or unrecognized (in explicit).

   There's an unofficial patch floating around that hard-wires the
   effect of `untagged-source junk' for explicit inventories.

In consequence of this, I'm writing the support for that directive
_today_ and barring unforseen problems, it should be available later
today.   More on that later.




    > When someone starts playing around with arch, they are starting with a
    > scratch directory, probably containing a copy of something they're working
    > on. They want to give a single command, and have that directory become an
    > arch repository with version control features. Next they want to 
experiment
    > with making changes and committing those changes. And thirdly, they want
    > to check out multiple working directories, make various changes (some not
    > conflicting, some conflicting) and see how tla deals with that kind of
    > distributed development.

    > So to make it utterly painless to start using arch, I think the first 
thing
    > would be to create a tla command that takes care of a whole bunch of 
stuff,
    > such as creating an initial archive, branch, etc., and automate all the
    > leg work necessary to get started, and finally import the user's test
    > directory. If there were just a single command that accomplished all that
    > using sane defaults (instead of requiring tons of command-line args) that
    > could be changed by the user later, I think that would make a huge 
difference.

It's already a pretty small number of commands.    From the traffic
I've seen, the biggest obstacle relates to your observation that
people grab some source they already work with, and try to check that
into arch.   Then they run face-first into the need for
=tagging-method customization and can't get through that wall until
they learn what `inventory' does fairly deeply (and, even then, it can
be awkward for some trees).

Two things will help fix that, I think.   One is the `untagged-source'
directive mentioned above.   The other is a single command that let's
you select from a canned list of "pre-sets" for =tagging-method --
perhaps just an option to `init-tree'.


    > The second big piece of overhead is the naming conventions imposed on
    > repositories (I know, I know, but let's avoid the flames please). Its 
enough
    > of a pain just understanding the category--branch--etc style, let alone
    > remembering it later. Someone who just wants to experiment with tla 
doesn't
    > want to have to learn all those naming conventions. It should be possible 
for
    > the user to specify their own arbitrary string to be the name. tla should
    > then provide a mechanism for the user to migrate to the more featureful
    > naming conventions later. If it's impossible for tla to provide its full 
set
    > of features with such a restricted name, then it should provide a 
restricted
    > set, and document those restrictions. Then the user can regain those 
features
    > when they migrate to the proper conventions later.

In all honesty, while people do sometimes complain about the
namespace, I don't think it is a huge obstacle.  I could be wrong.


    > Those two things are the big obstacles IMO. In order for a user to just
    > sit down and use tla, there has to be first of all, a quick way to start 
up
    > a project; and second of all, a way to get around the complex repo naming
    > stuff, even if only temporarily.

    > The tagging method you talk about is another issue, but less important.
    > Default tagging should just be by name, so the user doesn't have to do
    > anything. Let the power users choose better tagging systems, and let
    > novices have things just work reasonably.

No, the default tagging should not be by `names'.  That would
effectively disable some of the most interesting features of arch for
newbies.

I think a decent choice for absolute beginners, especially if they are
a little bit familiar with CVS, is something like:

        explicit
        untagged-source junk

with a source regexp that matches tons of stuff and a `tree-lint' that
warns (not errors out) about things matching source but lacking tags.

Then it's "just like CVS" in the sense that the things you add are
source, the things you don't aren't, and the mystery files give you
the moral equivalent of "? file" output.

Dummy, me: I should have made this change weeks ago.

-t





reply via email to

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