Perforce(P4):是否有“反向同步”这样的东西,它会将本地目录中的所有/所有更改推送到服务器?

时间:2011-09-19 21:11:03

标签: perforce

我知道这是一个奇怪的问题,但是有一个与'同步'相反的p4命令吗?也就是说,我希望将本地工作空间目录中的任何文件都推送到软件仓库。

我知道你的第一个想法可能是“但为什么?”,答案是,它很复杂。

3 个答案:

答案 0 :(得分:3)

Reconciling offline work可以帮到你。它会推送添加,更改或删除的文件。重命名文件有点棘手。

出于好奇。究竟是什么“它很复杂”

答案 1 :(得分:0)

'submit'和'shelve'都可以将文件内容从本地工作区发送到软件仓库。

在任何一种情况下,您都必须先使用“添加”或“编辑”来标记要发送到软件仓库的文件。 (如何执行此操作取决于您使用的客户端工具。)

答案 2 :(得分:0)

这是一个源自O'Reilly Perforce书籍的脚本

你可能想从

开始
    p4 sync -k ...

这使得perforce认为它已经与当前头部同步,但事实上 不对文件系统进行任何更改。因此,下面的差异将表现为(对于强制),就像当前头部的变化一样。

    # a reverse 'synchronize' (sync what's on disk with what's in the depot)
    # see "practical perforce" (o'reilly) page 46
    #
    # changed files
    p4 diff -se | p4 -x- edit
    #
    # deleted files
    p4 diff -sd | p4 -x- delete
    #
    # added files
    find . -type f -o -type l | p4 -x- add -f 

我没有单独测试上面的内容(它来自一个被广泛使用的较长的脚本),但我相信它应该可行。