Hi, I was wondering if anyone would be able to answer a complicated svn to git migration question I have. I have a svn repository that was started back in 2001 and hence it has absolutely no svn:mergeinfo metadata present for any branches (using the svnmerge.py script for branch management is also to blame) [1]. Hence when using git-svn to migrate the entire repository to git, the branches are present and attached to the correct commits but they are not merged back and look a little like:
* master_hash3 | * master_hash2 | |* branch_hash2 || |* branch_hash1 |/ * master_hash1 How can I rewrite the history to have the following? * master_hash3 |\ *| master_hash2 || |* branch_hash2 || |* branch_hash1 |/ * master_hash1 The parent of master_hash3 is master_hash2, but I would like to add branch_hash2 as a second parent. I have tried to use git filter-branch as follows: git filter-branch --force --parent-filter 'test $GIT_COMMIT = master_hash3 && echo \"-p master_hash2 -p branch_hash2\" || cat' master This creates a new master_hash3' commit with parents master_hash2 and branch_hash2, but master_hash3 remains with the single parent master_hash2. Assuming the merges can be recreated with all subsequent commits rewritten with new hashes, I would like to work backwards and script the complete merge history of the repository back into the repository. Is this at all possible? Cheers, Edward [1] An archive of the repository is at https://sourceforge.net/p/nmr-relax/code-svn-archive/HEAD/tree/. Note that the migration is complicated by the fact that the main development branch changed with time as 'v1' -> 'v2' -> 'v3' -> 'trunk'. -- 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 to git-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.