1 |
Ian Stakenvicius: |
2 |
> |
3 |
> I'm not that worried about the big (multi-package) commits, as it does |
4 |
> make sense we're going to have difficulty and lots of potential |
5 |
> conflicts there, but aren't we going to run into this issue just with |
6 |
> multiple people committing separate single-package commits at the same |
7 |
> time?? |
8 |
> |
9 |
|
10 |
Yes. If that becomes a major problem, then we have to say goodbye to the |
11 |
central repository workflow, because we either |
12 |
* allow inconsistency and broken states as we do now with CVS (and rely |
13 |
on QA to run a repoman tinderbox and reverse-fixing broken crap) |
14 |
* require devs to rebase+merge and rerun repoman 10+ times in order to |
15 |
get a single commit pushed |
16 |
|
17 |
It is already pretty gross and broken to have ~200 people have direct |
18 |
push access to a single repository. |
19 |
|
20 |
However, having ~150 commits per day I don't think this commit rate is |
21 |
high enough to deadlock push access. |
22 |
|
23 |
git pull --rebase=preserve && repoman full && git push origin master |
24 |
|
25 |
or something similar. This can even be implemented a bit more sanely |
26 |
within repoman or another script, but I don't think we need that yet. |
27 |
|
28 |
It's also possible that projects start accumulating changes in branches |
29 |
or even their own repositories to minimize the amount of pushes to |
30 |
master. The merge-rate will be something that has to be dynamically |
31 |
figured out and will improve tree quality. |
32 |
|
33 |
We shouldn't try to map our CVS workflow 1:1 to git, so there have to be |
34 |
changes in workflow. The optimum would be to have a real review workflow |
35 |
enforced with only a handful of people having direct push access, but I |
36 |
doubt this will work in our current community and mindset. |
37 |
However, such a review workflow can dynamically evolve, because it's git |
38 |
after all! If that happens, we can just make it a policy at some point |
39 |
or even implement it on infra-level. |