如何进行部分CVS更新

时间:2011-04-15 21:26:44

标签: cvs

我正在开展一个项目,负责2个子组件。该项目有许多开发人员,整个结构由目录层次结构组织,其中根包含系统的所有其余部分。我们使用CVS。

由于我的工作只关注两个目录,我只需要使用CURRENT标记更新所有其他目录。有一个人为整个项目发布CURRENT标签。理想情况下,我的两个子组件应尽可能经常标记,这样一次结账/更新将使包括我的两个目录在内的整个系统保持最新状态。不幸的是,事实并非如此。

但我需要系统的其余部分是最新的。我不能只发出

因为这可能会妥协,所以在根目录上'pvs upd -r SORT_OF_CURRENT_TAG' 如果SORT_OF_CURRENT_TAG落后,我的部分代码。

在CVS中是否有办法可以对系统的某些部分进行更新并保留其余部分(我的部分)完好无损?

由于

赵斌

1 个答案:

答案 0 :(得分:0)

我想最简单的方法是简单地更新所有内容(请注意,会破坏您库中任何未经修改的更改)。在根目录中执行:

cvs up -r CURRENT_TAG

然后将两个目录更新为您想要的版本或HEAD,例如:

cvs up -r rel-2-0 whole_project/lib/mylibrary1
cvs up -A whole_project/lib/mylibrary2

更优雅的解决方案是为要更新的项目部分定义别名。为此,您需要在CVSROOT / modules文件中创建一个条目,例如:

my_alias -a !whole_project/lib/mylibrary1 !whole_project/lib/mylibrary1 whole_project

现在您只需从根目录更新如下:

cvs up -r CURRENT_TAG my_alias