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

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

Re: [Gnu-arch-users] Re: Are pristine trees really dead?


From: Tom Lord
Subject: Re: [Gnu-arch-users] Re: Are pristine trees really dead?
Date: Sat, 10 Jan 2004 08:36:06 -0800 (PST)


    > From: Aaron Bentley <address@hidden>

    [re merge from miles]

    > My heart sank when I saw this, because I've been working on my
    > own pristine-killing patch. But at a glance, my patch solves a
    > different problem.  

Yes.  Also, when I went to bed last night (just FYI) I was in the
middle of merging in your "missing revision" error message
improvements.

    > When a greedy library wasn't the first
    > library, find_or_make_local_copy ignored it.

    > With my changes, all greedy libraries are considered, and the
    > greedy to be used is chosen by the criteria library_add_choice
    > uses: greedies that contain the same version are preferred over
    > greedies that contain the same branch, which are preferred over
    > treedies that contain the same archive, but if there aren't any
    > we use the first-listed greedy.

    > So if you have one or more greedies, no matter where they appear
    > in the path, tla changes, undo, and others will no longer
    > produce pristines.

In other words, this inverts "precedence" and "greediness" in making
the library choice.  It used to be that the same-version-or-branch-or
... library was picked first and then, among the qualifying libraries,
the first listed greedy one or if none of those is greedy then the
first listed.   As a result, if tla wanted to auto add a revision but
the rule picked a non-greedy library, even if there was a greedy
library available, the auto-add wouldn't happen.

Now you're saying: "if _any_ greedy library is on the path then a
greedy library will be used --- then the first one listed with best
precedence".

Your proposed change makes better sense then the rule that's there.



    > The practical upshot of this is that you can use your greedy to
    > track head revisions, while keeping a milestone revisions
    > (e.g. branch points) in a non-greedy that you can manipulate
    > with library-add/remove (and no need to specify which library on
    > the commandline).

Except that I don't understand that last parenthetical.  If I want to
add a revision to the non-greedy milestone library I need to name that
library explicitly on the library-add command line, right?   That's
fine, IMO, but the parenthetical comment suggests it isn't true so
perhaps I misunderstand what you mean.

-t





reply via email to

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