← Back to team overview

dolfin team mailing list archive

Re: [Fenics] Deadline for merge of development branches

 

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.

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


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

Hope, I could help.

Best,

Roland




Follow ups

References