← Back to team overview

dolfin team mailing list archive

Re: [Fenics] Deadline for merge of development branches

 

On 28/03/13 06:35, Anders Logg wrote:
> On Thu, Mar 28, 2013 at 02:46:49AM +0100, Roland Siegbert wrote:
>> On 03/27/2013 10:40 PM, Anders Logg wrote:
>>> On Wed, Mar 27, 2013 at 03:23:53PM +0000, Florian Rathgeber wrote:
>>>> On 26/03/13 22:32, Anders Logg wrote:
>>>> Yes, I still haven't found a satisfactory solution that is safe in all
>>>> cases. The only safe solution I can think of at the moment is:
>>>> 1) bzr -> git convert trunk with export of marks files
>>>> 2) import *all* feature branches
>>>> 3) filter the entire history, removing files we don't want
>>>> 4) archive the new git repo with *all* branches on the fenics
>>>> webserver with public read-only access
>>>> 5) push only the master branch (bzr trunk) to bitbucket
>>>> 6) instruct people how they can fetch their feature branches into
>>>> their own (local) clones and then push to their own forks
>>>
>>> What exactly does it mean to import all branches? Will it somehow
>>> affect repository that we put on bitbucket?
>> It will include all branches directly instead of splitting it in a two
>> step procedure with the filtering in between the two steps. As far, as I
>> understood the discussion, that's a better solution than filtering the
>> trunk/master branch - to get rid of the obsolete files - and attach the
>> branches afterwards using some kind of yet unknown git voodoo.
> 
> It still seems very strange to import all branches, considering most
> of them will likely never be merged and perhaps only a couple of them
> are ready for merge.

I wasn't suggesting that: see 4) and 5) above: the repo with all
branches is only for archiving on the FEniCS web server. Only master
(formerly trunk) will be pushed to BitBucket. And if someone comes back
in 2 years and wants to continue working on their feature branch, we
point them to 6).

>>>> I've asked a question on SO, maybe someone has an idea:
>>>> http://stackoverflow.com/q/15660467/396967
>>
>> I suggest like the following as a first draft for the conversion script:

That is pretty much exactly what my import-branch script does :)

>> <code>
>> mkdir dolfin.git
>> cd dolfin.git
>> git init --bare
>>
>> bzr fast-export --export-marks=../marks.bzr ~/src/dolfin/master \
>>    | git fast-import --export-marks=../marks.git
>>
>> <repeat n-branches-times:>
>> bzr fast-export --marks=../marks.bzr --git-branch=<branchname> \
>>    ~/src/dolfin/<branchname> | git fast-import \
>>    --import-marks=../marks.git --export-marks=../marks.git
>> <endrepeat>
>>
>> #As soon as this is done: Filter the history as planned, test it and
>> then upload it to the new location:
>>
>> git remote add <bitbucket repolocation>
>> git push --all # push all branches
>> </code>
> 
> That would create a repository on bitbucket containing all the
> branches. I don't see why we should push anything but trunk.

Yes, I agree, only trunk should go to BitBucket. Replace the final 2
lines by:

rsync -a . fenicsproject.org:/path/to/archive/dolfin.git
git remote add origin git@xxxxxxxxxxxxx:fenics-project/dolfin.git
git push origin master

And repeat the process for all the other FEniCS components...

> And still no one with a feature branch has claimed that it would be a
> problem to start with a fresh clone. The only thing we would lose
> would be the history of the feature branches.

That might be because they're not reading this list and aren't even
aware of the migration plans.

Florian

> --
> Anders

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature


Follow ups

References