1 |
On 07-08-2011 07:05:03 -0400, Rich Freeman wrote: |
2 |
> What exactly are you thinking about here. How about this use case: |
3 |
> |
4 |
> I have a list of 150 packages/versions. I want to make all of them go |
5 |
> from ~x86 to x86 at the same time. |
6 |
> |
7 |
> If they're all in one git repo, then I can use a script or whatever to |
8 |
> go through every one at leisure and rekeyword them. Then I can do a |
9 |
> repoman scan on the entire repository for an hour or two if I want. |
10 |
> When I'm happy I can commit everything atomically. |
11 |
> |
12 |
> How do you envision doing this by just making a single commit to the |
13 |
> rsync tree script if the files are in multiple repos? Right now that |
14 |
> rsync tree is pulling in all those files already - in the ~x86 |
15 |
> version. Do you propose cloning all the repos, fixing the arch flag |
16 |
> in the new repos, and then re-pointing the rsync tree atomically? |
17 |
> That would work, but any commits to the 150 packages by others in the |
18 |
> meantime would get lost, and it seems a bit painful to do it this way. |
19 |
> I can see how you could atomically add or remove 150 packages |
20 |
> entirely, but not how you can tweak individual versions of packages |
21 |
> without a fair bit of pain. Admittedly, you could have some clever |
22 |
> solution in mind that I'm just not grokking. |
23 |
|
24 |
Not sure. You could branch I guess. It takes more work, undoubtedly. |
25 |
|
26 |
> The other thing that was tossed out is having multiple repos, but |
27 |
> putting things like kde/gnome in their own bigger repos. I'm not sure |
28 |
> this is going to work, since it only works for those particular |
29 |
> situations. A package can only be in one repo, so you can't have one |
30 |
> repo for kde, and another repo for everything that uses qt, and |
31 |
> another for everything that uses pulseaudio, or whatever. Atomic |
32 |
> changes to many packages could be required for any number of unforseen |
33 |
> reasons. |
34 |
|
35 |
This indeed makes it difficult. |
36 |
|
37 |
> I can see the elegance of allowing the portage tree to be a collage of |
38 |
> packages from different sources, but I'm not convinced we really need |
39 |
> this. Users can already accomplish this on their end with overlays. |
40 |
> It seems like we're just making the portage tree an overlay of its |
41 |
> own. I'm not sure what it really buys us. Just using git in the |
42 |
> first place already simplifies distributed development. If you took |
43 |
> this idea to an extreme you might not have the rsync server assemble |
44 |
> the tree at all, but just push out the official list as a |
45 |
> "recommended" list of overlays, and let the users put their own trees |
46 |
> together (with the ability to override parts of it). |
47 |
|
48 |
I don't feel users should be playing with these things in general. I |
49 |
see the tree assembling thing more as a technical way to deal with some |
50 |
given legacy and limitations. Admittedly, it isn't perfect, and many |
51 |
people seem to intend doing things with a git-based tree that cannot be |
52 |
done with now CVS, and an assembled tree wouldn't really support it out |
53 |
of the box either. |
54 |
|
55 |
|
56 |
-- |
57 |
Fabian Groffen |
58 |
Gentoo on a different level |