← Back to team overview

fenics team mailing list archive

Re: Project changes: moving from Launchpad

 

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 19/03/13 17:31, Anders Logg wrote:
> On Tue, Mar 19, 2013 at 06:13:08PM +0100, Anders Logg wrote:
>> For future reference, here are the commands for conversion of 
>> from bzr to git (currently in progress): bzr branch lp:dolfin cd 
>> dolfin git init bzr fast-export `pwd` | git fast-import rm -r 
>> .bzr git reset HEAD
> 
> Correction from Florian. Let's do this:
> 
> bzr fast-export --export-marks=marks.bzr `pwd` | git fast-import 
> --export-marks=marks.git
> 
> The marks files can be used by anyone who wants to convert their 
> existing feature branches and then merge them on the git side. They
> will be put on the web page for download. More info here:
> 
> http://dgleich.wordpress.com/2011/01/22/convert-bazaar-to-git/
> 
> Garth and I are currently converting the repositories for DOLFIN, 
> UFC, UFL, FFC, Instant and FIAT so please don't touch the
> Launchpad repos now.

Anders, Garth and I sat down this evening to work out a migration
strategy and I think we've arrived at something workable.

Just a few words of explanation about the pitfalls: Converting the
trunk is relatively straightforward (and the conversion scripts should
have finished by now), but we need to be very careful when migrating
feature branches s.t. they keep the correct ancestry relationship.

Consider the following situation of a feature branch branching of
trunk after revision 1803:

o trunk (r 1806) --> d9e67c2
|
o  + feature-branch (r 1805) --> 16c0470
|  |
o  +
| /
|/
o base (r 1803) --> dafb344
|

After converting trunk to Git, bzr revision 1806 becomes git revision
d9e67c2 and 1803 becomes dafb344. When migrating feature-branch, it is
*critical* that revision 16c0470 is a descendant of dafb344.

For this to work, bzr fast-export needs to know which revisions it has
already exported and git fast-import needs to know which revisions it
has already seen (and both need to agree on that!). Therefore you need
to have access to the *same* marks file that was used when converting
trunk.

If it doesn't have access to this information when importing
feature-branch, fast-{im,ex}port will go ahead and do all the
conversion for revision 1803 and its ancestors *again* and you will
end up with *the entire history replicated* but *different* git
revision ids s.t. git has no way of knowing that feature-branch should
be a descendant of dafb344.

Anders will make all the marks files used for the conversions of the
FEniCS projects available and we'll send detailed migration
instructions for feature branches once all the infrastructure is in
place. I've already sketched out how that is going to work:
https://gist.github.com/kynan/41b7e7f405ce38fa250a

Florian

> -- Anders
> 
> _______________________________________________ Mailing list: 
> https://launchpad.net/~fenics Post to     : 
> fenics@xxxxxxxxxxxxxxxxxxx Unsubscribe : 
> https://launchpad.net/~fenics More help   : 
> https://help.launchpad.net/ListHelp
> 
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iEYEARECAAYFAlFI+AgACgkQ8Z6llsctAxa8CACfdFTlG3ngexR/cg2dmmfQvJVP
NWwAoLUmXCJtNuA48L/IcJ3t4CdB7CIf
=iTK9
-----END PGP SIGNATURE-----

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


Follow ups

References