git svn:有没有办法让它更好地处理子模块,或者忽略它们?

git svn:有没有办法让它更好地处理子模块,或者忽略它们?,git,version-control,git-svn,Git,Version Control,Git Svn,一旦您有了一个包含子模块对象的提交,您几乎无法让git svn通过它来提交 有什么想法,解决办法,任何不是“不要在git svn中使用子模块”的东西吗 到目前为止,答案似乎是否定的 是否有任何方法至少允许包含子模块数据的现有git提交在没有子模块数据的情况下提交给svn?即使这意味着重写树。您也需要将子模块替换为svn:externals属性,以便更好地使用Subversion svn propset svn:externals [...] 我认为没有其他办法了。如果您有权访问SVN服务器,您

一旦您有了一个包含子模块对象的提交,您几乎无法让git svn通过它来提交

有什么想法,解决办法,任何不是“不要在git svn中使用子模块”的东西吗

到目前为止,答案似乎是否定的


是否有任何方法至少允许包含子模块数据的现有git提交在没有子模块数据的情况下提交给svn?即使这意味着重写树。

您也需要将子模块替换为
svn:externals
属性,以便更好地使用Subversion

svn propset svn:externals [...]

我认为没有其他办法了。

如果您有权访问SVN服务器,您可以将其安装到其中。它将创建一个链接的Git存储库,这样对Git存储库的任何推送都将转换为SVN,反之亦然。翻译是同时安全的,所以您可以将这对存储库视为同一个存储库上的2个接口(Git和VSN),就像在GITHUB上所做的那样,区别在于翻译更透明。(所有分支都转换为分支、标记转换为标记、svn:ignore转换为.gitginore、svn:eol样式转换为.gittattributes值等等)

之后,您可以将子模块添加到生成的Git存储库中,而忘记Git svn


如果您无法访问服务器,我不知道解决方案,仅适用于svn:Git提供的外部支持(请查看SmartGit和.gitsvnextmodules配置)。

我正在研究使用子树合并而不是子模块。使普通svn用户的生活更轻松。对他们来说,这只是普通的repo文件。