1

我们有一个庞大的代码库,在 ClearCase UCM 中有大约 27000 个文件。我们的构建过程如下:

  1. 将文件从流的动态视图复制到本地机器(比如目录D:\ABC
  2. 开始编译

下次编译时,我们清理D:\ABC并重复上述过程。复印大约需要 50 分钟。

我们更喜欢动态视图而不是快照视图的原因是:

  1. 我们始终可以确定我们使用的是最新的代码
  2. 我们在编译过程中生成了大量代码并修改了一些现有代码。这可能会使快照视图变脏。
  3. 我们免于清理快照视图、重新定位它等的麻烦......

快照视图的问题是:

  1. 我们需要清理我们为上次构建生成的代码(这些代码显示为私有视图)
  2. 我们需要撤消劫持(我们删除了某些文件的只读文件,因为它们必须在编译时进行修改)
  3. 我们必须清理其中的输出目录和文件,由 Visual Studio 在编译期间创建
  4. 每次我们打算编译时,我们都需要重新定义快照视图
  5. 我们不相信快照视图的清洁度

我的问题:

  1. 通过从动态视图复制文件,我们是否在做正确的事情?
  2. 我想知道是否有某种方法我们可以使用快照视图并仍然确保它是干净的?
  3. 我们是否可以采用任何其他选项或最佳实践来改进我们的流程?

任何帮助,将不胜感激。

4

1 回答 1

1

1/ 否:

  • 从动态视图复制比直接使用您只需更新的快照视图要长得多(以捕获最新代码)
  • 另外,在复制过程中,可以更新文件(签入新版本),然后由您的进程复制(因为动态视图将...动态选择所述新版本)。简而言之:你不知道你在复制什么。
  • 快照视图的更新是一个增量过程。
    复制动态视图不是(它将复制所有内容而不是仅下载增量)

2/ 你要update -overwrite确保所有被劫持的文件都被删除

3/ 使用基线更安全,以便获得代码库的固定时间点

于 2012-03-26T13:11:57.820 回答