
Go accepts patches from GitHub pull requests now - vhost-
https://github.com/golang/go/issues/18517#issuecomment-365099814
======
bradfitz
To summarize:

We now mirror GitHub PRs into Gerrit. Gerrit is still our upstream Git server.
Gerrit is still where we do reviews and press the "Merge" button. (And once
merged, it gets mirrored back to GitHub)

But now we have a bot that slurps PRs into Gerrit and syncs comments back and
forth and closes PRs when needed. (We'll do more fine-grained comment sync in
the future. We just shipped an "MVP" for the Go 1.11 tree opening).

Some more information is at
[https://golang.org/wiki/GerritBot](https://golang.org/wiki/GerritBot)

Code is at
[https://github.com/golang/build/blob/master/cmd/gerritbot/ge...](https://github.com/golang/build/blob/master/cmd/gerritbot/gerritbot.go)

~~~
eloff
This is smart, decreasing the hurdles to contributions will inevitably result
in more contributions. Economics 101. And I don't think it necessarily follows
that they will be lower quality either, maybe for first time contributors, but
we all start at the same place and have to learn. More first time contributors
will also lead to more repeat contributors.

~~~
Washuu
Any time I come across a project that uses Gerrit I immediately abandon any
proposed patches I had planned to submit. Gerrit is terrible for actually
working with and is unfriendly even to experienced git users. I have to battle
with Gerrit to submit patches to MediaWiki and it is a painful process every
time.

Clarifying that I believe that my personal off work time is valuable to
myself. The more time and friction I have to spend putting in a pull
request/code review is the less time I get to myself.

~~~
frogperson
I don't understand your point of view at all. Gerrit has such a good work flow
and ui. It's probably in the top 5 best tools I have ever used. Github's pull
request model is like a child's toy in comparison.

~~~
xstartup
Serious question, what are other best ones?

~~~
ithkuil
I like [https://reviewable.io](https://reviewable.io), low friction github
integration but gerrit-like multi-patchsets and generally a sane flow when you
have multiple rounds of comments

------
tejasmanohar
This is an excellent change. While Gerrit is undoubtedly more powerful than
GitHub's PR, GitHub is easy and familiar. I've found a fair number of small
fixes and changes I've wanted to make to Gerrit projects but just abandoned
due to not being inline with my current workflow. Now, I'll submit a PR and
figure out the rest later. Hopefully, code review still being through Gerrit
doesn't mean more stale PRs to deal with though. I guess time will tell...

------
tombh
It seems odd to me that Golang treats Github as a first class citizen for
package management, yet a second class citizen for core contributions.

I'm really only a dabbler in Golang, so would appreciate any context.

For instance I was affected by the recent go-bindata owner change[1]. The
Github user deleted their account and some random user reregistered the
original user's name and recreated the repo (albeit seemingly innocently to
help everyone get their CIs running again).

Actually while we're on the subject, Golang's whole package management
experience is surprisingly disappointing :/

[1][https://www.reddit.com/r/golang/comments/7vv9zz/popular_lib_...](https://www.reddit.com/r/golang/comments/7vv9zz/popular_lib_gobindata_removed_from_github_or_why/)

~~~
pokstad
Go does not treat Github any differently than any other VCS provider when it
comes to package management.

OG gophers vendor their deps into their repo and avoid creating dependencies
on 3rd party code whenever possible. The Go stdlib is very full featured so it
is not unrealistic.

The problem with the go-bindata could be avoided by always vendoring/forking
your deps and never trust any VCS provider (e.g. GitHub, Bitbucket, source
forge) to handle your critical dependency needs.

~~~
heinrich5991
Go _does have_ special handling for Github:
[https://github.com/golang/go/blob/816154b06553a4cf8ee7ad089f...](https://github.com/golang/go/blob/816154b06553a4cf8ee7ad089f5e444b37bed43d/src/cmd/go/internal/get/vcs.go#L953-L961).

~~~
Vendan
Except that that link also shows special handling for 5 other VCS hosts, and
you can have your own website given the same special handling by putting meta
tags in the html. Github is not given special handling that no other VCS host
is allowed.

------
nbsd4lyfe
I'm still putting off contributions because the CLA signing mechanism asked me
for my phone number.

------
mgbmtl
Slightly off topic, but would anyone have a similar solution/experience to
sync between GitHub and Gitlab? (community version, not EE, since this is for
a Free Software project)

~~~
connorshea
Mirroring is an Enterprise Edition feature but there are probably ways to hack
around that.

------
shabbyrobe
Great to see the high-friction barriers falling. The move to Github for issues
has been a massive improvement.

Hopefully they can do something about getting rid of Google groups now. It's
an extraordinarily poor organ of record. The low-friction Github issue tracker
is full to bursting with high-ranking results for things that amount to
support requests, but the pat response is a slightly-too-curt "ask this on
golang-nuts, closed, kthxbye", and that's where the trail ends.

~~~
shabbyrobe
[https://github.com/golang/go/issues/23745](https://github.com/golang/go/issues/23745)

