[fpc-other] Git & SVN

Marco van de Voort marcov at stack.nl
Tue May 23 22:19:46 CEST 2017


In our previous episode, Karoly Balogh (Charlie/SGR) said:
> > how to avoid that a push of member X doesn't leave a branch in an
> > undesirable state that leaves member Y three choices:
> 
> How to avoid that member X with commit write access doesn't leave a branch
> in SVN in an undesirable state? :) You have to trust people, and choose
> who you give write access to a given branch/repository, really. This
> didn't really change and not an argument against git.

Trust is that people are not deliberately doing things. For accidental
things there are tools (except GIT, apparently)
 
> And well, in Git you don't push, but people who want to contribute, have a
> pull request. Then you can review that, and either apply to your tree or
> reject it. It's important to understand that in git all repositories are
> equal, and that I have a "make-amiga-great-again" branch, doesn't mean
> that you should have it, I could still send a pull request against your
> master branch, or whatever branch. All pull requests are just a set of
> changes, really.

Yeah, blabla, distributed, anarchy, world domination. I though I did mention
I wanted practical info?

> > 1. push anyway and make the mess worse
> > 2. hold the commit/push
> > 3. clean the mess himself.
> 
> Well, ideally 

I was not asking for ideally. I was asking very specifically how a GIT in a
FPC team group would work.

And no, sending 40+ pull requests to all members of core does not count. So
there is one golden repo and that is what I'm talking about.

> easily. It's the responsibility of the maintainer of a given branch to
> accept that pull request or not, or request further changes before its
> accepted.

So tool failure is fixed by throwing manpower at it?

We don't have an approval person now, so a requirement to that would IMHO be
a dealbreaker for GIT.

> And talking about myself - as much as I enjoy just committing my crap to
> trunk, I sometimes would really prefer review. Not because I'm not a
> senior engineer, but especially because of that... Now if I don't want to
> do a branch in SVN which are huge and expensive (Git branches are cheap
> and small), I either have to commit it first anyway to trunk, then ask for
> a review, or send a patch for review first in e-mail, which is quite
> cumbersome. Plus there's absolutely no warranty, that I later commit the
> same patch which was reviewed.

I would like to have lots of extra manpower too, but I rather not spend it
on what in practice would be rubberstamping commits (and delays in 
distribution till something is approved if the reviewers are AFK). 

This is exactly what I wanted to avoid with the primary case posed in this
subthread: how to avoid blocking the central repo for commits (from a
practical viewpoint)
 
> At work, I don't even push against master, but I do a pull request against
> my own repository, and ask one of my senior colleagues to review... I
> don't know about you, but to me this sounds a lot more like teamwork, than
> going around beating up people "for wrongdoing" with a cluestick.

Then you don't understand what I mean. In the job you go see the person,
work something out, and problem sorted in a few minutes. The odd impossible
person is usually swiftly dealt with.

In distributed, volunteer driven, projects, people are away/nonresponsive for
extended periods of time, working hours (and days) don't match. Also working
this out via mail is much less productive.

> Of course in the end it's just like crypto - you need to have a chain of
> trust from the top, a group of trustees who will do the actual merging of
> the pull requests, reviews and then push it upstream/mainline/trunk. If
> one of these maintainers do a bad job, then you need to sort out that
> problem, but that doesn't mean the whole system is broken. It's similar to
> giving commit access to a developer who doesn't deserve it in SVN, really.

I know what an honor-system is. It doesn't protect against mistakes the day
before holiday. Remember the old locking VCSes ?

> Now, how the actual process would look with the FPC team, that's hard to
> define at this point. But the tools are there for it.
> 
> Was this a proper answer, or I was beating around the bush in your views?
> :)

Sorry to say, but I didn't find anything new or usable in this post. It is
the standard "think different" nonsense from a very idealist viewpoint,
little practical details.

So I now give up this thread (and GIT).


More information about the fpc-other mailing list