如何自动将Subversion中的文件从主干复制到特殊分支?

时间:2013-02-26 13:28:41

标签: svn hook

我们在这里有以下情况:

  • 用户启动提交(在主干上)。
  • 他在提交消息中添加了特殊关键字,表示此更改应在分支上自动完成。

实施这个可能是一个很好的解决方案?我看到以下选项(但想在这里你认为哪一个最好):

  • 查看后台作业中的每个提交,然后启动另一个提交,将相关更改复制到分支。
  • 实现post-commit-hook,直接在提交后触发更改。

您对此有何看法?是否有其他可用的解决方案,哪个更合适?

1 个答案:

答案 0 :(得分:2)

  1. 在Subversion中,从一些子树到一些现有子树的复制修订是合并(-c,单个修订时的“cherry-pick merge”)
  2. 只能在工作副本
  3. 中执行合并

    第1页和第2页的条件为我们提供了初步的方法:

    提交后挂钩必须:

    • 检测提交,需要采取措施(否则无效)
    • cd to local(for server)WC
    • 执行svn merge -c... URL-OF-TRUNK,可能是自动解决冲突,请使用--accept选项
    • 提交分支

    来自@mliebelt:

    • 最佳解决方案应该是,实现脚本以自动执行该任务,但在客户端上手动运行该脚本。
    • 然后,配置管理器(或其他可知用户)应手动澄清可能发生的冲突,在最好的情况下,他只需使用适当的日志消息提交更改。