Return-Path: X-Original-To: apmail-brooklyn-dev-archive@minotaur.apache.org Delivered-To: apmail-brooklyn-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id EF1B9114C7 for ; Thu, 22 May 2014 13:48:00 +0000 (UTC) Received: (qmail 91476 invoked by uid 500); 22 May 2014 13:48:00 -0000 Delivered-To: apmail-brooklyn-dev-archive@brooklyn.apache.org Received: (qmail 91452 invoked by uid 500); 22 May 2014 13:48:00 -0000 Mailing-List: contact dev-help@brooklyn.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@brooklyn.incubator.apache.org Delivered-To: mailing list dev@brooklyn.incubator.apache.org Received: (qmail 91444 invoked by uid 99); 22 May 2014 13:48:00 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 22 May 2014 13:48:00 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: local policy includes SPF record at spf.trusted-forwarder.org) Received: from [209.85.220.179] (HELO mail-vc0-f179.google.com) (209.85.220.179) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 22 May 2014 13:47:56 +0000 Received: by mail-vc0-f179.google.com with SMTP id im17so4444235vcb.38 for ; Thu, 22 May 2014 06:47:36 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:content-type; bh=q8zEN6Xzu90uwFduovvu8+2e52j0xatWSZ+Kt/oEoU0=; b=bGeRU/YOl6oW+JzIqJNb2iXItplfhDuo+zeoGAfh5KNYl/pM99axPIOjq9QiXmCNd/ VbSjPAkRfWkmRIgzp2OoIXmyvhy9CntwDHjIxB4L5RUdQDCfjqYxYwIv6Pm3PKO5EShz +Yz5AX6sYV7EwI6GJGNK+Kg40HwwKKkvRSaULt0cTI3ueHPp0Ao4FtLQvV6vVWkFUvM+ 2HvT6R5oPdiRsWMY1sLAW5GhbZJVu+IVZiZ3RPDetajLXfuWluXb4a4R0D+lqznmY/8c ydmJDJYqpUzXKOnDSmeEGO2uMkOl7YA6IWP/CAW4uXIYMWO+fa3AMFPxAaL9/mhBfoOS XRAQ== X-Gm-Message-State: ALoCoQkAlJwgBCA34cIiM0cbHwG1AhQaU/2DDCQi/m/1A57KNEl/ocKoRdzbUYU6pGJXs4hs7Tnr X-Received: by 10.53.13.133 with SMTP id ey5mr13455652vdd.8.1400766456114; Thu, 22 May 2014 06:47:36 -0700 (PDT) MIME-Version: 1.0 Received: by 10.220.123.199 with HTTP; Thu, 22 May 2014 06:47:15 -0700 (PDT) In-Reply-To: References: From: David Nalley Date: Thu, 22 May 2014 09:47:15 -0400 Message-ID: Subject: Re: Mirroring to GitHub To: dev@brooklyn.incubator.apache.org Content-Type: text/plain; charset=UTF-8 X-Virus-Checked: Checked by ClamAV on apache.org The ASF _must_ be the repo of record for source code. --David On Thu, May 22, 2014 at 9:44 AM, Richard Downer wrote: > That helps narrow it down :-) > > What aspect particularly do you think is short lived? The idea of > GitHub being the primary and Apache git effectively being a mirror? > > Cheers > Richard. > > On 22 May 2014 14:41, David Nalley wrote: >> You should not copy Usergrid. My suspicion is that model is short lived. >> >> --David >> >> On Thu, May 22, 2014 at 9:22 AM, Richard Downer wrote: >>> Morning all, >>> >>> I've been looking at how we can use Apache's git repository and still >>> be able to use GitHub for it's easy-to-use fork-and-pull-request style >>> for accepting patches from contributors. We (the people on the IPMC) >>> have been users and contributors of jclouds for several years, and >>> have watched jclouds as it went from GitHub into Apache whilst >>> retaining its use of GitHub, and decided this is the model to follow. >>> The Usergrid project is also working on doing something similar. >>> >>> Infra offer a system to mirror Apache git repositories into GitHub, >>> and extensively integrate with Apache's mailing lists and Jira. On the >>> face of it this would seem perfect, but this is only available for >>> GitHub repos inside the "Apache" organisation >>> (https://github.com/apache/...) If we want to use our own organisation >>> (as jclouds and Usergrid do) then we have to do more of the work >>> ourselves. >>> >>> >>> jclouds process for contributors looks like this: >>> https://wiki.apache.org/jclouds/How%20to%20Contribute - which is >>> basically the familiar GitHub workflow. >>> >>> And then a committer merges it like this: >>> https://wiki.apache.org/jclouds/Committers%20Guide >>> >>> Then, behind the scenes, a Jenkins job (not sure where) mirrors the >>> Apache git repo to the GitHub repo[1] >>> >>> Usergrid is substantially the same from the POV of a casual >>> contributor: https://cwiki.apache.org/confluence/display/usergrid/Contributor+Workflow+Policy >>> >>> However it is slightly different in the PRs are merged on GitHub, and >>> a cron job running on people.apache.org mirrors GitHub repo to the >>> Apache git repo[2] (the opposite way to jclouds) >>> >>> >>> So what to do? I've prototyped a scheme where the Apache git repo is >>> replicated to GitHub (like jclouds does) using a cron job on >>> people.apache.org (like Usergrid does) - you can see the results of >>> this at https://github.com/brooklyn/brooklyn. (Note that the Apache >>> git mirror is not yet the authoritative source - that hasn't yet moved >>> from https://github.com/brooklyncentral/brooklyn - so it's not quite >>> up-to-date.) >>> >>> Under this model, the Apache git repo is the source of truth, and all >>> commits must be made here. Like the jclouds process, a committer must >>> pull the PR source into his own repository, and then push it to the >>> Apache git repository (fortunately a bit of Git trickery[3] can make >>> this painless). The cron job will then update the GitHub repo - so the >>> GH repo is a read-only mirror of Apache. >>> >>> I like this option because it reinforces the Apache git repo as the >>> source of truth - however it does mean that the big green "Merge" >>> button in GitHub cannot be used, nor any other method of changing the >>> code on GitHub (as it would simply be overwritten when the 'mirror' >>> cron job runs next). >>> >>> So - what does everyone think? >>> >>> >>> [1] https://mail-archives.apache.org/mod_mbox/jclouds-dev/201401.mbox/%3C20140131204201.27h3lqui5gk4kgss%40webmail.qrmedia.com%3E >>> [2] https://issues.apache.org/jira/browse/USERGRID-13 >>> [3] https://help.github.com/articles/checking-out-pull-requests-locally