<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Oct 10, 2019 at 4:22 PM Tom Stellard <<a href="mailto:tstellar@redhat.com">tstellar@redhat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">On 10/10/2019 03:50 PM, Mehdi AMINI wrote:<br>
> <br>
> <br>
> On Thu, Oct 10, 2019 at 1:14 PM Jordan Rupprecht <<a href="mailto:rupprecht@google.com" target="_blank">rupprecht@google.com</a> <mailto:<a href="mailto:rupprecht@google.com" target="_blank">rupprecht@google.com</a>>> wrote:<br>
> <br>
> <br>
> <br>
>     On Thu, Oct 10, 2019 at 12:29 PM Tom Stellard via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a> <mailto:<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>>> wrote:<br>
> <br>
>         On 10/10/2019 11:40 AM, Mehdi AMINI wrote:<br>
>         ><br>
>         ><br>
>         > On Thu, Oct 10, 2019 at 10:59 AM Tom Stellard <<a href="mailto:tstellar@redhat.com" target="_blank">tstellar@redhat.com</a> <mailto:<a href="mailto:tstellar@redhat.com" target="_blank">tstellar@redhat.com</a>> <mailto:<a href="mailto:tstellar@redhat.com" target="_blank">tstellar@redhat.com</a> <mailto:<a href="mailto:tstellar@redhat.com" target="_blank">tstellar@redhat.com</a>>>> wrote:<br>
>         ><br>
>         >     On 10/09/2019 11:05 PM, Mehdi AMINI wrote:<br>
>         >     ><br>
>         >     ><br>
>         >     > On Wed, Oct 9, 2019 at 10:16 PM Tom Stellard via cfe-dev <<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a> <mailto:<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>> <mailto:<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a> <mailto:<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>>> <mailto:<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a> <mailto:<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>> <mailto:<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a> <mailto:<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>>>>> wrote:<br>
>         >     ><br>
>         >     >     Hi,<br>
>         >     ><br>
>         >     >     We're less than 2 weeks away from the developer meeting, so I wanted to<br>
>         >     >     give an update on the GitHub migration and what's (hopefully) going to<br>
>         >     >     happen during the developer meeting.<br>
>         >     ><br>
>         >     >     Everyone who has added their information to the github-usernames.txt<br>
>         >     >     file in SVN before today should have received an invite to become a collaborator<br>
>         >     >     on the llvm-project repository.  If you did not receive an invite and think<br>
>         >     >     you should have, please contact me off-list.  I will continue to monitor the<br>
>         >     >     file for new updates and periodically send out new batches of invites.<br>
>         >     ><br>
>         >     >     There is still some ongoing work to get the buildbots ready and the mailing lists<br>
>         >     >     ready, but we are optimistic that the work will be done in time.<br>
>         >     ><br>
>         >     >     The team at GitHub has finished implementing the "Require Linear History"<br>
>         >     >     branch protection that we requested.  The feature is in beta and currently<br>
>         >     >     enabled in the llvm-project repository.  This means that we will have the<br>
>         >     >     option to commit directly via git, in addition to using the git-llvm script.<br>
>         >     >     A patch that updates git-llvm to push to git instead of svn can be found here:<br>
>         >     >     <a href="https://reviews.llvm.org/D67772" rel="noreferrer" target="_blank">https://reviews.llvm.org/D67772</a>.  You should be able to test it out on your<br>
>         >     >     own fork of the llvm-project repository.<br>
>         >     ><br>
>         >     >     The current plan is to begin the final migration steps on the evening (PDT)<br>
>         >     >     of October 21.  Here is what will happen:<br>
>         >     ><br>
>         >     >     1. Make SVN read-only.<br>
>         >     >     2. Turn-off the SVN->git update process.<br>
>         >     >     3. Commit the new git-llvm script directly to github.<br>
>         >     >     4. Grant all contributors write access to the repository.<br>
>         >     ><br>
>         >     ><br>
>         >     > Is the repo configured to forbid contributors to create new branches? I'm worried about the "jungle" it can become quickly if we leave open the possibility to create branches "at will" in the repo, I rather leave this to maintainers.<br>
>         >     ><br>
>         ><br>
>         >     I haven't been able to find a way to restrict branch creation for committers,<br>
>         >     I'm not sure if this is even possible.<br>
>         ><br>
>         ><br>
>         > I think you can just go to the branch settings, add a new branch protection rule, match on everything but master, and check "Restrict who can push to matching branches".<br>
>         ><br>
> <br>
>         I tried this, and the branch protections only come into effect after a branch<br>
>         has been creating, so this doesn't prevent new branches.  It's actually worse<br>
>         than doing nothing, because once the branch is created the branch protection<br>
>         prevents you from deleting it.<br>
> <br>
> <br>
> Ah, interesting :)<br>
> Since for now `git-llvm` is necessary to push to the repo, I guess creating a branch won't even really be possible? So when adding the support for branch creation to `git-llvm` we could print a disclaimer about it or something?<br>
> <br>
<br>
With my latest changes in <a href="https://reviews.llvm.org/D67772" rel="noreferrer" target="_blank">https://reviews.llvm.org/D67772</a> it is actually possible<br>
to create a new branch with git-llvm, so we could print a disclaimer or block this,<br>
however we still can't stop people from creating a new branch using the<br>
normal git command.<br></blockquote><div><br></div><div>Oh, of course, because the same branch protection we use for master can't apply to branches before they are created in the repo.</div><div><br></div><div>Thanks,</div><div><br></div><div>-- </div><div>Mehdi</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">
<br>
-Tom<br>
<br>
> <br>
> <br>
>         -Tom<br>
> <br>
> <br>
>     FWIW, we're interested in periodically (weekly) tagging well-tested/stable revisions, but via a branch instead of just a tag so we can include which cherrypicks (e.g. reverts or fixes) are needed. We do this with the current svn repo so we'd just be porting existing functionality to github.<br>
> <br>
> <br>
> I would likely include this in the general category of "project maintainer" created branch?<br>
> The main difference with SVN, is that on GitHub a fork is "cheap" and everyone can have their own. Also compared to SVN you don't really know ahead of time when you type `git clone` or `git pull` that you may pull a lot of noise.<br>
> I'm not against branches for the sake of it, I just have some bad memories from a repo where every developer was pushing their work in progress branches all the time and they never got deleted: to the point where some git CLI auto-completion was unusable (there were >10k branches and probably as many tags).<br>
>  <br>
> <br>
> <br>
>     (Also, I'm not sure this announcement thread with all the *-dev lists is the best place to discuss branching policy, but I wanted to get this bit in since y'all brought it up :) )<br>
> <br>
> <br>
> (we discussed branches in past GitHub migration thread, we just never had a dedicated email thread to user-branches, as it didn't seem like there was a strong need for it)<br>
>  <br>
> <br>
>      <br>
> <br>
> <br>
>         > <br>
>         ><br>
>         >     We could try to enforce this rule in the git-llvm script, but this would<br>
>         >     mean making use of the script mandatory, which was our original plan, but<br>
>         >     that was based on the assumption that the "Require Linear History"<br>
>         >     protection would not be ready in time.<br>
>         ><br>
>         >     Generally, would it be better if we kept use of the script mandatory so that<br>
>         >     we can handle this and other potential restrictions in the future?<br>
>         ><br>
>         >     - Tom<br>
>         >     ><br>
>         >     ><br>
>         >     >     5. Email lists announcing that the migration is complete.<br>
>         >     ><br>
>         >     >     Once the migration is complete, if you run into any issues, please file<br>
>         >     >     a bug, and mark it as a blocker for the github metabug PR39393.<br>
>         >     ><br>
>         >     >     If you have any questions or think I am missing something, please<br>
>         >     >     let me know.<br>
>         >     ><br>
>         >     ><br>
>         >     > This is fantastic! Thank you so much for doing this work Tom :)<br>
>         >     ><br>
>         >     > --<br>
>         >     > Mehdi<br>
>         >     ><br>
>         >     ><br>
>         ><br>
> <br>
>         _______________________________________________<br>
>         LLVM Developers mailing list<br>
>         <a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a> <mailto:<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>><br>
>         <a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
> <br>
<br>
</blockquote></div></div>