[Top][All Lists]

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

[Gnu-arch-users] [BUG] FEATURE PLANS: zoomed trees

From: Tom Lord
Subject: [Gnu-arch-users] [BUG] FEATURE PLANS: zoomed trees
Date: Mon, 24 May 2004 16:58:13 -0700 (PDT)

A zoomed tree is a tree with a ./{arch}/++SELECTION file
and with some other files and strange rearrangements.

The file 


should contain a directory name.  The root of the zoomed tree (the one
containing ./{arch}) is taken to be the directory named in ++ZOOMED
rather than the project tree.

The directory


contains numbered subdirs each of which contains a ++ZOOMED file of
its own along with some contents of that directory.

A zoomed tree corresponds to a particular MOD tree which can be
formed this way:

        Begin with a copy of the ORIG tree (the immediate ancestor      
        of the zoomed tree).

        Delete everything that matches ++SELECTION

        Call the result the TARGET.

        Make an untangled copy of the zoomed tree by starting
        with an empty /., adding all prefix directories mentioned
        in the various ++ZOOMED files (along with their tag files, if
        any), and then by adding all of the files and dirs from the
        zoomed tree (at the appropriate location).

        It is an error if not all files in the untangled tree (other
        than the prefix directories) match the limit.  It is an error
        if any of the prefix directories match the limit.

        Overlay the untangled tree onto the TARGET tree.

        If that succeeds, it is the MOD tree implied by the zoomed

The new command option:

        % tla get --selection SELECTION --zoom SUBDIR REVISION [DIR]

creates a zoomed tree using the indicated SELECTION and SUBDIR.

For example, to check out just the `libawk' subdirectory of the tla
source, you could use:

        % echo '(selection (cb "./libawk"))' > ,selection

        % tla get --selection ,selection --zoom ./libawk tla--devo--1.3

In the resulting zoomed directory, you can edit and commit changes as
usual -- they'll be "projected back" into a full tla--devo--1.3 tree
by the rules for turning a zoomed tree into a MOD tree, and the rules
for doing a selected commit in that MOD tree.



Like my work on GNU arch, Pika Scheme, and other technical contributions 
to the public sphere?   Show your support!


address@hidden for payments.


        The cause of death is birth.
                        -- George Harrison

reply via email to

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