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

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

Re: [Gnu-arch-users] losing pristine trees? Slowdown for network archive


From: Tom Lord
Subject: Re: [Gnu-arch-users] losing pristine trees? Slowdown for network archives...
Date: Sun, 5 Oct 2003 11:38:44 -0700 (PDT)

    > From: Paul Hedderly <address@hidden>

    > > [me:]
    > > You indirectly raise a good requirement for proposed caching
    > > algorithms that I left out:  

    > Which I think I was trying to raise directly;

Sorry, I was skimming and basically just repeated what you said:

    >> Suppose I get from some (say, remote) archive.   Currently,
    >> `what-changed' works thereafter, always, without needing to recontact
    >> that archive.   This remains true even if I rename the project-tree I
    >> created with `get'.


------

    > My point was that if there is no pristine tree (in the local {arch})
    > then what-changed is going to have to compare with a revlib in the
    > archive (which could be over a distant network).

Please choose your words more carefully.   A "revlib" (revision
library entry) is never part of an archive.  (You clearly get the idea
-- it's just the vocabulary i'm griping about.)


    > This raises a) that network may not be available. So I can't commit or
    > update anyway, but I can no longer what-changed, undo/redo etc.
    > b) commands like what-changed, undo, redo and anything that depend on
    > those are going to be much slower.

    > Just say if I clearly don't understand :O)

The idea is still to have a local tree like the pristine tree, but not
under {arch}.

The issue you're raising concerns the lifetime of that local tree.
When it's under {arch}, then unless I explicitly remove it, its
lifetime is automatically the same as the project tree itself.   If
it's not under {arch}, then it's lifetime is independent of the
project tree.

So if the caching tools delete it automatically, for some reason --
then perhaps `what-changed' and friends stop working from that tree
until I can contact the remote archive.   Alternatively, if they don't
automatically remove it -- when does it get removed?   Do I have to
remember to do that myself?

In past excursions through this design space, the best I've been able
to come up with is to try to have one cache per device.   That way, I
can use a hard-link from the project tree into the cache as a kind of
reference count.

This now occurs to me too:  perhaps the pristine can be retained under
{arch}, but as a .tar.gz.   Therefore, the copy in a separate cache
can be deleted and recreated at whim -- but there's no problem with
find-like traversals descending into pristines, etc.

-t





reply via email to

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