<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">On Jan 13, 2017, at 1:37 PM, Mehdi Amini via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" class="">llvm-dev@lists.llvm.org</a>> wrote:<div><blockquote type="cite" class=""><div class=""><meta http-equiv="Content-Type" content="text/html charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">The main outcome of the BoF had the dev meeting was that we agree’d that moving to GitHub was the best choice forward for LLVM (IIRC only one person in the room expressed concerned about GitHub, but he said he had personal grief with them and nothing specific for LLVM).</div><div class=""><br class=""></div><div class="">The unknown that remains is: will we use a mono-repo or a multi-repo. On this aspect:</div><div class=""><br class=""></div><div class="">- We got consensus at the BoF that downstream users (i.e. non-contributors) are not impacted by this choice, and we’re not gonna optimize the repository structure for them.</div><div class="">- My reading of the survey is that the monorepo has a significant lead.</div><div class="">- My understanding of the dynamic of the discussions and question during the BoF is that monorepo has a significant lead, is likely to satisfy more people, and has a very small number of people concerned about it. On the other hand many people have strong feeling about the multirepo.</div></div></div></blockquote><div><br class=""></div><div>FWIW, I have spoken to a large number of people about the mono vs multi-repo tradeoffs, and I’m personally convinced that mono repo is the way to go.  For a few reasons:</div><div><br class=""></div><div>- Monorepo is the “natural” way to use git.  Submodules are possible to use, but add significant complexity.</div><div>- The download size of a mono-repo is manageable, and seems scalable for a project the size of LLVM (including reasonable growth over the next 10 years).</div><div>- As Medhi says, according to surveys and discussions in forums like the LLVM Dev Meeting BoF, most people who care are in favor of mono-repo.</div><div>- The people most impacted by mono-repo are those who want to build just compiler-rt.  We want these people to be happy, but they are very few in number, and their benefit needs to be balanced against the benefit for the larger community that builds llvm (and typically clang or another front end).</div><div><br class=""></div><div>Overall, it seems clear that either approach could work, but mono seems to win out because it is more popular and more simple. It would require tweaks to LLVM’s cmake system though: instead of deciding to build a subproject based on whether it is checked out, it should instead be based on configuration time flags.</div><div><br class=""></div><div>-Chris</div><div><br class=""></div><br class=""><blockquote type="cite" class=""><div class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class=""><br class=""></div><div class="">Considering all the current tradeoffs, it is likely that we will move-on with a monorepo, even if there are no guarantee or decision made at this point.</div><div class=""><br class=""></div><div class="">The path forward (already engaged) is to engage a prototype phase: we’re building a monorepo and trying to make it usable as much as possible, without making any change or building anything that would commit us to a monorepo (for instance we’re not gonna migrate any bots to it).</div><div class=""><br class=""></div><div class="">The goal of this prototype is that developers can start using a monorepo to try it, and we can evaluate how it plays in practice, outside of theoretical considerations. If anyone finds concerns about a given workflow, we can study what can be improved to address it, or maybe we’ll hit a wall that would show that monorepo can’t address what we think it will. </div><div class=""><br class=""></div><div class="">At some point, if the experiment is conclusive, we should be able to build a larger majority and hopefully reach a consensus that the proposed prototype can be considered viable for development and start planning the actual committing changes.</div><div class=""><br class=""></div><div class="">The monorepo is not totally ready yet, but you can already experience it (I live on day-to-day for my development, and a few other people as well), instructions are in the doc: <a href="http://llvm.org/docs/GettingStarted.html#for-developers-to-work-with-a-git-monorepo" class="">http://llvm.org/docs/GettingStarted.html#for-developers-to-work-with-a-git-monorepo</a></div><div class=""><br class=""></div><div class="">I don’t have any schedule to announce, hopefully we can make it all happen in 2017.</div><div class=""><br class=""></div><div class="">Best,</div><div class=""><br class=""></div><div class="">— </div><div class="">Mehdi</div><div class=""><br class=""></div><div class=""><br class=""><div class=""><blockquote type="cite" class=""><div class="">On Jan 13, 2017, at 1:07 PM, Keane, Erich via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" class="">llvm-dev@lists.llvm.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="">Hi all-<br class="">I was wondering if anyone knew what the status/schedule of the SVN to git/github transition was?  I thought I saw that at the November meeting it was agreed upon, but I'm not sure I saw any progress since?<br class=""><br class="">Thanks,<br class="">Erich<br class="">_______________________________________________<br class="">LLVM Developers mailing list<br class=""><a href="mailto:llvm-dev@lists.llvm.org" class="">llvm-dev@lists.llvm.org</a><br class=""><a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" class="">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br class=""></div></div></blockquote></div><br class=""></div></div>_______________________________________________<br class="">LLVM Developers mailing list<br class=""><a href="mailto:llvm-dev@lists.llvm.org" class="">llvm-dev@lists.llvm.org</a><br class="">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev<br class=""></div></blockquote></div><br class=""></body></html>