是否有可能在结账时使git svn“重定位”分支文件?

时间:2008-10-06 08:59:03

标签: branch git-svn

我们的svn存储库有很多分支,它们是子树的分支。这对svn工作正常,因为我可以在工作副本的正确位置查看该子树。但是,如果我使用git检出同一个分支,我只得到一个只有分支子树的工作副本。有没有可能让git重新定位分支,以便我的工作副本结构是相同的,无论我是在主干还是分支?

我意识到我们的svn实践与git总是在整棵树上工作的哲学相冲突。人们如何处理这个问题?

2 个答案:

答案 0 :(得分:3)

如果可能的话,在服务器端修复它:Subversion在分支时不复制数据(svn copy),它只是硬链接,所以没有明显的理由只分出一个子树。

如果这不可行,你应该看看http://help.github.com/subtree-merge/ - 它可能会有所作为,但我自己没有尝试过。他基本上描述了git子模块的替代方法,你只需将远程(在本例中是你的Subversion分支)自动合并到一个子目录中,而不是存储库的根目录。

答案 1 :(得分:1)

我从未使用过这样的svn,如果你得到的沉默是任何迹象,那么这是一种罕见的做法。你能给出一些以这种方式做事的理由,也许是通过描述它解决了什么问题?这样我们就可以更好地判断什么是可接受的解决方案。