在 /vobs/some/path 中工作与在 /view/view-tag-name/vobs/some/path 中工作
working in /vobs/some/path versus /view/view-tag-name/vobs/some/path
我必须在工作中使用 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)。
所以我的问题是:
- 在
setview
shell 中工作与在 shell 中工作 /view/view-tag-name/vobs/some/path
有什么区别?
- 在提及
/view/view-tag-name
目录时使用的正确术语是什么?
- 为什么我执行
ct lsview -l -properties -ful view-tag-name
时没有看到对 /view/view-tag-name
目录的任何引用?这个目录不是和视图关联的吗?
what's the difference between working in /vobs/some/path
in a setview
shell versus working in /view/view-tag-name/vobs/some/path
in a plain shell?
不要使用cleartool setview
: As I explained before,cleartool setview
命令会打开一个subshell,其中的命令应该是运行,这可能会有问题。
在 /view/view-tag-name/vobs/some/path
中工作意味着您将留在主 shell 中,并保留其所有属性。
what is the proper term to use when referring to the /view/view-tag-name
directory?
引用完整路径视图根文件夹(您在其中安装 vob 并根据视图配置规范及其选择规则访问版本)
在 /vobs/some/path
中,您仍然可以使用 cleartool pwv ("path working view") 查看您所在的视图。
why when I do ct lsview -l -properties -ful view-tag-name
I don't see any reference to the /view/view-tag-name
directory?
您正在查看视图的 属性,然后将其安装在 /view/view-tag-name
(在 Unix 上)或 M:\view-tag-name
上 Windows。
这些属性不假设 运行 视图的使用时间,它们只显示静态元数据(如视图存储或视图类型)
如果您的工作流程是启动 emacs,然后从那里设置到一个视图,那么事情确实会很奇怪。
setview 与 startview 唯一不同的地方是它以 chroot 方式启动 shell。只有 shell 及其后代才能在 /vobs/vobtag/... 中看到源代码 如果您在多个 "setview" shell 中工作(对于您的应用程序的多个版本维护、多个阶段等),您将有多个相同的 shells 通过明显相同的路径访问相同文件的不同版本。
使用 ClearCase 时要注意的一件事是 目录 也是版本化的。因此,如果出现以下情况,在一个视图中添加的文件可能不会出现在另一个视图中:
- 它们基于不同版本的父目录;或
- 添加到源代码管理的文件的父目录尚未签入。
除非您的构建过程要求 VOB 内容在 /vobs/vobtag 处可见,否则我同意@VonC 关于不使用 setview 的观点。
我真的无法对 VonC 的其他评论添加任何内容。
我必须在工作中使用 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)。
所以我的问题是:
- 在
setview
shell 中工作与在 shell 中工作/view/view-tag-name/vobs/some/path
有什么区别? - 在提及
/view/view-tag-name
目录时使用的正确术语是什么? - 为什么我执行
ct lsview -l -properties -ful view-tag-name
时没有看到对/view/view-tag-name
目录的任何引用?这个目录不是和视图关联的吗?
what's the difference between working in
/vobs/some/path
in asetview
shell versus working in/view/view-tag-name/vobs/some/path
in a plain shell?
不要使用cleartool setview
: As I explained before,cleartool setview
命令会打开一个subshell,其中的命令应该是运行,这可能会有问题。
在 /view/view-tag-name/vobs/some/path
中工作意味着您将留在主 shell 中,并保留其所有属性。
what is the proper term to use when referring to the
/view/view-tag-name
directory?
引用完整路径视图根文件夹(您在其中安装 vob 并根据视图配置规范及其选择规则访问版本)
在 /vobs/some/path
中,您仍然可以使用 cleartool pwv ("path working view") 查看您所在的视图。
why when I do
ct lsview -l -properties -ful view-tag-name
I don't see any reference to the/view/view-tag-name
directory?
您正在查看视图的 属性,然后将其安装在 /view/view-tag-name
(在 Unix 上)或 M:\view-tag-name
上 Windows。
这些属性不假设 运行 视图的使用时间,它们只显示静态元数据(如视图存储或视图类型)
如果您的工作流程是启动 emacs,然后从那里设置到一个视图,那么事情确实会很奇怪。
setview 与 startview 唯一不同的地方是它以 chroot 方式启动 shell。只有 shell 及其后代才能在 /vobs/vobtag/... 中看到源代码 如果您在多个 "setview" shell 中工作(对于您的应用程序的多个版本维护、多个阶段等),您将有多个相同的 shells 通过明显相同的路径访问相同文件的不同版本。
使用 ClearCase 时要注意的一件事是 目录 也是版本化的。因此,如果出现以下情况,在一个视图中添加的文件可能不会出现在另一个视图中:
- 它们基于不同版本的父目录;或
- 添加到源代码管理的文件的父目录尚未签入。
除非您的构建过程要求 VOB 内容在 /vobs/vobtag 处可见,否则我同意@VonC 关于不使用 setview 的观点。
我真的无法对 VonC 的其他评论添加任何内容。