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

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

Re: [Gnu-arch-users] pristine-trees


From: Tom Lord
Subject: Re: [Gnu-arch-users] pristine-trees
Date: Wed, 17 Sep 2003 10:43:52 -0700 (PDT)

    > From: Teemu Ikonen <address@hidden>

    > Whenever a project tree is constructed from the archive, a verbatim copy 
of
    > the source tree is made under the {arch}/++pristine-trees/... directory.
    > [.... which is icky for several reasons ...]

    > I have no clue on the arch implementation or specification, but is it 
really
    > necessary to keep two copies of the source on the project tree, as the
    > committed revisions can easily be obtained from the archive anyway?


Yes and no.   In terms of the available, ready-made solutions: yes,
that's currently necessary.

In terms of what you or someone can (and should) hack up without too
much trouble: no, it's not necessary.

You mentioned that you are new to arch so I'm sorry if this goes past
you.  This is something I've been quietly encouraging the user
community to work on for a while now:

If you have the revisions you need in a revision library, then the
pristine trees aren't needed.    They'll be built anyway, by default,
but there are options to avoid them and it's a simple matter to change
the default on a per-user basis.

So the needed trick is to make sure that you have the revisions you
need in a revision library.    There are a couple of issues:

It's desirable to add revisions to the revision library "on demand" --
so that if arch needs one you don't currently have, it is
automatically added.    I can add a few additional hooks to tla which
are called when a given revision is demanded.

For many users, it's desirable to _not_ just keep every revision
you've ever needed in a revision library.   It would be better to
recycle some disk space from time to time.   This, too, is a small
matter of scripting -- not something that needs to be built in to tla
per se.

In many situations, it will be desirable to _eagerly_ add some
revisions to the library, rather than waiting until they are demanded.
If a good heuristic is developed for adding revisions you're likely to
need, in the background, that will help performance.

So, in essense, all that's really needed to kill off pristine trees is
a little bit of scripting, and perhaps a new hook or two in tla.

-t






reply via email to

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