On Tuesday, May 13, 2014 4:16:14 PM UTC+2, Moataz Elmasry wrote:
> Is it possible to build this relation, for example using git branch-filter
> --tree-filter? lets say the last commit in svn/project1/subproject1 is x,
> while this project was moved under
> svn/mainproject/trunk/project1/subproject1/ in commit y, how can I build
> this relation?
I think this should be possible. Try focusing on one project at a time,
probably easier to get started this way.
So you have already created git-svn clone of project1/subproject1 the way
it was in the old structure. So far so good, now you want to append the
history of subproject1 in the new structure.
You start off with the big mainProject trunk. You then want to slice out
everything of this project but subproject1. First make a clone, and then
use filter-branch like this:
# make a copy of the big project you can morph into being just subproject1 repo:
git clone --no-hardlinks mainProject-git-svn-clone subproject1
git filter-branch --prune-empty --subdirectory-filter _Project1/subproject1 HEAD
# wait till it's done, and you should have the latest contents of subprojec1 in
the current dir
git remote add older-stuff ../subproject1-older
git fetch older-stuff
Now you can start grafting together old and new stuff. Use gitk or git log
to get a sense of where the graft points should be. The downside of this is
that filter-branch will only bring the current branch (trunk) along for the
ride, so if you want to keep any other branches you'll have to do them
separately and graft them in as well.
You received this message because you are subscribed to the Google Groups "Git
for human beings" group.
To unsubscribe from this group and stop receiving emails from it, send an email
For more options, visit https://groups.google.com/d/optout.