我必须在工作中使用ClearCase,基本工作流程要求我做以下的事情:
cleartool setview <view-tag-name>
view-tag-name
是我可能添加的动态视图。根据我收集的内容,这将打开一个新的shell,允许我访问/vobs/some/path
中通过已安装的MVFS文件系统的文件。但是,现有shell顶部的第二个shell会破坏我的Emacs客户端 - Emacs守护程序的合作。此外,在另一个SO答案中,有人说他根本不打扰setview
,所以不要访问:
/vobs/some/path
(来自setview
shell)......他会访问:
/view/view-tag-name/vobs/some/path
(不使用setview
shell)我已经进行了一些实验,似乎所有cleartool
命令的工作方式都相同,无论我是/vobs/some/path
(在setview
shell中)还是我在/view/view-tag-name/vobs/some/path
(在一个普通的shell中)。
所以我的问题是:
/vobs/some/path
shell中使用setview
与在普通shell中使用/view/view-tag-name/vobs/some/path
工作之间的区别是什么?/view/view-tag-name
目录时使用的正确术语是什么?ct lsview -l -properties -ful view-tag-name
时,我看不到对/view/view-tag-name
目录的任何引用?该目录是否与该视图相关联?答案 0 :(得分:1)
在
/vobs/some/path
shell中使用setview
与在纯shell中使用/view/view-tag-name/vobs/some/path
工作之间的区别是什么?
不要使用cleartool setview
:As I explained before,cleartool setview
命令会打开一个子shell,其中应该运行命令,这可能会有问题。
使用/view/view-tag-name/vobs/some/path
意味着您将保留在主shell中及其所有属性。
引用
/view/view-tag-name
目录时使用的正确术语是什么?
引用完整路径视图根文件夹(在其中安装vobs并根据视图配置规范及其选择规则访问版本)
在/vobs/some/path
中,您仍然可以通过cleartool pwv(&#34;路径工作视图&#34;)看到您所在的视图。
为什么当我
ct lsview -l -properties -ful view-tag-name
时,我看不到对/view/view-tag-name
目录的任何引用?
您正在查看视图的属性,然后将其安装在/view/view-tag-name
(在Unix上)或M:\view-tag-name
在Windows上。
这些属性不假设该视图的运行时使用,它们只显示静态元数据(如视图存储或视图类型)
答案 1 :(得分:0)
如果您的工作流程是启动emacs然后从那里设置视图,那么事情确实很奇怪。
setview与startview的唯一不同之处在于它启动了chrooted shell。只有那个shell及其后代才会在/ vobs / vobtag /中看到源代码。如果你在多个&#34; setview&#34; shell(对于要维护的应用程序的多个版本,多个阶段等),您将有多个相同的shell通过明显相同的路径访问相同文件的不同版本。
使用ClearCase时要注意的一件事是目录也是版本化的。因此,如果出现以下情况,则在一个视图中添加的文件可能不会出现在另一个视图中:
除非你的构建过程需要在/ vobs / vobtag上看到VOB内容,否则我同意@VonC关于不使用setview的信息。
我无法在VonC的其他评论中添加任何内容。