我们有两个SVN回购,一个在我们的办公室,一个在我们的客户办公室。他们正在使用Microsoft TMG代理/防火墙,为了上帝的爱,我们无法让TeamCity / Tortoise / SlikSVN通过代理等连接到我们的仓库 - 我们已经尝试了我们可能想到的一切,或者在Google上找到。< / p>
因此,我们可以想到的唯一其他方法是在我们的办公室使用SVN,导出,FTP上/下,然后在客户办公室导入导出的SVN包。唯一的问题是,我知道转储将导出所有内容(并且将是巨大的),并且我不确定其他选项是什么。这是一个可怕的解决方案,但TMG似乎已经杀掉了任何其他选择。
有人可以提供有关SVN选项的建议吗?理想情况下,我们希望在之前的版本或修订版之间导出DIFF,我猜......或者更准确地说,是现在和之前导出之间的DIFF。
有没有人对这个超级可怕的解决方案有任何想法?
非常感谢 dotdev
答案 0 :(得分:0)
您可以使用svn diff --patch-compatible
。
这将在两个修订版之间生成补丁兼容的差异。然后,您可以将修补程序应用于已检出的工作目录,以使其与您的副本匹配。
小心点。这不包括属性更改
No-no ...永远不要使用--patch-compatible进行跨存储库传输。只有--git和svn补丁在另一边
显示我执行此操作的频率。 svn patch
命令在1.7中添加,并替换了使用svn diff --patch-compatble
输出直接修补Subversion。
根据SVN书籍,svn patch命令说:
应用
svn diff
命令生成的简单补丁文件。 [例如O]你的补丁文件将创建一个新文件,删除另一个文件,修改第三个内容和属性。
因此,此命令也将应用属性。这很有用。
答案 1 :(得分:0)
我建议您在文件系统级别同步两个repos。不要忘记在同步之前只提交一个repo