1 |
First, I've been using git to hack Linux for some embedded devices. My |
2 |
development was in sync with upstream linux-omap to which I sent several |
3 |
patches. So, consider yourself that I have some experience with git. |
4 |
|
5 |
On 06-04-2010 08:41, Fabian Groffen wrote: |
6 |
> On 06-04-2010 07:43:02 +0530, Nirbheek Chauhan wrote: |
7 |
>> * It makes zero sense to manually manage ChangeLogs in git[1] |
8 |
>> - Irritating conflicts while merging branches or remote master |
9 |
>> + Similar argument for having only distfile manifests; but I digress... |
10 |
>> - Duplication of effort and information |
11 |
>> - Saves space for local checkouts |
12 |
> |
13 |
> This seems to assume |
14 |
> a) that we will do branches, and |
15 |
> b) that those branches somehow are official and in use |
16 |
> |
17 |
> In CVS we are not allowed to use branches, as a policy, that somehow |
18 |
> makes sense. Our stable tree is visible via keywords instead. |
19 |
> |
20 |
> Why would we suddenly do branches? It still isn't a good thing. If you |
21 |
> talk about branches in the sense of a clone of the entire repo, why |
22 |
> would we suddenly do massive concurrent development on the same ebuilds? |
23 |
|
24 |
IMHO repository branching would be greatly useful on Gentoo portage, |
25 |
specially for third-party and other Gentoo-based distros. It will be a |
26 |
lot easier for them to keep their own changes to ebuilds while in sync |
27 |
with main Gentoo tree. This is a big win for everyone. |
28 |
|
29 |
With my experience in Gentoo-embedded I can also present a problem where |
30 |
branching is extremely useful: |
31 |
1) Package foobar-1.2 is in the tree and keyworded only for ~x86 ~amd64. |
32 |
2) Some dev at -embedded decides that package is useful and applies his |
33 |
traditional cross-compile hackery. |
34 |
3) The usual route would be to open a shi*load of bugs, wait a cr*pload |
35 |
of time for the maintainer response and if the weather feels like it, |
36 |
there is authorization to commit. Then there is also need to retest for |
37 |
already keyworded arches so we know we don't break others. |
38 |
|
39 |
3*) With git, one would just branch (lets call it embedded branch) the |
40 |
package. Apply the patches there and let people using embedded profiles |
41 |
to emerge from that branch instead of master. |
42 |
Benefits? I think they are pretty obvious - people can start putting |
43 |
quick patches in the tree for specific arches while not breaking others. |
44 |
|
45 |
IMHO, the only bottleneck I see on Gentoo development is the massive |
46 |
policy (not saying it is not needed) a -dev has to follow just to commit |
47 |
a simple fix. Git my friends, will be our holly grail. |
48 |
> |
49 |
> I can tell you from good experience that you only do such things if you |
50 |
> really have to, e.g. when you are in an overlay that needs to have |
51 |
> modifications to nearly everything and you try to keep that overlay |
52 |
> up-to-date with its origin, gentoo-x86. It's no fun, because it |
53 |
> conflicts pretty much on lots of things, not ChangeLogs. |
54 |
> |
55 |
> It seems to me, that if you are in a clone working on something, you |
56 |
> just only write the ChangeLog once you merge it with its origin, |
57 |
> gentoo-x86. You have to review what happened at that stage anyway. |
58 |
> |
59 |
> If you really have lots of changes, you will find that many commits on |
60 |
> the other side will cause you conflicts, so the ChangeLog is just a very |
61 |
> small part of it. Conclusion, if you can, try hard to keep your changes |
62 |
> minimal, and preferably zero compared to the origin, gentoo-x86. |
63 |
> |
64 |
> |
65 |
|
66 |
I don't know why but people seem to have eternal scarring to merge |
67 |
conflicts. Yes, they happen and yes they are trivial to fix if people |
68 |
don't commit crap that touches a lot of stuff. In portage, the tree is |
69 |
very well organized and with some good policies like restricting each |
70 |
commit to one package will pretty much prevent conflicts. |
71 |
|
72 |
I will not comment on if Changelogs are going to give conflicts or not. |
73 |
That would be best answered by the people that is running portage git |
74 |
for some time. |