← Back to team overview

dolfin team mailing list archive

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

 

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.

--
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