That is what I'm proposing, and Tim is helping us test. We should reach a solution quickly, and once we do, I'll update the document. Feel free to try his repo, I'll only try tomorrow. If you guys come up with a clear flow before that, let me know. Cheers, Renato On 20 Jul 2016 12:36 a.m., "Chandler Carruth" <chandlerc at google.com> wrote:> I've not read all of the github threads, so sorry if this has been brought > up, but... > > On Tue, Jul 19, 2016 at 1:27 PM Renato Golin via llvm-dev < > llvm-dev at lists.llvm.org> wrote: > >> 1. Pre-commit hooks, avoiding forced pushes / re-order >> >> GitHub doesn't support server hooks due to security concerns. >> > > GitHub does support protected branches which prevent forced pushes. I've > even played with them in the llvm GitHub project and they work as expected. > It should give the exact workflow that I think LLVM devs are used to with > Subversion of post-commit review. > > -Chandler >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160720/a2103844/attachment.html>
I have already tested protected branches on GitHub successfully and found it allowed exactly the pushes that were correct -- they must all have the current HEAD as an ancestor, and so they always move the repo forward without dropping already pushed patches. At most, it would might make sense to have some client-side scripts we encourage users to install that check for accidental pushes of massive series of patches in a single go and warn them about it. On Tue, Jul 19, 2016 at 4:44 PM Renato Golin <renato.golin at linaro.org> wrote:> That is what I'm proposing, and Tim is helping us test. We should reach a > solution quickly, and once we do, I'll update the document. > > Feel free to try his repo, I'll only try tomorrow. If you guys come up > with a clear flow before that, let me know. > > Cheers, > Renato > > On 20 Jul 2016 12:36 a.m., "Chandler Carruth" <chandlerc at google.com> > wrote: > >> I've not read all of the github threads, so sorry if this has been >> brought up, but... >> >> On Tue, Jul 19, 2016 at 1:27 PM Renato Golin via llvm-dev < >> llvm-dev at lists.llvm.org> wrote: >> >>> 1. Pre-commit hooks, avoiding forced pushes / re-order >>> >>> GitHub doesn't support server hooks due to security concerns. >>> >> >> GitHub does support protected branches which prevent forced pushes. I've >> even played with them in the llvm GitHub project and they work as expected. >> It should give the exact workflow that I think LLVM devs are used to with >> Subversion of post-commit review. >> >> -Chandler >> >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160719/87c1363c/attachment.html>
Right! Can you add a comment to the document review? The other two hooks were good (email, update umbrella), so I think we're set. Cheers, Renato On 20 Jul 2016 12:48 a.m., "Chandler Carruth" <chandlerc at google.com> wrote:> I have already tested protected branches on GitHub successfully and found > it allowed exactly the pushes that were correct -- they must all have the > current HEAD as an ancestor, and so they always move the repo forward > without dropping already pushed patches. > > At most, it would might make sense to have some client-side scripts we > encourage users to install that check for accidental pushes of massive > series of patches in a single go and warn them about it. > > On Tue, Jul 19, 2016 at 4:44 PM Renato Golin <renato.golin at linaro.org> > wrote: > >> That is what I'm proposing, and Tim is helping us test. We should reach a >> solution quickly, and once we do, I'll update the document. >> >> Feel free to try his repo, I'll only try tomorrow. If you guys come up >> with a clear flow before that, let me know. >> >> Cheers, >> Renato >> >> On 20 Jul 2016 12:36 a.m., "Chandler Carruth" <chandlerc at google.com> >> wrote: >> >>> I've not read all of the github threads, so sorry if this has been >>> brought up, but... >>> >>> On Tue, Jul 19, 2016 at 1:27 PM Renato Golin via llvm-dev < >>> llvm-dev at lists.llvm.org> wrote: >>> >>>> 1. Pre-commit hooks, avoiding forced pushes / re-order >>>> >>>> GitHub doesn't support server hooks due to security concerns. >>>> >>> >>> GitHub does support protected branches which prevent forced pushes. I've >>> even played with them in the llvm GitHub project and they work as expected. >>> It should give the exact workflow that I think LLVM devs are used to with >>> Subversion of post-commit review. >>> >>> -Chandler >>> >>-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160720/5d3181ee/attachment.html>
> On Jul 19, 2016, at 4:44 PM, Renato Golin via llvm-dev <llvm-dev at lists.llvm.org> wrote: > > That is what I'm proposing, and Tim is helping us test. We should reach a solution quickly, and once we do, I'll update the document. >Protected branch *alone* don’t enforce a linear history without the "status checks” feature. I don’t believe Chandler is proposing to use "status checks”, and he is concerned with “rewriting the history” more than enforcing a linear history, so you’ll have to be careful about what is the promise exactly. — Mehdi> Feel free to try his repo, I'll only try tomorrow. If you guys come up with a clear flow before that, let me know. > > Cheers, > Renato > > > On 20 Jul 2016 12:36 a.m., "Chandler Carruth" <chandlerc at google.com <mailto:chandlerc at google.com>> wrote: > I've not read all of the github threads, so sorry if this has been brought up, but... > > On Tue, Jul 19, 2016 at 1:27 PM Renato Golin via llvm-dev <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote: > 1. Pre-commit hooks, avoiding forced pushes / re-order > > GitHub doesn't support server hooks due to security concerns. > > GitHub does support protected branches which prevent forced pushes. I've even played with them in the llvm GitHub project and they work as expected. It should give the exact workflow that I think LLVM devs are used to with Subversion of post-commit review. > > -Chandler > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160719/2d05b102/attachment-0001.html>
Can you show on Tim's repo how that won't work? Cheers, Renato On 20 Jul 2016 12:59 a.m., "Mehdi Amini" <mehdi.amini at apple.com> wrote:> > On Jul 19, 2016, at 4:44 PM, Renato Golin via llvm-dev < > llvm-dev at lists.llvm.org> wrote: > > That is what I'm proposing, and Tim is helping us test. We should reach a > solution quickly, and once we do, I'll update the document. > > > Protected branch *alone* don’t enforce a linear history without the > "status checks” feature. I don’t believe Chandler is proposing to use > "status checks”, and he is concerned with “rewriting the history” more than > enforcing a linear history, so you’ll have to be careful about what is the > promise exactly. > > — > Mehdi > > > Feel free to try his repo, I'll only try tomorrow. If you guys come up > with a clear flow before that, let me know. > > Cheers, > Renato > > On 20 Jul 2016 12:36 a.m., "Chandler Carruth" <chandlerc at google.com> > wrote: > >> I've not read all of the github threads, so sorry if this has been >> brought up, but... >> >> On Tue, Jul 19, 2016 at 1:27 PM Renato Golin via llvm-dev < >> llvm-dev at lists.llvm.org> wrote: >> >>> 1. Pre-commit hooks, avoiding forced pushes / re-order >>> >>> GitHub doesn't support server hooks due to security concerns. >>> >> >> GitHub does support protected branches which prevent forced pushes. I've >> even played with them in the llvm GitHub project and they work as expected. >> It should give the exact workflow that I think LLVM devs are used to with >> Subversion of post-commit review. >> >> -Chandler >> > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev > > >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160720/12bfd1f0/attachment.html>