首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >git-p4提交失败,“路径不在客户端根目录下”错误

git-p4提交失败,“路径不在客户端根目录下”错误
EN

Stack Overflow用户
提问于 2014-11-26 10:28:04
回答 2查看 2.9K关注 0票数 3

我已经通过Article/Git-P4中描述的git-p4配置了perforce存储库的git镜像,并且工作了一段时间:我能够将强制更改转换为git,并将git更改提交给perforce。然后,git p4 submit命令突然停止工作。当我运行它时,我会得到一个错误:

代码语言:javascript
运行
复制
You have files opened with perforce! Close them before starting the sync.

当我在详细模式下运行它时,它会显示p4 -c <client name> -G opened ...命令失败,输出如下:

代码语言:javascript
运行
复制
{scodeserrorsdatasrPath '/path/to/git/clone/...' is not under client's root '/path/to/git-p4-area'.
severityisgenerici0%

嗯,它确实不是在/path/to/git-p4-area下,但这之前不是一个问题。而且,我仍然可以运行git p4 rebase,没有任何问题。如何修复Path is not under client's root错误?

更新

多亏了布莱恩的回答我才能解决这个问题。原来我得到的错误是正确的,我确实打开了文件。我已经用p4 revert ...命令在/path/to/git-p4-area中恢复了它们,现在git p4 submit工作得很好。

这个错误让我感到困惑,因为当您使用git-p4时,您不会在强制工作区中更改文件,而是使用git存储库,git-p4将git提交转换为强制更改,反之亦然。最后一次提交操作中,我的强制票过期了(票每12小时到期一次)。因此,一些文件被放在perforce工作区中打开。最好的解决办法是不超过12个小时.

EN

回答 2

Stack Overflow用户

发布于 2015-01-02 11:27:55

这是我的解决办法:

代码语言:javascript
运行
复制
$ p4 opened -s | awk '{print $1}' | xargs p4 revert

..。因为p4 opened输出(令人惊讶地)不是空的。

之后,通常的git p4 submit成功了。

票数 4
EN

Stack Overflow用户

发布于 2014-11-26 15:22:56

客户端根目录告诉Perforce服务器,您的文件副本存储在工作站或膝上型计算机上。也许您在工作站上复制、重命名或移动了该文件夹?

如果您无意中移动或重命名该文件夹,则可以将其移回服务器期望的位置。

或者,您可以使用“p4客户端”命令更新客户端根,以便Perforce服务器知道文件存储在工作站上的位置。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27146713

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档