如何在CVS中重命名分支?

时间:2009-07-10 06:47:43

标签: cvs

如果您在CVS中错误地命名了分支,或者最初选择的名称变得不合适,您如何将其更改为其他名称?

相关问题是How do you rename a branch in CVS without admin access?

3 个答案:

答案 0 :(得分:12)

这方面的诀窍是使用CVS中一个更​​加模糊的管理命令-N。这是一个两阶段的过程,有效地复制然后删除。

首先,创建一个具有引用原始分支名称的正确名称的分支。其次,删除原始分支名称。

假设您有一个文件“File.txt”,该文件当前已分支为“bad _ branch”。你想要调用分支 - 你能猜到吗? - “好_分支”。

  

kwutchak%cvs log File.txt

     

RCS文件:... / data / File.txt,v
  头:1.1
  分支:
  象征性的名字:
    坏_分支:1.1.0.2

要创建新的分支参考:

cvs admin -N good_branch:bad_branch File.txt
  

kwutchak%cvs log File.txt

     

RCS文件:... / data / File.txt,v
  工作文件:File.txt
  头:1.1
  分支:
  象征性的名字:
    好_分支:1.1.0.2
    坏_分支:1.1.0.2

删除原始参考:

cvs admin -N bad_branch File.txt
  

kwutchak%cvs log File.txt

     

RCS文件:... / data / File.txt,v
  工作文件:File.txt
  头:1.1
  分支:
  象征性的名字:
    好_分支:1.1.0.2

答案 1 :(得分:0)

如果你在“几个分支前”犯了错误,由于分支机构的位置发生变化,admin -N选项将没有用处。

此解决方案仅适用于对项目存储库的完全访问权限。

  1. 转到CVSROOT / Project
  2. 创建备份副本
  3. grep“old-branch-name”* -rl | xargs sed -i's / old-branch-name / new-branch-name / g'
  4. 对我来说就像一个魅力。

    对不起necro,但我认为我的解决方案可以帮助任何情况与我相似的人。

答案 2 :(得分:0)

由于我无法为给定的答案添加评论(声誉为低),我想说的是前一个答案中的给定命令缺少双引号!

校正:

grep "old-branch-name" * -rl | xargs sed -i 's/old-branch-name/new-branch-name/g'