← Back to team overview

dolfin team mailing list archive

Re: Merging problems

 

It seems to me that if "cd ../merge && bzr merge ../dev && bzr commit -m
merge && bzr push trunk && cd ../dev && bzr pull ../merge" pushes whatever
was in dev to trunk and puts dev in sync with trunk, then there should be a
single bzr command for it so this could all be done from within dev.
Something like

cd dev
bzr merge-into trunk

--
Anders



On 6 March 2013 20:55, Martin Sandve Alnæs <martinal@xxxxxxxxx> wrote:

> That's what I do if I want to play it safe. A bit inconvenient but it
> works for me every time.
>
> Martin
>
>
> On 6 March 2013 19:13, Anders Logg <logg@xxxxxxxxx> wrote:
>
>> Hmm... That actually worked. Just tried it now, then commited a local
>> change in dev and successfully pushed directly to lp;dolfin.
>>
>> I thought I tried that before, but then using cd ../dev && bzr pull
>> lp:dolfin, instead of bzr pull ../merge. Is there a difference?
>>
>> Maybe what I did was bzr merge lp:dolfin instead of bzr pull lp:dolfin.
>>
>> So if this works, then a simple workflow is (1) do everything from within
>> 'dev' except if someone else did something in between, in which case (2) do
>> the merge from a separate clean directory 'merge', then push to lp:dolfin,
>> then pull lp:dolfin into 'dev' which is now in sync again.
>>
>> --
>> Anders
>>
>>
>>
>> On 6 March 2013 19:02, Martin Sandve Alnæs <martinal@xxxxxxxxx> wrote:
>>
>>> cd ../dev
>>> bzr pull ../merge
>>>
>>> Martin
>>>
>>>
>>> On 6 March 2013 17:42, Anders Logg <logg@xxxxxxxxx> wrote:
>>>
>>>> I might have to take back what I said before about there being no
>>>> issues with merging and the append-revisions-only tag, but for a different
>>>> reason than the one that came up in the discussion last time.
>>>>
>>>> The merge itself goes fine, but there's  a practical issue with merging
>>>> in a separate repository. Here's what happens:
>>>>
>>>> 1. bzr branch lp:dolfin dev (get a clean copy of dolfin)
>>>> 2. bzr merge lp:~some-user/dolfin/some-patch (get a patch/branch from a
>>>> user, in this case Jan Blechta)
>>>> 3. bzr commit -m merge (commit the merge)
>>>> 4. bzr push lp:dolfin (try to push, didn't work since Garth had pushed
>>>> some HDF5 updates)
>>>> 5. bzr merge lp:dolfin (get stuff from trunk)
>>>> 6. bzr commit -m merge (do the merge)
>>>> 7. bzr push lp:dolfin (won't work because of append-revisions only and
>>>> will just stall, no error message)
>>>> 8. cd .. && bzr branch lp:dolfin merge (ok, so follow my own recipe for
>>>> merging in a separate branch)
>>>> 9. cd merge && bzr merge ../dev (merge into clean copy of trunk)
>>>> 10. bzr commit -m merge (do the merge)
>>>> 11. bzr push lp:dolfin (ok so now finally the merge is on Launchpad)
>>>>
>>>> This all works as expected, but now the problem comes when I want to
>>>> continue to work on the code in the directory dev, or merge other patches
>>>> into that branch (like Patrick's branch waiting for review). My dev branch
>>>> is out of sync with trunk and can never be pushed there, without needing to
>>>> go to the separate merge directory again. I would need to merge trunk
>>>> (including the merge of the merge of the previous patch) into dev, then
>>>> merge the new patch, then merge that merged patch from a separate clean
>>>> branch and then push to trunk... The main problem here is that I have my
>>>> DOLFIN build in the dev directory and I don't want to rebuild the entire
>>>> library every time I look at a patch or edit some code.
>>>>
>>>> Does anyone have a good suggestion to this?
>>>>
>>>> GitHub is starting to look more tempting...
>>>>
>>>> --
>>>> Anders
>>>>
>>>>
>>>> _______________________________________________
>>>> Mailing list: https://launchpad.net/~dolfin
>>>> Post to     : dolfin@xxxxxxxxxxxxxxxxxxx
>>>> Unsubscribe : https://launchpad.net/~dolfin
>>>> More help   : https://help.launchpad.net/ListHelp
>>>>
>>>>
>>>
>>
>

References