<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=""><br class=""><div><blockquote type="cite" class=""><div class="">On Jul 27, 2016, at 12:10 PM, James Molloy <<a href="mailto:james@jamesmolloy.co.uk" class="">james@jamesmolloy.co.uk</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div style="white-space:pre-wrap" class="">Hi Mehdi,<br class=""><br class="">Thanks so much for writing this up! This will help many people who are struggling to keep up with the post influx including myself :)<br class=""><br class="">> gives insights to the most common workflows<br class=""><br class="">I must disagree with you here and this is the basis of all my messages; it gives an insight into workflows but not their commonality.</div></div></blockquote><div><br class=""></div><div>Oh you’re right, I didn’t mean to use the discussion to establish “how much a workflow is common”, my hope is that if a workflow is “common” enough, at least one dev would ask “How will we do XXX with this proposal?”, so that no “common” workflow goes unnoticed.</div><div><br class=""></div><div>With that, the proposals will have to make some tradeoff, probably based on *assumptions* about the “commonality” of these workflows. A future survey should give better data on these “assumptions”.</div><div><div><br class=""></div><div>— </div><div>Mehdi</div><div class=""><br class=""></div></div><br class=""><blockquote type="cite" class=""><div class=""><div style="white-space:pre-wrap" class=""> Only their commonality among those who spoke up. That's why I believe it should be *supplemented* with a survey of some kind. That is all I was trying to say :)<br class=""><br class="">James</div><br class=""><div class="gmail_quote"><div dir="ltr" class="">On Wed, 27 Jul 2016 at 19:47, Mehdi Amini <<a href="mailto:mehdi.amini@apple.com" class="">mehdi.amini@apple.com</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word" class=""><div class=""><blockquote type="cite" class=""><div class="">On Jul 27, 2016, at 11:38 AM, James Molloy via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank" class="">llvm-dev@lists.llvm.org</a>> wrote:</div><br class=""></blockquote></div></div><div style="word-wrap:break-word" class=""><div class=""><blockquote type="cite" class=""><div class="">Hi Justin,<br class=""><br class="">Firstly I really appreciate you taking the mantle and pushing this forward! Like Justin B I'll be bowing out after this. <br class=""><br class=""></div></blockquote></div></div><div style="word-wrap:break-word" class=""><div class=""><blockquote type="cite" class=""><div class="">I thought it important because I don't believe you'll build consensus in this threathese thred.</div></blockquote><div class=""><br class=""></div><div class="">Is it possible to reach “consensus” on such issues? </div></div></div><div style="word-wrap:break-word" class=""><div class=""><br class=""><blockquote type="cite" class=""><div class=""> I think the best that can be hoped for is opposition to give up fighting; advantages are to be had on both sides by different types of user and we've seen that many times in this thread. <br class=""></div></blockquote><div class=""><br class=""></div></div></div><div style="word-wrap:break-word" class=""><div class=""><div class="">At some point there will be a need to acknowledges priority, people have conflicting workflow/goals and we’ll have to make a choice to favor one workflow instead of another.</div><div class=""><br class=""></div><div class="">I value a lot threads because it gives a lot of insights on the most common workflows and we can build a proposal that account for *most* and reduce as much as possible the inconvenience for the others.</div><div class=""><br class=""></div><div class="">Here is what I gathered till now:</div><div class=""><br class=""></div><div class=""><div class="">About git itself:</div><div class=""><br class=""></div><div class="">- Aaron Ballman (with +1 from George Rimar): "Not everyone thinks git is a step forward. Please do not force people to use a "git-only" solution.”  (It seems that github has a SVN R/W access) <a href="http://lists.llvm.org/pipermail/llvm-dev/2016-May/100318.html" target="_blank" class="">http://lists.llvm.org/pipermail/llvm-dev/2016-May/100318.html</a></div><div class="">- Joerg Sonnenberger: does not like git and prefer mercurial, didn’t find an email with a rational though.</div><div class="">- Chris Matthews:  LNT / llvmlab-bisect needs currently a sequential ID number <a href="http://lists.llvm.org/pipermail/cfe-dev/2016-July/049886.html" target="_blank" class="">http://lists.llvm.org/pipermail/cfe-dev/2016-July/049886.html</a></div><div class="">- Mehmet Erol Sanliturk: "I consider revision numbers as only a disastrous design” <a href="http://lists.llvm.org/pipermail/llvm-dev/2016-May/100329.html" target="_blank" class="">http://lists.llvm.org/pipermail/llvm-dev/2016-May/100329.html</a> (+some criticism of the GitHub UI). </div><div class="">- Scott Warren: "<span style="background-color:rgb(255,255,255)" class=""><span style="white-space:pre-wrap" class="">find [git] immature, hard to use, and unreliable.”</span> </span><span style="white-space:pre-wrap" class=""><a href="http://lists.llvm.org/pipermail/llvm-dev/2016-June/100514.html" target="_blank" class="">http://lists.llvm.org/pipermail/llvm-dev/2016-June/100514.html</a></span></div><div class=""><br class=""></div><div class="">About monorepo vs submodules:</div><div class=""><br class=""></div><div class="">- [multiple people]: need the ability to bisect (right now it’s not ideal and people are cloning the github monorepo). Both solution allows this, but some annoyance with submodules were countered with “developers don’t need to checkout the umbrella repo” which does not line up. Joerg mentioned as well “my primary interaction with the VCS for me is bisection, anything making it more fragile or more difficult to work is a huge no” (against submodules).</div><div class="">- Justin Lebar: opening this thread with many arguments in favor of the monorepo: <a href="http://lists.llvm.org/pipermail/llvm-dev/2016-July/102602.html" target="_blank" class="">http://lists.llvm.org/pipermail/llvm-dev/2016-July/102602.html</a></div><div class="">- Paul Robinson: "<span style="white-space:pre-wrap;background-color:rgb(255,255,255)" class="">major drawback of a single huge repo IMHO: </span><span style="white-space:pre-wrap;background-color:rgb(255,255,255)" class="">In git, to push a commit you must have it at the remote HEAD. </span><span style="white-space:pre-wrap;background-color:rgb(255,255,255)" class="">If HEAD has changed you need to rebase/rebuild/retest/retry. </span><span style="white-space:pre-wrap;background-color:rgb(255,255,255)" class="">With a single monster repo, a commit to 'lld' means I have to </span><span style="white-space:pre-wrap;background-color:rgb(255,255,255)" class="">go through this pain to put in my 'clang' tweak.</span><span style="white-space:pre-wrap" class="">”,  <a href="http://lists.llvm.org/pipermail/llvm-dev/2016-July/102656.html" target="_blank" class="">http://lists.llvm.org/pipermail/llvm-dev/2016-July/102656.html</a></span></div><div class=""><span style="white-space:pre-wrap" class="">- Justin Bogner: "</span> it's easy[1] to manage the set of repos with a script that cd's to each one and runs whatever git command.” And " if all of the repos are combined into one, you have to do work when you only want some of them. In my experience, this is basically always”. <a href="http://lists.llvm.org/pipermail/llvm-dev/2016-July/102609.html" target="_blank" class="">http://lists.llvm.org/pipermail/llvm-dev/2016-July/102609.html</a> </div><div class=""><span style="white-space:pre-wrap;background-color:rgb(255,255,255)" class="">- Mehdi: "</span>the minor inconvenience in the case of the monolithic repository is happening during the initial setup/clone/checkout, and not during day-to-day development (git pull, git checkout -b, git commit, git push), while the split model induces “minor inconveniences” in the day-to-day developer interaction. I.e. I prefer using a script to checkout and setup the repo, and then be able to use the standard git commands for interacting with it.” <a href="http://lists.llvm.org/pipermail/llvm-dev/2016-July/102612.html" target="_blank" class="">http://lists.llvm.org/pipermail/llvm-dev/2016-July/102612.html</a></div><div class="">- Chris Bienemann: What about a contributor only wanting to contribute to compiler-rt? He has to pay the price of cloning the full repo. <a href="http://lists.llvm.org/pipermail/llvm-dev/2016-July/103052.html" target="_blank" class="">http://lists.llvm.org/pipermail/llvm-dev/2016-July/103052.html</a></div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">On linear history and sequential revision number:</div><div class=""><br class=""></div><div class="">- [multiple people]: we should keep a linear history (haven’t found good reasons). Note that no Github proposal (submodule or monorepo) are addressing this. Tim proposed a solution based on checked-status but it requires every developer to run a script on their local machine before any push.</div><div class="">- Chris Lattner: "I think we *want* to severely limit how history is allowed to look.  We don’t want the entire development history of your long-lived branch coming to mainline.” <a href="http://lists.llvm.org/pipermail/llvm-dev/2016-June/100665.html" target="_blank" class="">http://lists.llvm.org/pipermail/llvm-dev/2016-June/100665.html</a></div><div class="">- Mehdi: "bug is fixed in r12345, my binary says "clang -v" is r23456 [or bot says it tested r23456], if I observe the bug [or the bot still fails] I know there is a problem immediately."</div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">— </div></div></div></div><div style="word-wrap:break-word" class=""><div class=""><div class=""><div class="">Mehdi</div><div class=""><br class=""></div><div class=""><br class=""></div></div></div></div><div style="word-wrap:break-word" class=""><div class=""><div class=""><br class=""></div><div class=""><br class=""></div><br class=""><blockquote type="cite" class=""><div class=""><br class="">James<br class=""><div class="gmail_quote"><div dir="ltr" class="">On Wed, 27 Jul 2016 at 19:33, Justin Lebar <<a href="mailto:jlebar@google.com" target="_blank" class="">jlebar@google.com</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Maybe we can hit the pause button on this issue of a survey vs<br class="">
consensus-building.  I think it's a distraction from the main issue<br class="">
here, and it makes it harder for everyone else to participate in the<br class="">
thread.<br class="">
<br class="">
That said, I really do think that perspectives like Justin B's below<br class="">
are important.  That is, if people have a problem with the monorepo,<br class="">
it is useful they can join the thread and say why.  That's true<br class="">
regardless of whether we use a survey or not.<br class="">
<br class="">
-Justin<br class="">
<br class="">
On Wed, Jul 27, 2016 at 11:29 AM, James Molloy via llvm-dev<br class="">
<<a href="mailto:llvm-dev@lists.llvm.org" target="_blank" class="">llvm-dev@lists.llvm.org</a>> wrote:<br class="">
> Hi,<br class="">
><br class="">
> That's why we collate responses and provide summaries and proposals, which<br class="">
> is what Renato did. There are a lot of technical deep dives on this thread<br class="">
> that make it difficult to keep track of where consensus is going.<br class="">
><br class="">
> Besides which we surely care about all our users and developers, and not<br class="">
> just the loud ones or ones with enough cajones to chip in on a massive<br class="">
> thread full of big names without fear of embarrassing themselves. We also<br class="">
> surely don't want a slew of '+1 to the proposal 93 replies ago'; how does<br class="">
> that help anyone decide if consensus is reached?<br class="">
><br class="">
> How can you decide that people who don't see this thread don't get the<br class="">
> chance to vote? It's summer time and people *will* be on vacation. Do you<br class="">
> expect them to find this in their inbox when they come back and read through<br class="">
> every response? This is not realistic.<br class="">
><br class="">
> James<br class="">
><br class="">
> On Wed, 27 Jul 2016 at 19:23, Krzysztof Parzyszek via llvm-dev<br class="">
> <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank" class="">llvm-dev@lists.llvm.org</a>> wrote:<br class="">
>><br class="">
>> On 7/27/2016 1:04 PM, James Molloy via llvm-dev wrote:<br class="">
>> > This thread is not particularly inviting. It has over 300 replies at the<br class="">
>> > time of writing and we don't all have the time to delve into such a<br class="">
>> > quagmire. That doesn't mean our opinions are worthless.<br class="">
>><br class="">
>> It doesn't take reading all responses to see where the discussion is<br class="">
>> going. Important decisions take time to make. People took a lot of<br class="">
>> effort in this thread to present their ideas and to address various<br class="">
>> concerns. I bet they all have other things to do as well.<br class="">
>><br class="">
>> -Krzysztof<br class="">
>><br class="">
>> --<br class="">
>> Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,<br class="">
>> hosted by The Linux Foundation<br class="">
>> _______________________________________________<br class="">
>> LLVM Developers mailing list<br class="">
>> <a href="mailto:llvm-dev@lists.llvm.org" target="_blank" class="">llvm-dev@lists.llvm.org</a><br class="">
>> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank" class="">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br class="">
><br class="">
><br class="">
> _______________________________________________<br class="">
> LLVM Developers mailing list<br class="">
> <a href="mailto:llvm-dev@lists.llvm.org" target="_blank" class="">llvm-dev@lists.llvm.org</a><br class="">
> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank" class="">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br class="">
><br class="">
</blockquote></div>
_______________________________________________<br class="">LLVM Developers mailing list<br class=""><a href="mailto:llvm-dev@lists.llvm.org" target="_blank" class="">llvm-dev@lists.llvm.org</a><br class=""><a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" target="_blank" class="">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br class=""></div></blockquote></div></div></blockquote></div>
</div></blockquote></div><br class=""></body></html>