创建目录树并以clearcase格式添加文件

时间:2014-07-22 10:02:36

标签: unix clearcase

我想添加一个文件来清除源控件。为此,我使用命令

clearfsimport -preview -rec -nset D:\TestCreated\folder1\folder2\folder3\MyFile.java m:\MyView\MyVob\

现在,我想要的是 - 它应该在MyVob中创建文件夹(如果已经不存在) - folder1,folder2,folder3然后将文件MyFile.java复制到folder3。

我不想将所有内容复制到clearcase但只是将特定文件MyFile.java作为folder1,folder2也可以包含其他文件。我是否需要每次都使用mkdir来分别制作每个文件夹,然后使用任何简单的命令或脚本,使用mkelem文件或是否有更简单的解决方案

1 个答案:

答案 0 :(得分:1)

如果你需要在脚本中执行此操作,那么你的脚本必须递归mkelem -mkp来获取文件。
(如" To add elements (files and directories) to source control from the command line"和cleartool mkelem

中所述
-mkp/ath
  

此选项可以在其view-private父目录中创建元素   但是,该命令必须在版本化的父目录中运行。

     

例如,如果您有一个查看私有文件foo.c,它的查看私有父目录dir1dir1版本化的父目录dir2,您必须在mkelem -mkpath中运行dir2

cleartool mkelem -nc -mkpath dir1 dir1\foo.c
  

默认情况下,会检出元素的父目录(包括那些已经是元素的目录)以及元素本身。

查看more complete example in this ctadd script

在你的情况下:

cd m:\MyView\MyVob
cleartool mkelem -mkpath folder1\folder2\folder3 folder1\folder2\folder3\MyFile.java

更简单(非脚本)的解决方案是:

  • folder1\folder2\folder3\MyFile.java中复制m:\MyView\MyVob\ (如果文件夹尚未存在,windows command md将在一个步骤中创建中间文件夹)

  • 打开ClearCase Explorer并将该文件添加到源代码控制中:它还会将任何缺少的父文件夹添加到源代码控制中(或者如果它们已经存在则会更新它们的内容)。

请参阅"将文件和目录添加到现有目录树(Windows)":

  

右键单击其中一个选定对象,然后单击“添加到源代码管理”。

     

选择距离目录树根最远的项目:任何给定文件或目录的“添加到源控制”命令还会添加任何不是元素的父目录(直到VOB根目录)