[Bf-committers] HOWTO transplant development branches coming from git-svn to git.blender.org

Julien RIVAUD (_FrnchFrgg_) frnchfrgg at free.fr
Sun Nov 17 19:36:37 CET 2013


Hi everyone,

I'd like to give you notice of a somewhat advanced git HOWTO for people 
that used previout git mirrors of blender (as the mirror by jesterKing). 
The HOWTO is here: 
http://wiki.blender.org/index.php/User:Frnchfrgg/Transplant

This HOWTO aims to salvage developement branches made with SVN mirrors, 
that are impossible to rebase. The HOWTO is long and you'll need some 
git knowledge, but you'll be well guided throughout.
A lot of the cleaning part directly comes from the experience I gained 
working on the git.blender.org conversion.

To know if this is for you, check the following:

* MANDATORY Did you use to develop for Blender in a Git repository 
either cloned from jesterking's SVN mirror or directly from git-svn ? 
(other SVN mirrorring solutions might also be handled with 
modifications, but not manual periodic dumps of SVN)

and any of:

* Is the branch that much intertwinned with trunk from git-svn (several 
merges with conflict resolutions) that rebasing is too painful ? (Note 
that while rebasing you'd have to know how to use the -Xsubtree=blender 
option, unless your SVN clone doesn't have the leading blender/ directory)
* Did you commit to files with CR-LF line endings so that conflicts 
happen all the time with git.blender.org while rebasing and the 
-Xrenormalize rebase option doesn't help ?
* Do you want to try a wicked smart way to transplant history ?

I'm hoping this will be of good use for some of you, and am mostly 
available to help on #blendercoders.

Cheers,

_FrnchFrgg_

P.S.: I devised that method to fix the multiview branch of dfelinto that 
was seriously entangled with Nathan's mirror and had ~400 commits to 
salvage including merges from trunk, so rebasing was nigh impossible and 
cherry-picking by hand (resolving all conflicts anew) was a nightmare. 
Of course you can always use the conversion as a base to rework your 
branch into a set of clean, sorted, progressive and reviewable commits.


More information about the Bf-committers mailing list