<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>I've noticed the same.  The net effect for me is that I add a
      "git pull --rebase && git diff" immediately before the
      commit and push.  It makes me a tad nervous for exactly the reason
      you mention, but I don't know of a better option.  Anyone else?</p>
    <p>Philip<br>
    </p>
    <div class="moz-cite-prefix">On 10/28/19 4:18 PM, Nemanja Ivanovic
      via llvm-dev wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CAObEeNgVCLhf3B6UmeWCsngDUBYJ1HFLr8RSVFgHUTzEgPBHrQ@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div dir="ltr">
        <div>Now that we have switched to git and I had to leave behind
          my wonderfully simple svn workflow I have noticed something
          curious when committing.</div>
        <div><br>
        </div>
        <div>My typical workflow once my patch is approved on
          Phabricator has always been:</div>
        <div>- Update my source tree to latest</div>
        <div>- Apply the approved patch</div>
        <div>- Rebuild</div>
        <div>- Retest</div>
        <div>- If all is well, commit</div>
        <div><br>
        </div>
        <div>Having to update again after rebuilding/retesting was
          extremely rare since SVN only prevented the commit if I am
          modifying the same file(s) that have been modified upstream
          since my update.</div>
        <div><br>
        </div>
        <div>So I tried replicating that workflow with git, but
          apparently that isn't really an option. Apparently git won't
          let me push if there have been any commits upstream at all
          between my last pull and my push. This means that I can never
          push from a fully tested state since it is almost impossible
          to find a window of 20-30 minutes without any commits (which
          is how long a rebuild/retest takes for me).</div>
        <div><br>
        </div>
        <div>One might argue that this is no worse than what I had with
          SVN since I would commit on top of changes that already
          happened upstream. But this is not always the case. Namely, if
          an upstream commit modifies the same file, causing a semantic
          conflict, I would not end up committing with the old svn
          workflow whereas I would end up committing with the new git
          workflow.</div>
        <div><br>
        </div>
        <div>I am not sure if this is something that can be solved (nor
          if it is something that needs to be solved) but I thought I
          would just bring it up.<br>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
LLVM Developers mailing list
<a class="moz-txt-link-abbreviated" href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>
<a class="moz-txt-link-freetext" href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a>
</pre>
    </blockquote>
  </body>
</html>