How ClearCase identify hijacked files?

早过忘川 提交于 2020-01-03 02:29:06

问题


One says an hijacked file is a file where the "Read Only" flag has been removed.

I tried to remove the "Read Only" flag (Windows) and ClearCase does not recognize it as hijacked. Then I tried to touch the file using Cygwin without actually changing any mode flags. This time ClearCase warns me, we've got hijacked!

It seems ClearCase only look at the timestamp of files not their content and not their read-only flags. This mechanism has a very bad side effects when working in parallel with git. For example, if I do this:

 git checkout bar
 git checkout master

It would be the same as:

 touch foo

Thus, ClearCase will think foo was hijacked which is not the case. For huge projects, this would be very dramatic and unfortunately I always use git to quickly switch to back and forth in my snapshot view.

What would be a good solution in my case?

EDIT

A much more dangerous example would this one:

 stat -c 'touch --no-create -d "%y" "%n"' foo > restore_timestamp
 echo "ClearCase will not see this" >> foo
 source restore_timestamp
 rm restore_timestamp

回答1:


When I work in parallel between ClearCase and Git, I don't touch to the git repo within ClearCase: I clone it elsewhere and work from there.

Actually, I don't create a git repo in the ClearCase view directly: I create it outside, adding in it all the file from the ClearCase view (using just for the initial add: git add --work-tree=/path/to/CC/view)

When it is time to synchronize the ClearCase snapshot view with the git working tree, a do a clearfsimport (as in this answer) from that working tree to the ClearCase view: obnly the modified files are checked out/updated and checked in.

That way, I completely bypass the "hijacked/not hijacked" issue.



来源:https://stackoverflow.com/questions/28278652/how-clearcase-identify-hijacked-files

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!