Perforce不知道我有提交的更改

use*_*421 3 version-control perforce

我是Perforce的新手.我对Git和Subversion更加满意.

无论如何,这就是发生的事情:

  1. 我在我的机器上的位置A的p4v中为自己创建了一个分支.
  2. 我在位置B创建了一个Java项目,并将其 复制到我计算机上的位置A.
  3. 我创建并提交了Java项目的更改列表.
  4. 我意识到我需要做出另一个改变,所以我回到Eclipse并编辑了项目.但是,我忘记了Eclipse中的项目指向位置B中的项目.
  5. 因此,我将项目从位置B复制到分支所在的位置A.

但是现在我无法为编辑创建更改列表,因为Perforce认为没有提交更改.

我做错了什么,如何修复它,以及Perforce最佳做法是什么以避免将来出现这种疯狂?

jam*_*lin 5

p4 edit在编辑文件之前,您需要对它们进行处理。通常,文件被标记为只读,以强烈阻止您在未先将文件标记为可编辑的情况下修改文件。

最佳实践是不要对抗只读权限。

  • 从这一点来看,如果您对修改后的文件执行“p4 edit”,那就足够了。“Perforce 认为您工作区中的内容是最新版本”是什么意思?`p4 change` 应始终列出使用 `p4 edit` 打开进行编辑的所有文件,无论它们是否包含任何实际修改。(您可以提交不进行任何修改的变更集。)如果您对文件执行“p4 diff”,它是否显示没有更改? (2认同)

Chr*_*isF 5

Perforce有一个Eclipse插件.如果你安装它,那么你将能够在Eclipse的位置A处理项目.

如果您对任何文件或设置进行编辑,Perforce将自动检出文件并将其放在默认的更改列表中.

然后,您可以从那里重新检入,或使用P4V管理您的更改列表.

正如@jamesdlin所指出的,Perforce有效地"拥有"了这些文件,你不应该先通过显式p4 edit命令或通过IDE插件进行任何编辑.

如果您在没有先检出文件的情况下进行了更改,则只需p4 edit拨打电话即可.这不会覆盖本地文件,只要将文件标记为可写,就Perforce而言.Perforce公司然后认识到,还有待定编辑,让你托运.