In other words, I want to say assuming mainproject and subproject1 are both
git repos, then for path mainproject/project1/subproject please append from
the back all commits from subproject1
Another idea, what if I fetched the two origins, then rebased mainproject
on subproject1, then merged from subproject1 back into mainproject?
On Wed, May 14, 2014 at 7:27 AM, Moataz Elmasry <
> Hi Thomas and thanks for your reply
> Why should I slice the main project? it is good the way it is. I need to
> append to it from the back ,i.e. earlier commits and the final state should
> be the main project including the commits from the time it was multiple
> modules/multiple trunks
> On Tue, May 13, 2014 at 11:09 PM, Thomas Ferris Nicolaisen <
> tfn...@gmail.com> wrote:
>> 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
>> git clone --no-hardlinks mainProject-git-svn-clone subproject1
>> cd subproject1
>> git filter-branch --prune-empty --subdirectory-filter _Project1/subproject1
>> # 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 a topic in the
>> Google Groups "Git for human beings" group.
>> To unsubscribe from this topic, visit
>> To unsubscribe from this group and all its topics, send an email to
>> For more options, visit https://groups.google.com/d/optout.
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.