在CVS问题中将分支合并到头部

时间:2010-10-08 06:46:50

标签: merge branch cvs

据我所知,CVS是一个过时的系统,但我的公司使用它。 问题是下一个。像开始一样开始我们从头开始创建分支并开始工作。有些时候我们用头重新分支,并用分支合并头。没关系。但是每一个下一步的典型操作都有问题。 许多文件被标记为已更改,但实际上文件没有任何更改!。这些文件不会成为white red。这是一个问题,因为我们需要检查所有内容以确保修改了文件 要用头重新分支,我们可以做(using WinCVS):

1.点击某个分支上的Update..;
2.检查Create missing directories;
3.检查Get the clean copy;
4.检查Update using last check in time;
5.选择Revision to update;
6.选择Merge type

为什么会发生这种情况的任何想法?

感谢。

3 个答案:

答案 0 :(得分:1)

在每个rebase之后标记HEAD,并在下次rebase时,将root标记设置为您创建的最后一个标记。

像这样:

  1. 从HEAD创建BRANCH,使用BRANCH_ROOT_1标记HEAD
  2. 在HEAD做一些工作
  3. 使用根分支BRANCH_ROOT_1将HEAD合并到BRANCH中,使用BRANCH_ROOT_2标记HEAD
  4. 在HEAD做更多工作
  5. 使用根分支BRANCH_ROOT_2将HEAD合并到BRANCH中,使用BRANCH_ROOT_3标记HEAD
  6. ...
  7. GIT和(最近)SVN会自动执行此类操作,但使用CVS时,您需要在每次合并后手动执行此操作。这是瘟疫可以避免的CVS的众多原因之一。

答案 1 :(得分:0)

我建议检查行结尾(Win / Unix)。

答案 2 :(得分:0)

由于时区问题,我看到所有标记为已更改的文件出现问题。例如,使用UTC在服务器上签出的文件,并使用CET通过网络复制到PC。或者夏令时的变化导致了这些问题。

我一直使用TortoiseCVS并且它是Merge命令,所以我对WinCVS了解不多。