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

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

[Gnu-arch-users] Re: designing how to kill pristine trees


From: Miles Bader
Subject: [Gnu-arch-users] Re: designing how to kill pristine trees
Date: 07 Oct 2003 16:55:12 +0900

Denys Duchier <address@hidden> writes:
> > So I'm not exactly sure how tla could accomodate this, other than by
> > having a hardwired algorithm like the one I previously suggested.
> 
> tla caching-method?

The issue in my mind was whether it was OK to have `special purpose'
algorithms like that at all (well I think my algorithm's generally
useful actually but at least some people disagreed).

I'd like to have a little more control than just a toggle though, if
possible, e.g., maybe my invlib path could look something like:

   
sibling#.pristines:sibling#.revlib:/usr/local/arch-pristines:/usr/local/arch-revlib

[Where `:' is the path separator, and `sibling#FOO' is some magic syntax
meaning `use a "sibling" dir called FOO']

However, I suspect there will be cries that the above is ugly, and it's
probably unnecessary if tla would call a script to construct the
revlib-path.

For instance, here's a script that implements the algorithm I described
earlier.  A small twist being that it actually finds _two_ revision
libraries for the sources, one for `pristines' (automatically managed
cache), and one for `library entries' (user managed):

   #!/bin/sh
   # Construct a tla revision library path.
   # CWD should be in the tree tla wants to operate on.
   # The returned path is separated by `:'; the first entry is considered
   # special in that it is used for automatically cached revisions.

   # Default
   REVLIB_PATH="/usr/local/arch-pristines:/usr/local/arch-revlib"

   # Find sibling root
   SIBS=""
   DIR="`pwd`"
   while :; do
     test "$DIR" = / && break
     cd ..
     PARENT="`pwd`"
     test -r "$DIR/{arch}/.arch-project-tree" && SIBS="$PARENT"
     DIR="$PARENT"
   done

   if test "$SIBS"; then
     REVLIB_PATH="$SIBS/.pristines:$SIBS/.revlib:$REVLIB_PATH"
   fi

   echo "$REVLIB_PATH"

-Miles
-- 
`To alcohol!  The cause of, and solution to,
 all of life's problems' --Homer J. Simpson




reply via email to

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