Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>If you have two checkouts, any time you commit changes to one, you will first have to pull down any changes from the other one, potentially having to resolve conflicts at each step. This is generally a good idea, since it's easier to resolve conflicts over time and make sure your code doesn't diverge too much. </p> <p>However, it sounds like you want to have separate developers working on "gui" and "engine", or you just want to save your conflict resolution till development on both branches has completed. In this case, you should probably create them as independent branches with "bzr branch". Each branch can use local commits and not worry about conflicts with each other. Then when it comes time to merge you can do it one of 3 ways, all of which get the same end result: </p> <h3>1. Merge one branch into the other, then push it up to master:</h3> <pre><code>cd gui bzr merge ../engine # manually fix any conflicts bzr commit bzr push #back up to main </code></pre> <p>The downside to the above method is that your "gui" branch now has the "engine" changes in it. Which is fine if you're going to throw away both branches once they're pushed back into the mainline. But if you want to keep the branches longer, you can:</p> <h3>2. Merge into the mainline:</h3> <pre><code>cd master bzr merge ../gui bzr commit bzr merge ../engine # manually fix conflicts bzr commit </code></pre> <p>This has the upside that you still have "gui" and "engine" as separate branches, but you've had to commit one to master before you were sure that they would both work together. So you really probably want to:</p> <h3>3. Create a merge branch:</h3> <pre><code>bzr branch ~/master gui-engine-merge cd gui-engine-merge bzr merge ../gui bzr commit bzr merge ../engine # manually fix conflicts bzr commit bzr push ~/master # since this branch was only for merging, you don't need it anymore: cd .. rm -r gui-engine-merge </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload