在Linux上使用ClearCase添加文件到源代码控制系统

6

我有一个文件想要使用cleartool在Linux上添加到源代码控制。 我按照IBM文档的说明尝试了以下操作:

cleartool mkelem testScript.sh

我遇到了一个错误: 无法修改目录“.”,因为它没有被签出。我还想知道如何签出/签入文件或目录以及如何设置活动。
2个回答

6

首先需要检出父文件夹。

cd /path/to/file/
cleartool mkact newfile
cleartool checkout -c "add file" .
cleartool mkelem testScript.sh
cleartool checkin -nc
cleartool mkact 可以在UCM视图中使用。
它会创建并设置一个新的活动,记录您将要修改的文件和文件夹。

在这里,新活动newFile将记录父文件夹的新版本,以及文件的版本0和1。(参考链接)


我该如何将一个活动的状态更改为过时? - Alex Brodov
我该如何检查活动的状态? - Alex Brodov
1
@user3502786 cleartool lslock activity:yourAct@/vobs/yourPVob 请执行。 - VonC
最后一个问题是,我如何列出所有已签出的文件/文件夹。 - Alex Brodov
@user3502786 可以查看 http://stackoverflow.com/a/8749324/6309 或者 https://dev59.com/KknSa4cB1Zd3GeqPRdRf#1577552。还可以在 https://dev59.com/pkfSa4cB1Zd3GeqPBfAS#974016 中找到。 - VonC

-1

你应该为每个问题创建单独的提问...

回到原始问题 - 它不起作用的原因是,正如VonC所指出的那样,你没有检出文件的父级。请记住,当你运行“cleartool mkelem”时,你将要通过添加一个新的“指针”来修改父目录(在这种情况下是.)的内容。与ClearCase中的其他所有内容一样,当你想要修改元素的内容时,你必须首先将其检出。

在我看来,ClearCase最大的优点之一(也是最难理解的)是“元素”的概念。所有的“东西”都以类似的方式表现出来。对“元素”(文件或目录)进行任何更改都意味着你必须首先将其检出才能进行更改。

对于文件来说,这很容易理解——你只是在编辑文件中的行。对于目录来说,也几乎一样容易——你可以把目录看作是指向数据块的指针列表。我们将数据块的名称设置为方便记忆的内容(例如foo.java或myapplication.cc或README.md)。但是我们也可以通过重命名文件来更改指针的名称(即使它指向相同的数据块)。我们可以使用"rmname"删除指向数据块的指针而不影响数据块本身。这就是"rmname"的基本功能。
在ClearCases的情况下,mkelem命令有点特殊——它创建了初始数据块,并在当前目录中添加了一个指向该数据块的指针(实际上同时完成了两个任务)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接