<div dir="ltr">Hi everyone,<br><div><br></div><div>One more additional comment to the forking workflow instructions sent earlier.</div><div><br></div><div>If you create a fork, that will copy all branches in the original repository. If you attempt to checkout a branch that exists on both the origin and upstream repository, git will be confused about which one you actually want. To make this clear, you will need to be a bit more specific in the checkout command:</div><div><font face="monospace"> git checkout --track upstream/develop</font><font face="arial, sans-serif"><br></font></div><div><font face="arial, sans-serif">or</font></div><div><div><font face="monospace"> git checkout --track origin/develop</font><font face="arial, sans-serif"><br></font></div><div></div></div><div><br></div><div>The first version will make sure your local <font face="monospace">develop</font> branch follows the <font face="monospace">upstream</font> version. In the second case, it will follow the <font face="monospace">origin</font> version (your forked version).</div><div><font face="arial, sans-serif"><br></font></div><div><font face="arial, sans-serif">I'm working on assembling these instructions in a single standard file in the remoll repository (CONTRIBUTING.md), see </font><a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_JeffersonLab_remoll_pull_446&d=DwMFaQ&c=CJqEzB1piLOyyvZjb8YUQw&r=hK0qfHtfdwUHlZG0DnK-QRJVYus_TzTB8u52ev2QBtI&m=U2Z4HHD6eb4FyoW1u8llBp9UKxEYRlDdoMRooEu5Cck&s=PWm75VMzrs3IqrbcSSqAHXiFgjUzHrZhd45JDd3PCLU&e=">https://github.com/JeffersonLab/remoll/pull/446</a>. Comments there are welcome.</div><div><font face="arial, sans-serif"><br></font></div><div><font face="arial, sans-serif">Cheers,</font></div><div>Wouter</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Mar 8, 2021 at 9:16 PM Wouter Deconinck <<a href="mailto:wouter.deconinck@umanitoba.ca">wouter.deconinck@umanitoba.ca</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 dir="ltr">Hi everyone,<div><br></div><div>I'm just following up with some info for those who already have a perfectly fine local working copy and don't want to clone all over again into a new directory.</div><div><br></div><div>Cheers,</div><div>Wouter</div><div><br></div><div><b>Renaming an existing remote</b>:</div><div>After creating a fork as before, you will need to add this fork as the primary remote (<font face="monospace">origin</font>) of your local copy.</div><div>- Rename the previous remote (jeffersonlab/remoll):</div><div><font face="monospace"> git remote rename origin upstream</font></div><div>- Add your forked repository as a new remote:</div><div><font face="monospace"> git remote add origin git@github.com:USERNAME/remoll.git</font></div><div><br></div><div><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Mar 8, 2021 at 4:59 PM Wouter Deconinck <<a href="mailto:wouter.deconinck@umanitoba.ca" target="_blank">wouter.deconinck@umanitoba.ca</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 dir="ltr">Hi everyone,<div><br></div><div>I am writing with a change to how we have been using the remoll repository. We will be moving to a <b>forking workflow</b>. Details below.</div><div><br></div><div>Cheers,</div><div>Wouter</div><div><br></div><div><br></div><div><b>Summary</b>: Until now, we mainly have been using branches in the jeffersonlab/remoll repository on github. Instead of creating branches there, we will now encourage you to <b>fork</b> the remoll repository and create branches in your own repository. From those branches, you are encouraged to submit a <b>pull request</b> to the jeffersonlab/remoll repository for merging.<br clear="all"><div><br></div><div><b>Rationale</b>: JLab is preferring the forking workflow for users who contribute to a few repositories only. Membership in the jeffersonlab organization is reserved for maintainers (and has additional requirements since these accounts are publicly affiliated with JLab; i.e. real name and institutional affiliation in your github profile). Moreover, we have enough contributors now and this workflow scales better.</div><div><br></div><div><b>Creating a fork</b>: Click the 'fork' button on the top right of the remoll repository. You can now clone this repository:</div><div><font face="monospace"> git clone git@github.com:USERNAME/remoll.git</font></div><div>This will fork all current branches in the jeffersonlab/remoll repository.</div><div><br></div><div><b>Keeping your fork up to date</b>:</div><div>- Add the <font face="monospace">upstream</font> repository jeffersonlab/remoll to your list of remotes (you only need to do this once):<br><font face="monospace"> git remote add upstream <a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_jeffersonlab_remoll.git&d=DwMFaQ&c=CJqEzB1piLOyyvZjb8YUQw&r=hK0qfHtfdwUHlZG0DnK-QRJVYus_TzTB8u52ev2QBtI&m=U2Z4HHD6eb4FyoW1u8llBp9UKxEYRlDdoMRooEu5Cck&s=TuSFK5eJjVeJ9lhzL4S324Lc6U9pZhplYfoYOwQzsHY&e=" target="_blank">https://github.com/jeffersonlab/remoll.git</a></font></div><div>- Whenever you want to update, fetch the latest upstream changes:</div><div><font face="monospace"> git fetch upstream</font></div><div><font face="monospace"> </font><font face="arial, sans-serif">Variant: </font><font face="monospace">git fetch --all</font></div><div>- ... and merge the upstream branch in your branch, e.g. for the 'develop' branch</div><div><font face="monospace"> git checkout develop</font></div><div><font face="monospace"> git merge upstream/develop</font></div><div>Avoid making changes directly on <font face="monospace">master</font> or <font face="monospace">develop</font>, even in your own repository (for the same reasons).</div><div><br></div><div><b>Doing your work</b>:</div><div>It is easiest to do your work in branches, one per logically separate tasks, and to merge those to jeffersonlab/remoll frequently.</div><div>- Create a new branch from the <font face="monospace">develop</font> branch (the base of your branch):</div><div><font face="monospace"> git checkout develop</font></div><div><font face="monospace"> git branch new-feature-xyz</font></div><div><font face="monospace"> git checkout new-feature-xyz</font></div><div>- Now, you can do your work in this branch.<br></div><div>- Periodically, push the changes to your repository:</div><div><font face="monospace"> git push</font></div><div><br></div><div><b>Cleaning up your work</b>:<br></div><div>Before contributing your changes back to jeffersonlab/remoll for others to use, it make sense to clean up some.</div><div>- Make sure your branch works with the most up to date code in the upstream base branch:</div><div><font face="monospace"> git fetch upstream<br> git checkout develop<br> git merge upstream/develop</font><br></div><div>- Rebase your branch to point to the most recent code in the base branch:</div><div><font face="monospace"> git checkout new-feature-xyz</font></div><div><font face="monospace"> git rebase develop</font></div><div>The rebase phase is when you may need to resolve some conflicts: when you have modified lines that someone else has modified upstream as well. Ask in Slack if you need help resolving conflicts (in git; we can't help with the neighbors).</div><div><br></div><div><b>Submitting a pull request</b>:</div><div>When you are done with your work in a branch and ready to share it with others, go to your branch page on GitHub and click the 'pull request' button. Write a clear summary and wait for someone to merge it (or request some changes, if necessary). After your branch has been merged, you can go ahead and delete it. When you update your <font face="monospace">develop</font> branch, the changes will be included.</div><div><br></div></div></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Wouter Deconinck<span style="font-size:12.8px"> </span>(he/him/his) <a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__www.name-2Dcoach.com_wouter-2Ddeconinck&d=DwMFaQ&c=CJqEzB1piLOyyvZjb8YUQw&r=hK0qfHtfdwUHlZG0DnK-QRJVYus_TzTB8u52ev2QBtI&m=U2Z4HHD6eb4FyoW1u8llBp9UKxEYRlDdoMRooEu5Cck&s=bR8aOlpYN5X5W751GzuaEuluNzjydoAkcV1O7xJdQF4&e=" target="_blank">🕪</a><br></div><div dir="ltr">Associate Professor of Physics, University of Manitoba</div><div dir="ltr"><div>Office: 204 Allen / JLab CC F345, Phone: (204) 474-6206</div><div>Zoom meeting room: <a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__zoom.us_j_7579272413&d=DwMFaQ&c=CJqEzB1piLOyyvZjb8YUQw&r=hK0qfHtfdwUHlZG0DnK-QRJVYus_TzTB8u52ev2QBtI&m=U2Z4HHD6eb4FyoW1u8llBp9UKxEYRlDdoMRooEu5Cck&s=g_eR35e3EDtCVEg3-L7UeYbgolFuMi3_XvWugayBzLU&e=" target="_blank">https://zoom.us/j/7579272413</a> R3G2G6<br></div><div>Science makerspace consultation needed? Fill out the <a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__www.sci.umanitoba.ca_physics-2Dastronomy_resources_faculty-2Dof-2Dscience-2Dmaker-2Dspace_maker-2Dspace-2Dfabrication-2Dconsultation-2Drequest_&d=DwMFaQ&c=CJqEzB1piLOyyvZjb8YUQw&r=hK0qfHtfdwUHlZG0DnK-QRJVYus_TzTB8u52ev2QBtI&m=U2Z4HHD6eb4FyoW1u8llBp9UKxEYRlDdoMRooEu5Cck&s=0-uC_fI97AYsIRbOWV9fCYR7EW_XSKHzV6_tb_9IH8Q&e=" target="_blank">intake form</a><br></div><div>Watch my August 2019 APS webinar on <a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__www.aps.org_careers_guidance_webinars_agile.cfm&d=DwMFaQ&c=CJqEzB1piLOyyvZjb8YUQw&r=hK0qfHtfdwUHlZG0DnK-QRJVYus_TzTB8u52ev2QBtI&m=U2Z4HHD6eb4FyoW1u8llBp9UKxEYRlDdoMRooEu5Cck&s=ZFv3cOKLpPZuE9LZrgnGlxLNh240nUKpSqH4AyvsnpU&e=" target="_blank">agile in physics education</a>!<br></div><div><br></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Wouter Deconinck<span style="font-size:12.8px"> </span>(he/him/his) <a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__www.name-2Dcoach.com_wouter-2Ddeconinck&d=DwMFaQ&c=CJqEzB1piLOyyvZjb8YUQw&r=hK0qfHtfdwUHlZG0DnK-QRJVYus_TzTB8u52ev2QBtI&m=U2Z4HHD6eb4FyoW1u8llBp9UKxEYRlDdoMRooEu5Cck&s=bR8aOlpYN5X5W751GzuaEuluNzjydoAkcV1O7xJdQF4&e=" target="_blank">🕪</a><br></div><div dir="ltr">Associate Professor of Physics, University of Manitoba</div><div dir="ltr"><div>Office: 204 Allen / JLab CC F345, Phone: (204) 474-6206</div><div>Zoom meeting room: <a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__zoom.us_j_7579272413&d=DwMFaQ&c=CJqEzB1piLOyyvZjb8YUQw&r=hK0qfHtfdwUHlZG0DnK-QRJVYus_TzTB8u52ev2QBtI&m=U2Z4HHD6eb4FyoW1u8llBp9UKxEYRlDdoMRooEu5Cck&s=g_eR35e3EDtCVEg3-L7UeYbgolFuMi3_XvWugayBzLU&e=" target="_blank">https://zoom.us/j/7579272413</a> R3G2G6<br></div><div>Science makerspace consultation needed? Fill out the <a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__www.sci.umanitoba.ca_physics-2Dastronomy_resources_faculty-2Dof-2Dscience-2Dmaker-2Dspace_maker-2Dspace-2Dfabrication-2Dconsultation-2Drequest_&d=DwMFaQ&c=CJqEzB1piLOyyvZjb8YUQw&r=hK0qfHtfdwUHlZG0DnK-QRJVYus_TzTB8u52ev2QBtI&m=U2Z4HHD6eb4FyoW1u8llBp9UKxEYRlDdoMRooEu5Cck&s=0-uC_fI97AYsIRbOWV9fCYR7EW_XSKHzV6_tb_9IH8Q&e=" target="_blank">intake form</a><br></div><div>Watch my August 2019 APS webinar on <a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__www.aps.org_careers_guidance_webinars_agile.cfm&d=DwMFaQ&c=CJqEzB1piLOyyvZjb8YUQw&r=hK0qfHtfdwUHlZG0DnK-QRJVYus_TzTB8u52ev2QBtI&m=U2Z4HHD6eb4FyoW1u8llBp9UKxEYRlDdoMRooEu5Cck&s=ZFv3cOKLpPZuE9LZrgnGlxLNh240nUKpSqH4AyvsnpU&e=" target="_blank">agile in physics education</a>!<br></div><div><br></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div>