我想添加一个文件来清除源控件。为此,我使用命令
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文件或是否有更简单的解决方案?
答案 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
,它的查看私有父目录dir1
和dir1
版本化的父目录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根目录) 强>