[Top][All Lists]
[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