【问题标题】:SVN - export changes onlySVN - 仅导出更改
【发布时间】:2014-06-20 00:58:33
【问题描述】:

我们有两个 SVN 存储库,一个在我们的办公室,一个在我们的客户办公室。他们正在使用 Microsoft TMG 代理/防火墙,看在上帝的份上,我们无法让 TeamCity/Tortoise/SlikSVN 通过代理等连接到我们的存储库 - 我们已经尝试了所有我们能想到的或在 Google 上找到的东西。

因此,我们可以考虑的唯一其他方法是在我们的办公室安装 SVN,导出,FTP 上/下,然后在客户办公室导入导出的 SVN 包。唯一的问题是我知道转储会导出所有内容(并且会很大),而且我不确定还有哪些其他选择。这是一个可怕的解决方案,但 TMG 似乎已经扼杀了任何其他选择。

任何人都可以就可用的 SVN 选项提供建议吗?理想情况下,我们希望导出上一个版本之间的 DIFF,或者我猜是版本之间的差异......或者更准确地说,是 NOW 和上一个导出之间的 DIFF。

有人对这个超级可怕的解决方案有任何想法吗?

非常感谢 点开发

【问题讨论】:

  • 您会做出更改并提交到客户的办公室吗?
  • 办公边界主机上的存储库?
  • 嗨 - 我不会向客户办公室承诺,只是向我们承诺,然后以某种方式将更改发送到客户办公室的仓库。

标签: svn teamcity


【解决方案1】:

我建议您在文件系统级别同步两个存储库。不要忘记在同步之前只提交一个 repo

【讨论】:

    【解决方案2】:

    您可以使用svn diff --patch-compatible

    这将在两个版本之间生成一个补丁兼容差异。然后,您可以将补丁应用到已签出的工作目录以使其与您的副本匹配。

    小心。这不包括属性更改

    不,不...永远不要使用 --patch-compatible 进行跨存储库传输。只有--git和svn补丁在另一边


    附录

    显示我这样做的频率。 svn patch 命令是在 1.7 中添加的,它直接用 svn diff --patch-compatble 输出替换了对 Subversion 进行修补的使用。

    根据 SVN Book,svn patch 命令说:

    应用由svn diff 命令生成的简单补丁文件。 [作为示例 O]ur 补丁文件将创建一个新文件,删除另一个文件,并修改第三个文件的内容和属性

    因此,此命令也将应用属性。很高兴知道这一点。

    【讨论】:

    • No-no... Newer 使用 --patch-compatible 进行跨存储库传输。只有--gitsvn patch 在另一边
    • 嗨 LazyBadger(伟大的名字) - 你能扩展你的评论吗?你的评论和大卫的建议有什么区别?
    • @LazyBadger svn patch 对我来说是一个新命令。它显然是在 1.7 中添加的。你是对的。这是在 SVN 上应用补丁的更好方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-06
    • 2013-07-03
    • 1970-01-01
    • 2016-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多