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 15:33:27 -0500
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.6b) Gecko/20031205 Thunderbird/0.4

Miles Bader wrote:

On Sat, Jan 10, 2004 at 12:10:23AM -0500, Aaron Bentley wrote:
Now I'll go look at Miles' patch.

It's just one line that changes the default in the `get' command...
I've modified it so now it will can use any greedy present. The changes are in patch-14, and they depend on patch-12. Note that since you weren't specifying a particular library, I believe there were cases you'd auto-add to a non-greedy by accident.

Here's a chart of the new behavior:
                 | no option | --library  | --link     | --both
samedev greedy    | greedy    | any        | greedy     | any
non-samedev greedy| greedy    | any        | plain      | plain
samdev plain only | pristine  | plain      | plain      | plain
non-samedev plain | pristine  | plain      | error      | error
no library        | pristine  | error      | error      | error

Notes:
"samedev" means a library that we can hard-link to
"any" means we choose based on the standard precedence
"plain" means "non-greedy".  It's just shorter.

I'm not personally a fan of adding to non-greedy libraries when just --link is specified, but that was the previous behaviour, and may be desired by others.

On the macro level:
My patches have almost removed the use of arch_greedy_library_wants_revision(), and if they are accepted, I propose removing it in favour of arch_greedy_add_choice(). library_wants_revision() only tells us whether the first library is greedy, not whether there are any greedy libraries, and changing its meaning breaks other code.

Also, arch_cmd_get() appears to have considerable overlap with arch_find_or_make_local_copy(). Perhaps we should extend find_or_make_local() and have cmd_get() use it.

Aaron




reply via email to

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