在Clearcase中,我想复制(fork,split)文件,同时保留其历史记录。像svn cp old.txt new.txt
这样的东西。我该怎么做?
答案 0 :(得分:4)
在ClearCase中分叉文件是不可能的。
如果您重构代码并将文件拆分为两个,则其中一个文件将显示为新文件,您将丢失有关谁编码的信息。 annotate命令会说行的作者是谁分裂了它。
答案 1 :(得分:3)
UCM,您不能轻易复制文件的完整历史记录 隔离历史记录的最佳方法仍然是创建一个分支,以便为该文件创建新版本,而不会影响原始分支中的同一文件。
在ClearCase中应该提供Thinking'svn cp'可能来自以下事实:在SVN中,分支是目录,而像 cc2svn 这样的工具实际上会使用'复制ClearCase分支' svn cp
”。
但是,由于使用ClearCase,分支机构是一等公民,因此最好在分支方面进行推理而不是复制/分叉。
来自cc2svn的主页:
在ClearCase和SVN中创建分支有所不同:
- SVN将所有文件从父分支复制到目标,如:
svn cp branches/main branches/dev_branch
- ClearCase仅在结帐操作时为文件创建实际分支。
答案 2 :(得分:0)
非常简单地完成
查看父文件夹 将要复制的元素移动到适当的位置(不在签出的父文件夹中)
撤消父文件夹的结帐
所有文件都会返回到包含历史记录的原始文件夹,并且重复的文件也会保留在包含历史记录的新位置。现在可以检出每个文件并单独更改