2

我有几个 .refresh 文件以某种方式进入了我的 perforce 默认挂起更改列表,并从那里开始以某种方式开始显示为与它们的仓库对应项发生冲突。

它们是不可区分的,无法解析的,我已使用 perforce 网站上的说明将文件排除在比较之外,但这些作业仍然出现在待处理的更改列表中。

那里还有一些其他无意义的东西,例如 .sln 文件等,它们确实妨碍了我们实际上试图进行源代码控制的所有正确文件。每当我们试图发布某些东西或合并分支时,必须让每个人都知道他们应该被忽略,这很烦人。

那么你到底是如何摆脱这些完全伪造的变更列表项目的呢?我什至尝试删除他们引用的文件(因为它们并非完全必要),但这项工作仍然没有提供解决方案。

4

3 回答 3

1

答案真的取决于你想要什么最终状态。

A)perforce中没有副本,磁盘上的本地副本:

  1. 将本地副本移开
  2. 使用 p4 或 P4V 恢复更改
  3. 强制删除文件,甚至更好地删除它们
  4. 将本地副本移回原位
  5. 确保以后不要 p4 添加文件。例如,使用针对提交的触发器。

注意:如果您删除其他工作区(例如其他开发人员)可能会丢失文件。

B) perforce 中的默认副本,在磁盘上具有本地可写副本:

  1. 将本地副本移开
  2. 使用 p4 或 P4V 恢复更改
  3. p4 编辑文件,改变文件类型 +w
  4. 提交文件。
  5. 将备份的副本移到可写文件上。
于 2009-09-11T18:30:56.433 回答
1

删除.refresh文件后,将它们还原到待处理的更改列表中。(Perforce 需要被明确告知你在文件系统上所做的一切。)如果这些文件错误地进入了你的存储库,你应该考虑删除它们。如果您不想在存储库中删除它们,但希望能够创建自己的版本而不会发生冲突,您可以同步到#none,Perforce 将忽略它们。

关于“你能在 Perforce 中“忽略”文件吗? ”这个问题的讨论针对说服 Perforce 忽略文件的更大问题提出了许多解决方案,包括:

  • 添加负面的客户端规范映射以排除 Perforce 考虑的生成文件
  • 添加服务器端提交触发器,该触发器将拒绝包含不应进行版本控制的文件的更改列表
于 2009-09-10T15:23:37.143 回答
0

好吧,似乎没有人有答案,我不希望自动接受错误的答案,所以我会接受这个。

耻辱。

于 2009-11-11T16:49:09.950 回答