<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jul 28, 2016 at 9:24 AM, Robinson, Paul via llvm-dev <span dir="ltr"><<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br>
<br>
> -----Original Message-----<br>
> From: llvm-dev [mailto:<a href="mailto:llvm-dev-bounces@lists.llvm.org">llvm-dev-bounces@lists.llvm.org</a>] On Behalf Of<br>
> Justin Lebar via llvm-dev<br>
> Sent: Wednesday, July 27, 2016 1:32 PM<br>
> To: Chris Bieneman<br>
> Cc: <a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a><br>
> Subject: Re: [llvm-dev] [RFC] One or many git repositories?<br>
><br>
> Thanks for elaborating, Chris.<br>
><br>
> > Case Study 1 - Simple development on a sub-project<br>
><br>
> I explicitly addressed this workflow in my original e-mail.  I know it<br>
> was a while ago, but it sounds like it may be worth a read if you<br>
> haven't checked it out.<br>
><br>
> In the mail I described how to use sparse checkouts to create a<br>
> repository structure that functions virtually identically to what you<br>
> have today.  It takes a few copy-pastable commands to set up.  If<br>
> these few commands are a pain, we can write a script and check it in<br>
> to llvm.<br>
<br>
</span>If I try to push from my sparse checkout, but something that I don't<br>
have in the checkout has changed, do I still need to rebase first?<br></blockquote><div><br></div><div>That's assuming you're pushing directly to master. Very few people should be doing that!</div><div><br></div><div>If llvm is run like other github projects then you push to a branch in your own forked copy of llvm. No one else can push to that, so nothing can have changed.</div><div><br></div><div>If you're developing your branch over a long time period then you should pull from master and rebase on that from time to time, and certainly just before making a pull request.</div><div><br></div><div>The person responding to your pull request will rebase on the latest master and kick it back to you if there are problems.</div><div><br></div><div>If gerrit is used for code review then the UI tells you if your patch is out of date compared to master and there's a big fat painless "rebase" button right there.</div><div><br></div></div></div></div>