How to replace svn's sub directory vendor branch with git's subtree merge
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?
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.
精彩评论