← Back to team overview

dolfin team mailing list archive

Re: [Ufl] [Branch ~ufl-core/ufl/main] 2 revisions removed

 

On 06/17/2011 08:03 PM, Anders Logg wrote:
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


No thanks.

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.


Yes, I know. I let some commits be implicit in this text, somehow assuming that you knew that I know how to make a change and commit ;-)



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.


But isn't that exactly what happens in (*) above?

--
Marie
--
Anders


# What I probably should have done is

bzr branch trunk trunk_1
cd trunk_1
bzr merge ../rognes
bzr push lp:~dolfin-core/dolfin/rognes # Unsure if this works now.

# If that worked, wait for buildbots to go green.

# if: best case: nothing has happened in dolfin:
cd trunk
bzr merge ../trunk_1
bzr push lp:dolfin

# else: average case: something has happened in dolfin (again)
# Repeat over K until convergence:
cd trunk
bzr pull
bzr branch trunk trunk_K
cd trunk_K
bzr merge ../trunk_K-1
...

# Significant time later:
cd trunk
bzr merge ../trunk_K
bzr push lp:dolfin # win!




Follow ups

References