How to replace svn's sub directory vendor branch with git's subtree merge

431 Views Asked by At

The old process was the normal svn vendor branch, however I only ever copied a sub-directory to the main codebase. So for:

vendors/Zend_Framework/current/library/Zend

was copied to:

trunk/library/Zend

I'd then add the new version, tag it and merge the differences between the two library/Zend folders into trunk/library/Zend

How do I do this in Git?

My first thoughts where to create a git clone of the subversion repo using git-svn and then use subtree merge, but I'm not sure how that can be achieved when the target is actually a sub directory of the external repo. To be honest, I'd rather not merge in all the other directories as well, such as documentation and tests.

Am I going to have to create my own git repo based on the sub directory of a tag, subtree merge that in, and then manually update that git repo by downloading the new version on top, dealing with new dirs, deleted dirs/files manually myself?

1

There are 1 best solutions below

0
On

I don't think you need to use git-svn. I would use svn to keep your vendors/Zend_Framework/ up-to-date and then use svn export to put the library/Zend directory where you need it. If you have made changes to the Zend Framework files, consider having a library/YourNamespaceHere directory and putting your custom changes there.