【问题标题】:How to change sync destination如何更改同步目标
【发布时间】:2017-01-06 19:04:35
【问题描述】:

问题:

如何更改p4 sync 将文件复制到的位置?

背景:

我有一个通常运行的特定目录:

p4 sync //path/to/project/...

今天,我不小心在不同的目录中运行了命令。

没什么大不了的,我想。我运行了p4 sync //...#none,然后在正确的位置重新运行了p4 sync //path/to/project/...

遗憾的是,它仍然将所有文件复制到原来的错误位置。我尝试了rm -rf 和各种组合(例如p4 sync -f ..)。我尝试了p4 flush,但被告知我的文件太多......所以这可能是我几乎对回购进行核对。 (//path/to/project/...只有大约 40 个文件,而不是 50,000 个。)


我对 p4 了解不多,老实说,我不在乎,我只是需要它来工作。 I looked here,但还有更多解释,没有实际帮助。在此之前,我从来不用和客户或工作区打交道

我在 1.5 年前第一次开始时编写了一个脚本,而不是为每个新的 //path/to/project/... 自动生成这个 bs,所以与我成功的项目没有什么不同2 周前解决,或 2 周前解决,等等。

唯一的区别是我在其中运行第一个 p4 sync 命令的目录。在正常情况下,在 p4 sync //..#none 之后在新位置重新运行该命令应该会将我的文件拉到新位置。


另外,加分点:我如何让我的公司相信 perforce 完全是垃圾,并且可能更糟糕比没有版本控制,所以我们可以像其他所有理智的公司一样使用 git?

【问题讨论】:

    标签: linux perforce


    【解决方案1】:

    经过进一步调查,我进入我的客户端,发现“Root:”参数设置为错误的目录。

    我将其更改为正确的目录,然后运行p4 sync;这些文件出现在正确的位置。

    我不确定这是怎么发生的,也许另一位海报可以过来解释一下。 (可能是第一次使用sync时产生的?)

    【讨论】:

    • “我在 1.5 年前第一次开始时写了一个脚本,而不是自动生成这个 bs” - Root 是在您创建客户端规范时定义的(我假设您指的是 bs ),因此问题可能出在创建客户端规范的脚本中。 :) 如果您不指定其他内容,则默认为当前目录(在运行“p4 同步”之前第一次运行“p4 客户端”的位置)。
    • 我刚刚意识到您编写了一个脚本,每当您运行“p4 同步”时,它都会使您成为一个新的客户端规范。除了它实际上并没有检查它是否正在制定新的客户规范。令您惊讶的是,您花了 1.5 年才遇到问题,它……不是……最佳的。 :|
    猜你喜欢
    • 2017-11-29
    • 1970-01-01
    • 2012-11-20
    • 1970-01-01
    • 1970-01-01
    • 2018-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多