Version control 我们需要在一个新项目中使用一个文件的多个版本。该文件有许多分支和标签。我们如何使用ClearCase管理文件?

Version control 我们需要在一个新项目中使用一个文件的多个版本。该文件有许多分支和标签。我们如何使用ClearCase管理文件?,version-control,clearcase,Version Control,Clearcase,我们有一个新项目,将利用现有项目中的文件。这些文件有许多分支和许多标签,将由现有用户继续处理。我们希望按照中的方式管理文件,因为我们不希望复制文件,希望将文件保留在同一位置 她是同一文件的三个版本 File Version 1 - /vob/directory/dbupgrade.sql@@/main/7.1/8 File Version 2 - /vob/directory/dbupgrade.sql@@/main/7.1/7.2/12 File Version 3 - /vob/direct

我们有一个新项目,将利用现有项目中的文件。这些文件有许多分支和许多标签,将由现有用户继续处理。我们希望按照中的方式管理文件,因为我们不希望复制文件,希望将文件保留在同一位置

她是同一文件的三个版本

File Version 1 - /vob/directory/dbupgrade.sql@@/main/7.1/8
File Version 2 - /vob/directory/dbupgrade.sql@@/main/7.1/7.2/12
File Version 3 - /vob/directory/dbupgrade.sql@@/main/7.1/7.2/7.3/2
我们将需要在新项目中使用此文件的所有三个版本

我们希望将文件放在单独的目录中,如下所示

 - /dbupgradeutility/7.1/dbupgrade.sql@@/main/7.1/8
 - /dbupgradeutility/7.2/dbupgrade.sql@@/main/7.1/7.2/12
 - /dbupgradeutility/7.3/dbupgrade.sql@@/main/7.1/7.2/7.3/2
重要的是将其保存在vob中的一个位置,以便对文件进行版本控制/合并/标记,并在现有项目和新项目的多个版本中使用

背景-该应用程序已存在数年。现在,当客户(我们有很多客户)升级时,他们必须一次升级一个。如果他们想从7.1升级到7.3,他们必须先升级到7.2。我们正试图建立一个实用程序,将升级为他们。要做到这一点,我们需要所有三个版本(或多个版本)

我们尝试了符号链接,但没有成功。 我们正在考虑使用预构建脚本将文件复制到build/tmp目录中

有没有明确的方法来处理这个问题?还有其他我们没有考虑的方法吗

多谢各位。 Nathan

我不知道有哪种“ClearCase”原生方式支持该用例

我过去所做的是配置一个或多个快照视图,每个视图加载相同的元素,但版本不同(基于不同的配置规范规则)

然后,我使用符号链接(不是
cleartool ln
,而是常规的系统符号链接)查看第一个项目视图中的第二个文件夹视图。
这是一种变通方法,但它允许我工作。

我不知道有哪种“ClearCase”原生方法支持该用例

我过去所做的是配置一个或多个快照视图,每个视图加载相同的元素,但版本不同(基于不同的配置规范规则)

然后,我使用符号链接(不是
cleartool ln
,而是常规的系统符号链接)查看第一个项目视图中的第二个文件夹视图。

这是一个解决办法,但它允许我工作。

总有办法,但也有复杂的情况

您可以使用每个目录中文件元素的硬链接,然后使用特定于路径的配置规范规则来选择这些版本中的每个

缺点是在签出此文件时无法构建或测试,因为签出一个文件会使它们全部“签出”

更好的方法是创建一个脚本,使用“ClearToolGet-to…”将所需版本的脚本作为cariois目录中的视图私有文件传输。这就是你正在做的


根据经验,我建议您使用不同的名称将不同的升级脚本中的元素分开,因此,如果在“活动开发”视图中它们的名称相同,那么Faaarrrr可能会对错误的scriot进行更改…

总有一种方法,但会有一些复杂情况

您可以使用每个目录中文件元素的硬链接,然后使用特定于路径的配置规范规则来选择这些版本中的每个

缺点是在签出此文件时无法构建或测试,因为签出一个文件会使它们全部“签出”

更好的方法是创建一个脚本,使用“ClearToolGet-to…”将所需版本的脚本作为cariois目录中的视图私有文件传输。这就是你正在做的

根据经验,我建议您使用不同的名称将不同的升级脚本中的元素分开,因此,如果在“活动开发”视图中它们的名称相同,那么Faaarrrr可能会对错误的scriot进行更改