我需要将一个目录映射到它自己的驱动器中,(我知道它可以使用像“Map network drive”,“subst”这样的Windows工具),但是使用这些工具,映射的驱动器不再是MVFS ......
我正在寻找一种方法将MVFS文件夹在某个动态视图中映射到它自己的驱动器,或者替代地,配置一个配置规范来过滤除特定文件夹之外的所有内容,例如,配置配置规范以便:
M:\ some_dynamic_view \ some_folder \ some_nested_folder 将映射到:
K:\ some_nested_folder
有什么想法吗?
提前致谢, 埃里克。
(将文件夹映射到驱动器的需要是因为窗口上的clearcase路径长度限制)。
答案 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