【问题标题】:How to realize the "cp -u" function in a clearcase vob?如何在clearcase vob中实现“cp -u”功能?
【发布时间】:2013-03-20 16:46:59
【问题描述】:

我们有两个 vobs,分别是“voba”和“vobb”。并且两个vob中都有一个目录“abc”,包含相同的.h / .cpp文件。

通常,“voba”中“abc”目录中的文件会经常更新。并且不时地,我想从“abc of voba”更新“abc of vobb”中的所有文件,这意味着:

  1. 签出 vobb.abc 中的更新文件,覆盖它们然后签入。
  2. 将新创建的文件复制到vobb.abc,创建元素。
  3. 通过对应到 voba.abc 删除 vobb.abc 中已删除的文件。

如果是普通的linux目录,我认为cp -u并实现。但是说到clearcase,我只能手工完成上面的1-3个。

有没有什么简单的方法可以自动完成更新?

【问题讨论】:

    标签: linux copy clearcase auto-update vob


    【解决方案1】:

    这在 ClearCase 中称为 clearfsimport(可能与 -mirror option 一起使用)

    由于两个vob的abc目录中的元素完全不同(不同的oid,具有不同的历史),你可以做的是将abc的内容从一个vob导入另一个vob :clearfsimport 将自动检出、更新和检入仅在源中进化的文件,并且需要在目标中更新。


    注意,这个recent thread (March 2013)也指向perl脚本ClearCase::SyncTree

    它在许多方面都优于 clearfsimport,尤其是在它的邪恶双重避免方面(它会尝试使用适当的选项来链接来自不可见版本的合适条目)。

    说明:

    该模块为希望将一组文件(通常是子树)与 VOB 空间中类似的目标子树同步的程序提供了基础设施。随附的同步树脚本就是此类程序的一个示例。

    源区域可能在VOB中,也可能是常规文件系统;目标区域必须在 VOB 中。
    提供了用于添加、减去和修改目标文件的方法,以使该区域看起来与源文件相同。

    支持符号链接,即使在 Windows 上也是如此(当然在这种情况下源文件系统必须支持它们,这只有在 MVFS->MVFS 传输的情况下才有可能)。请注意,链接的文本从源区域逐字传输到目标区域;因此相对符号链接可能不再在目标中解析。

    【讨论】:

    • 由于我不是 vob 的所有者,并且我有自己的 vob 分支,所以当我尝试命令时:clearfsimport -preview -master -follow ~/t1/* /vobs/.. ../... 我收到错误:权限被拒绝:不是 VOB 所有者或特权用户,我该怎么做?
    • @user2191818 你能签出那个vob中的任何文件吗?
    • @user2191818 也可参见stackoverflow.com/questions/138321/…:您需要为您的clearfsimportcommand 设置-nset 选项。
    • 没关系,我通过添加“–nsetevent”实现了这一点。谢谢
    • 您好 VonC,是的,我使用了有效的 –nsetevent。非常感谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多