<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style>
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal">This is very belated (and I don’t want the revive the entire discussion), but
<a href="https://reviews.llvm.org/D74990">https://reviews.llvm.org/D74990</a> will make arc only upload your current patch by default (instead of the entire series).<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:12.0pt;color:black">From: </span></b><span style="font-size:12.0pt;color:black">cfe-dev <cfe-dev-bounces@lists.llvm.org> on behalf of cfe-dev <cfe-dev@lists.llvm.org><br>
<b>Reply-To: </b>Bill Wendling <isanbard@gmail.com><br>
<b>Date: </b>Tuesday, January 7, 2020 at 5:57 PM<br>
<b>To: </b>Jonas Devlieghere <jonas@devlieghere.com><br>
<b>Cc: </b>llvm-dev <llvm-dev@lists.llvm.org>, cfe-dev <cfe-dev@lists.llvm.org><br>
<b>Subject: </b>Re: [cfe-dev] [llvm-dev] Phabricator -> GitHub PRs?<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<div>
<p class="MsoNormal">On Tue, Jan 7, 2020 at 5:35 PM Jonas Devlieghere <<a href="mailto:jonas@devlieghere.com">jonas@devlieghere.com</a>> wrote:<o:p></o:p></p>
</div>
<div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt">
<p class="MsoNormal" style="margin-bottom:12.0pt">On Tue, Jan 7, 2020 at 5:16 PM Bill Wendling via cfe-dev<br>
<<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>> wrote:<br>
><br>
> On Tue, Jan 7, 2020 at 4:59 PM Doerfert, Johannes <<a href="mailto:jdoerfert@anl.gov" target="_blank">jdoerfert@anl.gov</a>> wrote:<br>
>><br>
>> Hi Bill,<br>
>><br>
>> On 01/07, Bill Wendling via llvm-dev wrote:<br>
>> > Then perhaps those opposed could suggest how to use Phabricator/Arcanist so<br>
>> > that I don't throw my keyboard through my monitor?<br>
>><br>
>> Please explain your problems, w/o the hyperbole, so people can actually do that.<br>
>><br>
> It's not hyperbole, but fine.  How do you use it to keep multiple, related changes in order?<br>
<br>
You can use parent/child revisions. Phabricator encourages a<br>
patches-based approach with small changes. For me that corresponds to<br>
one commit per code review. When I address code review feedback in a<br>
parent revision I use git's interactive rebase.<o:p></o:p></p>
</blockquote>
<div>
<p class="MsoNormal">What's your workflow for doing this? My current workflow is:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">$ vim ...<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">$ git commit -a -m f<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">$ git rebase -i<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><move the commit I want to upload to the top of the change list><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">$ arc diff --update <update ID> --head <sha1 of the commit><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Of course, that doesn't work if the patch relies upon other patches. However, if I keep the patches in order in git, then arc will upload all of the parent changes to that Phab revision.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt">
<p class="MsoNormal" style="margin-bottom:12.0pt">> The interface for reviewing and responding to reviews is horrific, e.g. quoting text from a review is rather bad, the email it sends is badly formatted and hard to read. How do you make it reasonably useful?<br>
<br>
Inline comments are super useful, they can be marked as done and<br>
hidden. I agree that sometimes there's a lot of context when quoting<br>
text, but the format is very simple (similar to e-mail) so it's easy<br>
to trim.<o:p></o:p></p>
</blockquote>
<div>
<p class="MsoNormal">FWIW, the inline comments are fine, but I don't see a way to quote text easily.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt">
<p class="MsoNormal" style="margin-bottom:12.0pt">> Why can't I *easily* relate changes to each other?<br>
<br>
What issues do you experience with parent/child revisions?<o:p></o:p></p>
</blockquote>
<div>
<p class="MsoNormal">It was difficult to find out how to do it. I would expect it to have suggested revisions in the list, but it didn't. It would also be nice to do it through the "arc" tool, but there's no option to do that.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt">
<p class="MsoNormal">> Why can't I submit through the Phabricator interface, but have to go to the command line, place the change in a new branch, pull to top-of-tree, rebase, and only then push while hoping it doesn't give fail because the tree became out
 of date? How can I do a rebase through Phabricator?<br>
<br>
You can upload patches through<br>
<a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__reviews.llvm.org_differential_diff_create_&d=DwMFaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=frqwLflsBTC4S7ZBA1YhH2N0m5t_d6SbSsjn0E1b2_E&s=tx6sJfZLYG_PvgKOyxpAU160F32vryX4U1MkXuO1zVw&e=" target="_blank">https://reviews.llvm.org/differential/diff/create/</a>.
 I personally don't<br>
use arcanist even though I found it pretty useful in the past.<o:p></o:p></p>
</blockquote>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">This is part of my issue. The arcanist tool is meant to be used with Phabricator, especially if you develop in a terminal, but people seem to actively avoid using it. I personally find it far too easy to push the wrong changes to a revision.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">-bw<o:p></o:p></p>
</div>
</div>
</div>
</div>
</body>
</html>