On Fri, Jun 17, 2011 at 03:37:50PM +0200, Marie E. Rognes wrote:
On 06/17/2011 11:28 AM, Anders Logg wrote:
If Garth can't be bothered, maybe you could describe a specific
example that doesn't work?
Everything can be made to work one way or the other, so to say that
it "doesn't work" is not my intention.
However, I _seem to remember_ the following scenario from a couple
of days ago.
# Have
bzr branch lp:dolfin trunk
I suggest that instead you do:
bzr checkout lp:dolfin trunk
bzr branch trunk rognes
This is fine.
# Do work and push to test
cd rognes
<work and commit>
bzr push lp:~dolfin-core/dolfin/rognes
This is fine too.
I did exactly this now and pushed to dolfin/logg with commit message
"Testing append_reivisons_only, commit by logg"
# Wait for buildbots.
# Meanwhile, things happen in dolfin
cd trunk
bzr pull
If you have done a checkout, you should instead do:
cd trunk
bzr update
Turns out the timing for this test was good. Garth had just pushed to
trunk with the commit message
"Clean up for removal of real."
# Want to check whether things still work in rognes
# after additional stuff has happened in dolfin
cd rognes
bzr merge ../trunk (*)
bzr push lp:̃~dolfin-core/dolfin/rognes
This is almost correct. Before pushing, you need to do
bzr commit -m "merge with trunk"
The merge command will change your local files so a commit is
necessary.
I did this just now (including the commit) and pushed to dolfin/logg.
# Now, I've messed things up, because of (*)
No, nothing is messed up.
# Begin pain, especially since I have already done the above
No pain. I just did this and it works fine fine fine:
cd trunk
bzr merge ../work
bzr commit -m "Merge some work in logg branch to trunk"
Nothing is messed up and there's no pain. The only thing that you
people need to do to make this work is:
1. Keep a local bound copy of trunk.
2. Merge your changes into trunk *from that directory*
The workflow is the same as before: work in local branches, push/pull
to your personal lp branch as much as you want or to a multitude of
other branches that you have on different machines, share with your
aunt/sister whatever and then just merge that into trunk.
The only thing you can't do is push merges made elsewhere into trunk.