我在 Perfarce 扩展上遇到了一个我似乎无法解决的问题。我最初通过以下方式克隆了我的 P4 仓库的一部分:
hg clone --startrev 71555 p4://perforce:1666/greg_nt_main-hg lwnthg
我选择了一个 start rev,它只是当前 head 修订后面的几个更改列表——尝试一个没有 startrev 的完整克隆不起作用,但这是一个单独的问题,我可能会单独写。
在克隆期间,我收到以下错误:
"abort:untracked file in working directory differs from requested revision on 'MAIN/apps/Win32/BenchMark/Jamfile'”
然而,在检查我磁盘上出现的内容时,看起来所有文件实际上都已成功克隆。提到的文件与 Peforce 中的文件相同,并且在克隆过程之前 lwnthg 文件夹是空的。'hg status' 显示了许多尚未提交的文件——我猜是因为克隆中止了?所以我承诺了他们,一切看起来都很棒。
我对我的文件进行了一些编辑,将它们提交到本地存储库没有问题。我喜欢 Mercurial 的可爱;)
但是,当我将更改推回 Perforce 时,我收到以下错误:
abort: no p4 changelist revision found
我确认我有一个有效的 P4 登录票,P4 已启动,等等,一切正常。
所以我的猜测是 Perfarce 将上次从 P4 同步到的更改列表存储在某处,并且第一次中止发生在写出此信息之前。如果我尝试从 P4 执行拉取操作,我也会收到相同的错误。假设我的理论是正确的,有没有办法在本地 Perfarce 配置中重建这些信息?
注意“Perfarce”不是错字。它是链接到 Perforce的 Mercurial 扩展的名称。如果您将其更改为“Perforce”,该问题将失去一些意义。感谢您在尝试解决问题方面的帮助,但始终值得首先检查事实:)