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: Aaron Bentley
Subject: Re: [Gnu-arch-users] Re: Are pristine trees really dead?
Date: Sat, 10 Jan 2004 13:48:52 -0500
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.6b) Gecko/20031205 Thunderbird/0.4

Tom Lord wrote:

   > 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".
This in the context of auto-adds, so it was never permissible to add to a non-greedy library. But previously, only the first-listed library was a candidate for auto-adding. Now all greedy libraries are candidates for auto-adding.

The specific greedy library is selected by applying normal precedence to the list of greedy libraries.

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?

I haven't changed user-adds at all*. So if a non-greedy library is a better candidate, it will be selected. Path-order is used as a tie breaker, so if the libraries are equally qualified in every other respect, the first library (i.e. the non-greedy) will be used.

  That's
fine, IMO, but the parenthetical comment suggests it isn't true so
perhaps I misunderstand what you mean.
Is that clearer?

Aaron

*Except possibly by accident.




reply via email to

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