1 |
news@××××××××××××××××××××.uk (Phil Richards) writes: |
2 |
> |
3 |
> Of course, what you *really* want is to do a 3-way merge involving |
4 |
> the "new install" config file, the "previous install" config file, and |
5 |
> the actual config file that the user has determined they want. There |
6 |
> is nothing fundamentally difficult in supporting this type of behaviour, |
7 |
> but it would need some changes to how emerge installs things in config |
8 |
> protected areas. (Anything that changes between releases would then show |
9 |
> up as a possible "patch" to the real file.) |
10 |
> Off the top of my head, you could do it by keeping the most recent |
11 |
> "built" version of a config file rather than deleting it as part of |
12 |
> the etc-update (stuff it in a subdirectory called ".baseversion" |
13 |
> or some such - this has the added benefit that if you screw up a config |
14 |
> file you have a backup of a "default one"). |
15 |
|
16 |
I vehemently agree that the 3-way merge is the only sensible solution. |
17 |
I can't tell you how many times etc-update has left me scratching my |
18 |
head wondering, "is this difference mine or gentoo's?" |
19 |
|
20 |
What I've long thought would be the ideal solution would be to stick |
21 |
the "default" config files for each version of a package into a |
22 |
tarbz2ball in the corresponding directory in the /var/db/pkg |
23 |
hierarchy. As part of the update process, emerge should perform the |
24 |
3-way merge with each config file from the old package directory as |
25 |
ancestor. |
26 |
|
27 |
cheers, |
28 |
Mirian |
29 |
|
30 |
-- |
31 |
gentoo-dev@g.o mailing list |