代码之家  ›  专栏  ›  技术社区  ›  Amarghosh

使用commit-r提交到其他分支

  •  2
  • Amarghosh  · 技术社区  · 16 年前

    CVS是否允许将文件提交到与其签出位置不同的分支?手册页和 some sites 建议我们做一个 cvs ci -r branch-1 file.c

    cvs commit:对“file.c”的最新检查失败
    cvs[commit aborted]:首先更正以上错误!

    我做了一个 cvs diff -r branch-1 file.c 以确保我的 BASE 和 branch-1 确实是一样的。

    cvs co -r branch-1 ,将主分支合并到它(并修复任何合并问题),然后执行签入。问题是有很多分支,我想使用脚本来自动化这些东西。 This thread 似乎在暗示 -r 已删除。有人能证实吗?

    ci -r

    • 确保分支版本和基础版本与 cvs diff
    • 签入当前分支
    • 对于每个分支:
      • 从分行退房
      • 用临时文件替换该文件
      • 办理登机手续(它将作为 -右
    • 删除临时文件

    替换部分听起来像作弊-你能想到可能发生的任何潜在问题吗?有什么我要小心的吗?有没有其他方法来自动化这个过程?

    1 回复  |  直到 16 年前
        1
  •  2
  •   psp    16 年前

    请注意,文件可能不是最新的,即使 diff .

    至于提交问题。在我看来,这似乎是一个实验性的功能,实际上你最好只使用:

    cvs update -r <branch> <file>
    cvs update -j <ver> -j <ver> <file>
    cvs commit <file>