[libvirt] official libvirt mirror on github?

Cole Robinson crobinso at redhat.com
Fri May 22 13:26:10 UTC 2015

On 05/22/2015 09:19 AM, Daniel P. Berrange wrote:
> On Fri, May 22, 2015 at 09:11:09AM -0400, Cole Robinson wrote:
>> On 05/22/2015 08:38 AM, Jiri Denemark wrote:
>>> On Fri, May 22, 2015 at 08:20:31 -0400, Cole Robinson wrote:
>>>> On 05/22/2015 03:33 AM, Peter Krempa wrote:
>>>>> On Thu, May 21, 2015 at 21:34:25 -0400, Cole Robinson wrote:
>>>>>> Hey all,
>>>>>> Anyone considered setting up libvirt*.git mirrors on github? Given the
>>>>>> popularity of github these days, IMO it's unfortunate we don't have an
>>>>>> official mirror on there.
>>>>>> As far as the actual mirroring though, we'd probably need to set up hooks on
>>>>>> libvirt.org to push new commits up to github, there doesn't appear to be any
>>>>>> better way than that.
>>>>>> Thoughts?
>>>>> I'm worried that once we have a github clone that is described as
>>>>> official it will motivate people to send code via github pull requests
>>>>> rather than via the mailing list.
>>>> Yes that t seems to happen with many other projects that don't use
>>>> pull-requests. However it's easy to catch these: libvirt committers can just
>>>> 'watch' the github repo and get email notification when there's pull-request
>>>> activity (I wish there was a way to send these notifications to a mailing list
>>>> but github doesn't have native support for it:
>>>> https://github.com/github/github-services/issues/804)
>>> No, please. Having to go to a github web page to see the pull request
>>> and review and comment on it there is not something we want to do IMHO.
>>> We don't want to have reviews and discussion in two places. Not to
>>>> That said I think pull-requests are still an opportunity to get new
>>>> contributers, if we react quickly and point them at the mailing list and tell
>>>> them they don't even need to subscribe, just git send-email it.
>>> Oh, so you only want it to get notifications so that we can redirect
>>> them to a mailing list. I don't object if you want to do it, but I'm
>>> certainly not going to be that kind of interface. I think it's enough we
>>> already have bugzilla which is sometimes used for submitting patches.
>>> Our contributor guidelines are pretty clear about the way to properly
>>> send patches.
>> right, I'm saying just point people at the mailing list/our guidelines without
>> commenting on the code. infact it should be easy to setup a script that
>> watches for this and automatically closes new pull-requests with a stock
>> comment. FWIW I don't want to do my code review in a webapp either, and having
>> to watch for pull-requests is annoying but github doesn't provide anyway to
>> turn off the pull-request option.
>> However my point still stands that it's a good opportunity to get new
>> contributors. I can't really tell if anyone sees the benefit of adding a
>> github mirror so I'd like to elaborate a bit. The summary is that any github
>> presence lowers the barrier of contribution for a _fast_ growing percentage of
>> developers.
>> For better or worse a serious chunk of the new generation of open source
>> contributors basically only know github and its workflow... and practically
>> every new opensource project is built around github's workflow, so the balance
>> is only going to shift over time. For some of those new folks I know for a
>> fact that 'not on github' might as well be 'project uses bzr/cvs/svn' WRT
>> barrier to contribution. However there's a few parts to it:
>> 1) There's a repo on github that they can fork and add changes to: this is
>> what we would add. For people that live in github, this means they can fork
>> the repo under their account using their standard workflow (command line tools
>> or a button in the web UI), push changes to their fork, and have it show up
>> under their tickboard (which is _real_ motivation since github account pages
>> are becoming the defacto 'open source resume' for said contributors)
>> 2) They can submit a pull-request and have their code integrated into master:
>> we wouldn't be doing this, just closing pull-requests straight away. However,
>> for people that don't read our docs and submit a pull-request, I'm guessing we
>> can still get them to send their patch to the mailinglist if they've already
>> gone through the effort of writing it. That's been my experience watching
>> pull-requests in qemu's github mirror, as long as you respond in a timely
>> manner people will follow up to the mailing list.
>> There's also the fact that in the linux virt space libvirt is basically the
>> only major project without official representation on github: qemu, xen,
>> ovirt, openstack all have github mirrors. libguestfs uses github as its
>> primary repo, but not its issue tracker or pull-requests. Also lots of stuff
>> in the container space like lxc/lxd, docker, kubernetes, openshift use github
>> natively. Even many long existing open source organizations have github
>> mirrors like libreoffice, apache, gnome.
> I've no real objection to us having an automated read-only mirror on github,
> if we clearly direct people to the right place - if people want to ignore
> the github account that's fine.
> Whether we should let pull requests get automatically spamed to the mail
> list I'm ambivalent. If they are fairly infrequent, it probably isn't a
> real burden to go to the list. If it does become a problem we can easily
> turn it off, or have to just to go peole who wish to deal with it.

To clarify there isn't any current way to make this work AFAICT, short of
standing up our own webservice somewhere as a github webhook. So no need to
worry about that.

Once the repos are up, if anyone wants to help watch for pull-requests, you
can just 'watch' the repo and you'll receive email notifications when new
pull-requests come in (might need a tweak in your github settings to set up
how notifications are delivered, I can't remember exactly)

> Since I already own the gitlab.com account for this, I might as well own
> the github.com account to and set them up to use the same sync process.
> [1] https://gitlab.com/groups/libvirt

Cool, thanks. I'd like access to be able to close pull-requests, but I don't
know if permissions can be that fine grained...

- Cole

More information about the libvir-list mailing list