【问题标题】:Automatically simulate SVN merges at each new commit在每次新提交时自动模拟 SVN 合并
【发布时间】:2012-12-21 13:45:52
【问题描述】:

我在 Windows 7 / Visual Studio 2008 下使用 TortoiseSVN 作为客户端。 我的项目有很多分支,我经常遇到合并冲突/树冲突,尤其是由于文件物理移动或删除。

由于我不是每天都在分支之间推送修订,因此有时在合并时可能很难解决这些冲突。

所以我想介绍一种“快速失败”的方法,基于一个简单的想法:每次在特定分支中发生新提交时,工具会自动检索提交,并尝试将其合并到某个预定义的其他分支( es),就像 Tortoise 的“测试”功能一样。并在发生一个或多个冲突时向我发出警告。

一切都必须在客户端上运行,我无权访问存储库服务器。

CommitMonitor 允许用户在提交发生时收到通知,但它无助于预测进一步的合并问题。

非常感谢您的建议

【问题讨论】:

    标签: visual-studio svn merge versioning


    【解决方案1】:

    每次在特定分支中发生新的提交

    这是提交后挂钩

    新的提交发生在特定的分支中

    即您已经拥有此分支的工作副本

    尝试将其合并到一些预定义的其他分支

    这是svn merge--dry-run option

    以上注意事项的加入:

    您的工具是 TortoiseSVN 或存储库(或独立的 bat 文件)中的提交后挂钩,它在您的 WC 中执行一些设置

    svn merge --dry-run URL-OF-BRANCH

    命令(每个测试分支一个合并)。您必须手动验证每次合并的结果(在 STDOUT 上)

    【讨论】:

    • 谢谢。正如我在问题中所站的那样,我无法直接访问服务器(放置诸如提交后挂钩之类的东西)。我更多地考虑使用一种工具来定期“探测”服务器以获取新提交。我希望有一个自动化工具,最终使用 GUI,而不是直接使用“svn”命令行编写脚本操作。而且,当然,我可以完美地拥有一个用于合并测试的本地工作区。
    • 如果它不是 您的分支(您监控测试合并的提交),那么您 a)是的,必须为外国分支有单独的 WC b)使用“ smart" 提交监视器,它可以在新提交的情况下执行预定义的操作(至少是您的 bat 文件) - 它可以是 Vercue(甚至可能是免费版,它允许一个规则)
    猜你喜欢
    • 2012-01-19
    • 2012-11-07
    • 2012-03-03
    • 2012-08-23
    • 1970-01-01
    • 2011-09-04
    • 2023-03-27
    • 2023-04-10
    • 1970-01-01
    相关资源
    最近更新 更多