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 g...@bitbucket.org: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
smime.p7s
Description: S/MIME Cryptographic Signature
_______________________________________________ Mailing list: https://launchpad.net/~fenics Post to : fenics@lists.launchpad.net Unsubscribe : https://launchpad.net/~fenics More help : https://help.launchpad.net/ListHelp