【问题标题】:How to 'move' directories on Perforce/P4V without sync to local如何在 Perforce/P4V 上“移动”目录而不同步到本地
【发布时间】:2015-04-08 16:44:04
【问题描述】:

我正在尝试在 perforce 上移动大量文件。
我第一次尝试使用 p4 integ -v
时几乎完成了 但是,integ 命令“复制”选定的文件。
由于某种原因,我必须删除源文件并只保留目标文件。

接下来,我尝试了 p4 move 命令。此命令没有 -v 选项。
也无法将所有文件同步到我的本地计算机。 (数十 TB)
有谁知道如何在不实际同步的情况下执行 p4 move

现在,我尝试了 -k 选项来伪造 perforce out:

p4 sync -k //src_dir/...
p4 edit    //src_dir/...
p4 move -k //src_dir/...  //tar_dir/...

但是 Perforce 报告提交失败,因为我的本地计算机中没有 //tar_dir。我错过了什么吗?

【问题讨论】:

    标签: perforce p4v


    【解决方案1】:

    除非您特别需要“p4 移动”语义(例如,在集成到其他分支时保持每个添加/删除对的原子性 - 并且因为听起来您是在整个分支甚至多个分支上执行此操作我'我猜你不想那样),我建议这样做:

    p4 copy   -v //src_dir/... //tar_dir/...
    p4 sync   -k //src_dir/...
    p4 delete -k //src_dir/...
    p4 submit
    

    【讨论】:

    • 谢谢。它实际上是有效的。这里有一点需要注意:我尝试将所有命令混合在一个更改列表中,然后提交但失败了。看来我的 P4 不允许我同时复制和删除源。所以我会建议“在单个更改列表中只做单个项目”
    • 顺便说一句,我发现 p4 delete 有 -v 选项。所以同步/删除对可以合并为 delete -v
    • 您通常应该能够复制文件并在单个更改列表中删除副本的源(而不是目标),因为副本不会打开源文件——我的猜测是您遇到的错误与此无关。不管怎样都行! :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-20
    • 1970-01-01
    • 2010-11-30
    • 1970-01-01
    • 2012-08-16
    • 2013-03-23
    相关资源
    最近更新 更多