-
Notifications
You must be signed in to change notification settings - Fork 18.5k
Description
We are starting development of the next generation of Go protocol buffers (with a heavy focus around proto reflection; see golang/protobuf#364). Those of us primarily involved with the development prefer to use a code review tool that is better able to track review comments, patch updates, and what not. We believe the choice of review tool is especially important in the starting phases where there is likely to be a large quantity of CLs of relatively large size, where Gerrit shows its strengths. As such, we prefer to develop using Gerrit as opposed to GitHub pull requests. The current workflow is contrary to most other golang/x projects in that protobuf still uses GitHub PRs, which is fine when each change is not that large.
As we explore using Gerrit, there are several thoughts/questions:
- Can we create a new repo at go.googlesource.com/proto?
- Can we mirror a branch named
api2ongo.googlesource.com/prototo a branch namedapi2ongit.colasdn.top/golang/protobuf? - Does the above imply that the
masterbranch must also be managed by Gerrit ongo.googlesource.com/proto? If so, can we set up the GitHubPR to GerrittCL bot so that existing contributors can continue working with GitHub? - What are our options of pre-submit testing? Are we going to be using try-bots? If so, will we be able to test across multiple Go versions (e.g., Go1.6, Go1.7, etc?). Will the try-bot have network access such that we can download external dependencies (e.g., "github.com/google/go-cmp") or dependents (e.g., "google.golang.org/grpc")? Can we get try-bot to do more complex operations like download protoc and run it over proto files? Can we build and run a C++ program (e.g., the conformance test runner; it may be possible to just download the test runner as a binary)?