我有一个关于CVS标记的问题(我知道有比cvs更好的工具,但这就是我公司使用的工具)。
我在CVS中有一个项目,在过去的几个月里,人们已经应用了很多标签。 我必须从不是最新标签的基线进行更改。 所以假设你在cvs中有以下标签:
Project_V1 Project_V2 Project_V3
客户根据Project_V2要求进行一些更改。
我的问题是:
1)如果我提交更改然后应用新标记,这些更改是应用于Project_V3之上还是仅应用于Project_V2之上? 2)如果这是我认为的方式(即,它们应用于Project_V3之上)是否有办法避免这种情况并具有类似的内容:
Project_V1 Project_V2 Project_V2_B Project_V3
以便标记为Project_V3的最新版软件没有收到这些更改?
分支当前对我们不起作用,所以它不是一个选项,这也是人们到目前为止标记的原因。
由于 中号
答案 0 :(得分:0)
您的情景询问是分支的完美案例。
另外,你可能不得不做一些丑陋的代码退出和重新签入
Lets take one file and see how the history grows. File A rev 1.1 rev 1.2 -> Label Project_V1 rev 1.3 rev 1.4 rev 1.5 -> Label Project_V2 rev 1.6 rev 1.7 -> Label Project_V3
现在,由于您要对File rev 1.5进行更改,您可以从Label Project_V2进行分支并创建文件更改。现在文件修订版将是1.5.1.2。
File A rev 1.1 rev 1.2 -> Label Project_V1 rev 1.3 rev 1.4 rev 1.5 -> Label Project_V2 -> 1.5.1.2 -> Label Project_V2_B rev 1.6 rev 1.7 -> Label Project_V3
其他解决方案(我个人不喜欢)是:
overwrite the latest files with files checked out using Label Project_V2 make the necessary changes, apply label Project_V2_B. Recheck-in the files from Label Project_V3.
File A rev 1.1 rev 1.2 -> Label Project_V1 rev 1.3 rev 1.4 rev 1.5 -> Label Project_V2 rev 1.6 rev 1.7 -> Label Project_V3 rev 1.8 (checkout from label Project_V2) rev 1.9 -> Label Project_V2_B rev 1.10 -> (check out from label Project_V3 and recheck-in) -> apply label again Project_V3
这会造成一个混乱的存档。