ClearCase符号链接未映射到Windows 7?

时间:2013-10-30 13:56:44

标签: python windows clearcase

当我使用mklink-command在Windows 7中创建符号链接,然后通过Python的os.path.islink() - 函数查询该路径名时,该函数正确返回True。此外,在包含我的链接的目录中调用dir-command时,其类型正确显示为<SYMLINK>

但是,使用符号ClearCase链接(通过cleartool ln -s ...创建),os.path.islink()始终返回False,而Window的dir-command将元素显示为普通文件(即没有{ {1}}属性)。

这是一个问题,因为我正在编写一个递归下降到目录树(可能是也可能不在ClearCase控件下)的脚本,为了能够避免无限递归,我需要能够检测目录是实际目录还是只是另一个目录的符号链接。同样地,我需要能够处理符号链接到文件,以避免多次处理同一个文件。

还有其他人遇到过这个问题吗?顺便使用ClearCase v7.1.2.7。

1 个答案:

答案 0 :(得分:1)

this technote中所述,ClearCase链接与Windows mklink:

不同
C:\>mklink /D link_name Y:\<vobtag>\dir3 
symbolic link created for link_name <<===>> Y:\<vobtag>\dir3
>cd link_name
>cleartool ls 
(system crash)

原因

  

功能“重新分析点”创建了mklink生成的链接。重分析点在NTFS上实现,但不在MVFS本身上实现

     

使用快照视图时,通常NTFS文件系统会存储文件。这就是为什么mklink在这种情况下无错误的原因。

     

当您使用动态视图时,请求将MVFS作为目标文件系统发送,尽管NTFS存储视图和vob。 MVFS不支持重新分析点,并且在创建时或BSOD时无效参数失败并重新启动系统。

因此,使用快照或动态视图,您的python脚本最好执行cleartool ls,并解析结果以检测ClearCase符号链接。