<div dir="ltr"><div dir="ltr">Hello,<div><br></div><div>a couple of notes about the use of `git` here, which are probably more relevant if you collaborate with other people on a branch:</div><div><br></div><div>   1. In general, I think that the model is that you create the branch when you start working on something, and you don't really need</div><div>      to do a merge request until later, when you are ready for review.</div><div><br></div><div>   2. when you are pushing your branch to the remote (i.e., git-lab), you probably want to say that you branch should "track" the remote by providing the `-u` flag:</div><div><br></div><div>       git push -u origin wip/spj-wibbles<br></div><div>  </div><div>     This makes `git` remember the association between your local branch, and the one that lives on git-lab, so later if you can just say `git pull` and `git push` and</div><div>     `git` will know what remote you are talking about.</div><div><br></div><div>    3. You shouldn't really force push to a remote, especially if you are collaborating with other people.</div><div>       If you want to integrate your changes with the current HEAD (aka `master`), you may want to merge it into your working branch.</div><div><br></div><div>    4. Once you are finished with the changes and they are ready for review, you can prepare them by doing any of these as needed:</div><div>        a)  rebasing to a more relevant starting point (perhaps even the current `master`),</div><div>        b) squashing commits as necessary---for simple changes, one should probably end up with a single commit.</div><div>      Since those "rewrite history", you are essentially making a new branch, and you could submit *that* for review.  Alternatively,</div><div>      you could reuse your working branch (a bit of a hack), and then you'd have to "force" push.</div><div><br></div><div>    5. When everything is ready for review, then you create the MR for the appropriate branch (either the new review one, or</div><div>        your working one, if you chose to reuse it)</div><div><br></div><div>     6. You can continue evolving the branch as usual based on feedback from the reviews.</div><div><br></div><div>     7. Once all the reviewers are happy, you can prepare the branch for merging with `master` as in 4.</div><div><br></div><div>         I believe in the past GHC has tried to maintain a "straight line" history model, where changes are always made</div><div>         on top of the current `master` branch (i.e., there are no visible merges).  If we are still doing that, then you'd</div><div>         have to rebase your reviewed changes on top of `master` in preparation for merging.</div><div><br></div><div>I didn't add this to the wiki, as they are subjective, but they reflect my understanding of how systems like `git-lab`</div><div>are intended to be used.</div><div><br></div><div>-Iavor</div><div><br></div><div><br></div><div><br></div><div> </div><div>      </div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div></div></div><br><div class="gmail_quote"><div dir="ltr">On Tue, Jan 8, 2019 at 8:30 AM Simon Peyton Jones via ghc-devs <<a href="mailto:ghc-devs@haskell.org" target="_blank">ghc-devs@haskell.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">





<div lang="EN-GB">
<div class="gmail-m_5315923543860922122gmail-m_3940622102135647715WordSection1">
<p class="MsoNormal"><span style="font-family:Calibri,sans-serif">Friends<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-family:Calibri,sans-serif">I’ve added a Wiki page to summarise things I’ve learned about Gitlab.  Please do correct any errors I’ve made!<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-family:Calibri,sans-serif"><a href="https://ghc.haskell.org/trac/ghc/wiki/WorkingConventions/GitLabSPJ" target="_blank">https://ghc.haskell.org/trac/ghc/wiki/WorkingConventions/GitLabSPJ</a><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-family:Calibri,sans-serif">Thanks<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-family:Calibri,sans-serif">Simon<u></u><u></u></span></p>
</div>
</div>

_______________________________________________<br>
ghc-devs mailing list<br>
<a href="mailto:ghc-devs@haskell.org" target="_blank">ghc-devs@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs</a><br>
</blockquote></div>