groovy-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Russel Winder <>
Subject Re: PR and workflow [was [ANN] New committer: Shil Sinha]
Date Sun, 25 Oct 2015 09:14:07 GMT
On Fri, 2015-10-23 at 07:47 -0400, Jim Jagielski wrote:
> > […]
> Yep. We are built around a single canonical repo that
> you build a community and project around.

Clearly a project is defined by the primary mainline repository. The
point at issue here is the surrounding technology that is integral to
the community. 

> […]
> You do know, of course, that this workflow that has been used for
> decades at the ASF was started by and built-around and designed-for
> unpaid volunteers to do just that, right?

The genesis though was in the days of CVCS, Apache Groovy and it's
community live in a DVCS context. Via GitHub and BitBucket, (and others
but these two are the survivors), pull requests are at the core of
being a community. Codehaus and GoogleCode died because the
organization were either not willing or not able to amend their CVCS
workflows to incorporate the technological changes that DVCS brings. It
is not clear that SourceForge is ale to make the change. Apache Git
repositories are not currently embedded in the technology a Git
community expects the Git repositories to be embedded in.

Handling pull requests needs either a tool such as Gerrit or Rietveld
or using the built in pull request system, in Apache Groovy case at
GitHub. The Go team choose to have their primary mainline on Google
servers with a mirror at GitHub. No pull request is processed on
GitHub, they must all go via the Gerrit instance run by Google. This
model would suit Apache well given the current insistance (which is
entirely reasonable for legal reasons) on the repository on Apache
servers being the primary mainline. Currently though this is not
available. So the Apache Groovy committer commiters either have to use
the GitHub  pull request system and fib about making the commits to the
Apache server, or they have to not use the GitHub pull request

Unless or until Apache has a Gerrit instance so that the Go style
workflow can be put in place, I think it should be entirely acceptable
to Apache to have the GitHub repository seen, not as a mirror of the
Apache one, but as a cache for it. All the workflow happens on GitHub
using the GitHub pull requests as they are meant to be used, and the
committer committers then just push the result to the Apache servers. 

To do this would be to work using Git in harmony with the technology
the community is now used to and is willing to use.

Dr Russel Winder      t: +44 20 7585 2200   voip:
41 Buckmaster Road    m: +44 7770 465 077   xmpp:
London SW11 1EN, UK   w:  skype: russel_winder

View raw message