一旦你有一个包含子模块对象的提交,你几乎无法让git-svn提交它。
任何想法,变通方法,任何不“不使用带有git-svn的子模块”的内容?
到目前为止,答案似乎是一个很大的问题。
有没有办法至少允许包含子模块数据的现有git提交在没有子模块数据的情况下提交给svn?即使这意味着重写树。
答案 0 :(得分:1)
您需要使用svn:externals
属性替换子模块才能与Subversion一起使用。
svn propset svn:externals [...]
我认为还有其他方法。
答案 1 :(得分:0)
如果您有权访问SVN服务器,则可以在其中安装SubGit。它将创建一个链接的Git存储库,这样任何对Git存储库的推送都将转换为SVN,反之亦然。转换是并发安全的,因此您可以将这对存储库视为与GitHub上完成的相同存储库的2个接口(Git和SVN),区别在于转换更加透明(所有分支都转换为分支) ,标签到标签,svn:忽略到.gitginore,svn:eol-style到.gitattributes值等等。)
之后,您可以将子模块添加到生成的Git存储库中,并忘记git-svn。
如果您无法访问服务器,我知道没有解决方案,只有来自Git的svn:externals支持(查看SmartGit和.gitsvnextmodules配置)。