← Back to team overview

fenics team mailing list archive

Re: [Dolfin] Deadline for merge of development branches

 

On Sat, Mar 30, 2013 at 10:10:47AM +0000, Florian Rathgeber wrote:
> On 30/03/13 07:55, Anders Logg wrote:
> > On Thu, Mar 28, 2013 at 10:06:11PM +0000, Florian Rathgeber wrote:
> >> On 27/03/13 21:40, 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:
> >>>>> On Tue, Mar 26, 2013 at 09:57:00PM +0000, Florian Rathgeber
> >>>>> wrote: ok. So from what I've heard so far, it seems there are
> >>>>> really no strong objections to converting to git in combination
> >>>>> with stripping, and forcing all branches to start from scratch
> >>>>> on the git side.
> >>>>>
> >>>>> I wouldn't mind making it easier to transition feature
> >>>>> branches, but it seems very difficult to do so.
> >>>>
> >>>> 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?
> >>>
> >>>> I've asked a question on SO, maybe someone has an idea:
> >>>> http://stackoverflow.com/q/15660467/396967
> >>>>
> >>>> I'm currently discussing with Jelmer on #bzr: There's yet
> >>>> another conversion route using bzr dpush and/or bzr serve --git.
> >>>> That doesn't seems very promising either though: it's mostly
> >>>> designed to allow contributing to git projects using bzr (and we
> >>>> want the opposite).
> >>>
> >>> ok. My main take on this right now is that I haven't heard anyone
> >>> saying that it's important to convert the feature branches, so I'm
> >>> not going to spend a lot of time thinking about it. :-) But as
> >>> before, if you come up with a good solution, I wouldn't mind.
> >>>
> >>> I've moved the conversion script from the old gist to bitbucket.
> >>> The plan is to use this script to do the conversion:
> >>>
> >>> https://bitbucket.org/fenics-project/fenics-bzr-to-git-conversion-2013
> >>>
> >>>  This should happen next weekend.
> >>
> >> I've updated the conversion script and have it call another script to
> >> import all branches registered on launchpad for the given project. So
> >> when running the script you end up with a git repository for the
> >> project which contains *all* bzr branches from launchpad migrated to
> >> git with the correct ancestry relationships etc. An additional
> >> advantage is that obsolete branches fully "contained" within other
> >> branches are skipped.
> >
> > Great thanks. I haven't tried it yet but it looks good. So if I
> > understand correctly, this will result in:
> >
> > 1. A repository on bitbucket which is only a stripped version of the
> >    master (not containing any relationship to the other branches).
>
> The script doesn't do any filtering/history rewriting. I'll write a
> separate script doing the filtering for DOLFIN and FFC. For these I
> think we should keep archives of both the filtered and non-filtered
> repositories on the FEniCS webserver.

So how will that subsequent filtering affect the converted branches?
Won't that make those branches impossible to merge?

> But only the master branch will be pushed to BitBucket.
>
> > 2. Git branches for all the Launchpad branches which can be used as
> >    starting points for those who wish to migrate their branches to
> >    git now.
>
> Yes, everyone who wants to fetch the git branch converted from their
> former launchpad bzr branch can do so by adding the archive repository
> as a git remote:
>
> $ git remote add -t branch-name archive
> http://fenicsproject.org/path/to/dolfin.git
> $ git fetch archive
> $ git checkout branch-name

ok.

> > 3. Developers who want to migrate branches will have to immediately
> >    get their new git branches and continue work in those. Continued
> >    work on the Launchpad side after the conversion will break stuff.
>
> They will need to migrate any further changes they make to their
> launchpad branches after the cut-off point for the conversion by hand.
> So yes, they should immediately start working on the git branches.

ok.

--
Anders


> >> Now we need to decide the final list of files to strip for DOLFIN and
> >> FFC. Presumably there's no other projects we want to filter history?
> >> Then it's relatively straightforward to add a script to strip those
> >> files from history.
> >
> > Yes. Let's try to finalize the strip lists for DOLFIN and FFC before
> > next weekend.
>
> OK.
>
> Florian
>
>




References