ClearCase,使用动态视图将特定文件夹映射到驱动器

时间:2010-01-14 07:49:44

标签: clearcase

我需要将一个目录映射到它自己的驱动器中,(我知道它可以使用像“Map network drive”,“subst”这样的Windows工具),但是使用这些工具,映射的驱动器不再是MVFS ......

我正在寻找一种方法将MVFS文件夹在某个动态视图中映射到它自己的驱动器,或者替代地,配置一个配置规范来过滤除特定文件夹之外的所有内容,例如,配置配置规范以便:

M:\ some_dynamic_view \ some_folder \ some_nested_folder 将映射到:

K:\ some_nested_folder

有什么想法吗?

提前致谢, 埃里克。

(将文件夹映射到驱动器的需要是因为窗口上的clearcase路径长度限制)。

2 个答案:

答案 0 :(得分:0)

我刚刚测试过:

 subst N: M:\some_dynamic_view\some_folder\some_nested_folder

和N:会显示some_nested_folder的内容,因为动态视图会 它的类型是MVFS文件系统驱动器(默认名称为CCase

现在,要在N:\中只有目录(而不是它的内容),你需要一个配置规范,如:

element /some_folder/some_nested_folder/... /main/LATEST
element /some_folder/* -none
element * /main/LATEST

(假设一个简单的非UCM视图,只有主分支可以看。将配置规范调整到您需要读取/修改文件的配置和分支。
对于UCM视图,这将是更棘手的,因为这些规则必须在之前放置所有其他生成的UCM选择规则,这意味着它们将在下一个视图配置规范与其流同步时消失。)
(注意:在配置规范中不需要使用'\','/'可以正常工作,适用于Windows或Unix配置规范)

然后,a:

subst N: M:\some_dynamic_view\some_folder

只会在N:

中显示some_nested_folder(及其内容)

答案 1 :(得分:0)

我主要使用快照视图,所以我认为我不能使用m:\ path_to_view解决方案。在我的监视器上多年喊“doh”之后,我编写了这个批处理文件,以便每次我想运行一个cleartool命令时都不得不将目录更改回视图的原始位置。

@echo off
rem ct.bat by Paul Douglas
setlocal
setlocal enabledelayedexpansion
set currentDirectory=%cd:~2,8189%
set currentDrive=%cd:~0,1%

for /f "delims=" %%a in ('subst') do (
set thisDrive=%%a
set thisDrive=!thisDrive:~0,1!
set targetFolder=%%a
set targetFolder=!targetFolder:~8,8183!
if "!thisDrive!"=="%currentDrive%" (
  pushd !targetFolder!%currentDirectory% 
  call cleartool %1 %2 %3 %4 %5 %6 %7 %8 %9 
  popd 
  goto :eof
)
)

call cleartool %1 %2 %3 %4 %5 %6 %7 %8 %9