2010-10-08 58 views
1

我知道CVS是过时的系统,但我的公司使用它。 问题是未来。像往常一样,当开始开始时,我们从头创建分支并开始工作。有些时候,我们重新设立分支并与分支合并。没关系。但是接下来的每一个操作都会遇到问题。 许多文件被标记为已更改,但实际上文件没有任何更改!。并且这些文件不会变成white他们red。这是一个问题,因为我们需要审查所有这些以确保修改了该文件。 (using WinCVS):将分支合并到CVS问题中

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

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

谢谢。

+0

可能是CVS可以合并文件并计算它们的CRC比较吗? – Yuriy 2010-10-08 06:51:13

+0

当你说“许多文件被标记为改变”时,你是指所有文件,还是大多数文件,但不是全部文件?对标记为已更改的文件有没有特别的要求(如@BarsMonster建议的行结束符)?另外,你可以在其中一个这样的文件上执行'csv status -v '命令吗?这可能会给我们一些线索。 – rodion 2010-12-19 04:45:06

回答

1

在每次重新绑定之后标记HEAD,并在下次重新绑定时,将根标记设置为您制作的最后一个标记。

像这样:

  1. 创建一个从盖分支,与BRANCH_ROOT_1
  2. 做一些工作在HEAD
  3. 合并HEAD与根分支BRANCH_ROOT_1,与BRANCH_ROOT_2
  4. 待办事项标签盖分支标签HEAD HEAD的更多工作
  5. 将HEAD合并到具有根分支BRANCH_ROOT_2的BRANCH中,使用BRANCH_ROOT_3标记HEAD
  6. ...

GIT和(最近)SVN自动完成这种事情,但是使用CVS,您需要在每次合并后手动执行此操作。这是避免像瘟疫一样的CVS原因之一。

+0

非常感谢你!它对我有帮助! – Yuriy 2011-03-10 21:24:05

0

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

0

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

我一直使用TortoiseCVS和它的合并命令,所以我不太了解WinCVS。

相关问题