我的Linux家庭目录中有很多观点,位于下面提到的不同文件夹中。
Home
CCVIEWS
views
Development
testproject
:
:
etc.
现在我想以下面的格式列出我的linux目录中的所有clearcase视图,以便在其他脚本上工作。
user_test_Work1.vws
user_test_Work2.vws
user_dev_Work1.vws
user_newproject_Work.vws
user_cqfix.vws
如何搜索我创建的主目录中的所有视图,并在shell脚本中显示视图列表?
我一次可以显示一个文件夹视图但我需要以上述格式搜索和显示所有视图。
我的观点仅是动态视图而非快照。我的问题是存储在多个目录中的视图。需要搜索我的unix home目录中的所有视图。现在我正在使用命令cd~ / views ViewCount = ls~ / views来完成这项工作。但这将在一个目录中列出视图。同样地,我需要在所有目录中列出我家dir中的所有视图。是否有任何方法可以搜索所有视图和列表视图
答案 0 :(得分:1)
如果这些视图不在/view
下,则表示存在快照视图
(不是网络视图,因为提到了cleartool
,这意味着没有CCRC)
正如“Find local copy of files in snapshot view”中所述,您无法单独从其标签中找到快照视图
这意味着一个简单的cleartool lsview -l
,其中一些grep
将不会仅从您的主目录中选择您的观看次数
无论您选择加载它们,它都会选择您的视图。
user_cqfix.vws
是一个视图工作区存储。
最简单的解决方案是转到每个HOME
个直接子目录,然后执行cleartool lsview -l -cview
命令。
视图的所有者(“View owner
:...”行)和视图存储路径(“Global path
:...”行)将列在{{1}的输出中命令。
请注意,假设您的观看次数直接加载到cleartool
下
如果它们的深度超过直接子目录,那么您需要递归地为HOME
中的所有目录重复该过程。
最后,如果您需要将视图存储路径(HOME
)与加载快照视图的路径相关联,这是有意义的(因为ClearCase将无法告诉您根目录的位置)快照视图是)。
如果您不需要根目录路径,那么简单的cleartool lsview -l将列出所有视图,您可以选择所需的视图。
另请注意“About snapshot view storage directories”:如果您的所有视图都使用相同的视图存储服务器,那么您只需通过了解其共同的根共享路径来推断视图存储路径。
注意,关于查找“快照视图”根目录,this thread提到:
ClearCase不提供用于标识快照视图的根工作目录的良好内置方法。该信息存储在用户配置文件中 在Windows上,快照视图仅由创建它们的主机上的ClearCase识别。这是因为工作目录信息本地存储在创建视图的计算机上的用户配置文件(注册表)中 如果您对特定用户的快照视图感兴趣,请使用以下命令查看注册表:
*.vws
其中
\HKEY_USERS\<SID>\Software\Atria\ClearCase\CurrentVersion\Workspaces
是给定用户的基于文本的安全标识符 通过适当的管理访问权限,也可以通过连接到远程注册表来访问此信息。通常情况下,每台PC只有一个用户,要查找当前用户的快照视图目录,您只需使用:
<SID>
如果将目录更改为其中列出的目录,则可以使用 '
\HKEY_CURRENT_USER\Software\Atria\ClearCase\CurrentVersion\Workspaces
'找到它的视图。在UNIX上,用户配置文件信息存储在
cleartool lsview -cview
中,并且由于主目录通常是共享的(在许多客户端上自动挂载),因此快照视图是可用的(在ClearCase意义上) )在任何可以访问工作目录的ClearCase客户端上。
话虽如此,请记住,您可以多次复制快照视图(只需复制在任何其他目录中快照视图的根目录中找到的隐藏文件~/.ccase_svreg
,并且presto:该快照视图现在存在于两个不同的地方!