moin, just read this question on irc, and i suppose more people run into it: a subproject has been developed in a separate subtree and was later moved into the project which is being converted now. a straight history is obviously not able to represent that. the solution:
- convert the history of the subproject separately up to the point where it moves into the main project - make an interactive rebase of the main project and make it stop at the commit where the subproject moves into it (mark the commit for edit, obviously) - note that sha1, then throw the commit away with reset --hard HEAD~1 - git remote add -f subproject1 /path/to/subproject1 - git merge -s ours --no-commit subproject1/master - git cherry-pick <remembered sha1> - git rebase --continue this is a variation of a subtree merge - see http://www.kernel.org/pub/software/scm/git/docs/howto/using-merge-subtree.html (you'll need that for later subproject merges anyway, so read it ;). the rebasing will take ages for a big project, so mark all subproject moves in one go in the rebase editor. this is all theory, as i haven't actually tried it. can't be too far off, though. please report your results or better ideas. _______________________________________________ Kde-scm-interest mailing list [email protected] https://mail.kde.org/mailman/listinfo/kde-scm-interest
