我有一个文件,我想使用cleartool
在linux上添加到sourcecontrol。
我已经关注了IBM的文档,我试过这个:
cleartool mkelem testScript.sh
我收到错误:无法修改目录"。"因为它没有签出。 我也想知道如何签出/签入文件或目录以及设置活动。
答案 0 :(得分:5)
您需要先签出父文件夹。
cd /path/to/file/
cleartool mkact newfile
cleartool checkout -c "add file" .
cleartool mkelem testScript.sh
cleartool checkin -nc
如果您处于UCM视图中,cleartool mkact
将起作用
它将创建并设置一个新活动,它将记录您将修改的文件和文件夹。
此处,新活动newFile将记录父文件夹的新版本,以及文件的version 0和1。
答案 1 :(得分:-1)
你应该为......单独的问题创建单独的问题......
回到原来 - 它不起作用的原因是,正如VonC指出的那样,你还没有签出文件的父级。请记住,当您运行“cleartool mkelem”时,您将通过向您正在创建的元素添加新的“指针”来修改父目录的内容(在本例中为。)。与clearcase中的其他所有内容一样,当您想要修改元素的内容时,您必须先检查它。
ClearCase最大的优势之一(也是最难以包围的)是“元素”的概念,即IMO。 “Everything”与元素的行为类似。对“元素”(文件或目录)进行任何更改意味着您必须先检查它以进行更改。
对于文件,这很容易掌握 - 你只是在文件中编辑行。对于一个目录,它几乎一样容易 - 您可以将目录视为数据blob指针列表。我们将blob的名称设置为我们可以记住的方便(例如foo.java或myapplication.cc或README.md)。但我们也可以通过重命名文件来更改指针的名称(即使它指向相同的数据blob)。我们可以使用“rmname”删除指向blob的指针,而不会影响blob本身。这基本上就是“rmname”的作用。
在ClearCases的情况下,mkelem命令有点特殊 - 它创建了初始数据块,并在当前目录中添加了一个指向该数据块的指针(类似于一次做两件事)。