我可以将 Perforce 中的文件夹从//depot/FooBar/重命名为//depot/Foobar/吗?
我已经尝试过从 //depot/FooBar/重命名为//depot/Temp/到//Depot/Foobar/但最终结果与//depot/FooBar/相同。
我可以将 Perforce 中的文件夹从//depot/FooBar/重命名为//depot/Foobar/吗?
我已经尝试过从 //depot/FooBar/重命名为//depot/Temp/到//Depot/Foobar/但最终结果与//depot/FooBar/相同。
一旦它进入 Perforce,情况就会保持不变。正如约翰所说,您可以删除,正确设置名称,然后再次添加。但是,有一个小问题......
如果其他人(运行 Windows)已经同步了错误大小写的版本,那么当他们再次同步正确的版本时,它不会改变他们 PC 上的大小写。这是 Windows 文件系统承认大小写但基本上与大小写无关的特性。
如果许多用户已经同步,并且不方便让他们也从客户端中删除(并从他们的机器中炸毁文件夹),那么您可以求助于一种黑暗而肮脏的 Perforce 技术,称为“检查点手术”。它不适合胆小的人,但你可以这样做:
这将透明地影响所有用户客户端规范,因此当他们同步时,他们将获得正确的案例,就像魔术一样。
听起来很麻烦,但我以前必须这样做,只要你小心、备份、试运行等,那么一切都应该没问题。
也许不再需要了,但这里是关于在 Windows 和 Unix 上更改文件大小写的官方 Perforce HowTo:http ://answers.perforce.com/articles/KB/3448/?q=change+file+case
我不确定目录,但我们遇到了文件问题。要修复它,我们必须删除文件,提交更改,然后 p4 添加正确大小写的文件并提交第二个更改。完成后,已同步错误大小写文件的 unix 用户必须 p4 同步,然后物理删除文件(因为 p4 不会更新大小写),然后 p4 sync -f 文件。
我们的服务器在 Windows 上,所以这可能会有所不同。
我认为您应该删除 Perforce 缓存,以便显示您的修改。
您可以使用 ABC rename 重命名为 abc_TMP,然后将 abc_TMP 重命名为 abc,然后清除缓存。
清除缓存的设置:
注意:这些步骤将保留您的默认设置。
我猜它对待文件和文件夹是一样的。
对于文件:这取决于(取决于您是否拥有 Windows 或 Unix 服务器)。我们的 Windows perforce 服务器(我们的 Java 代码版本)有这个问题,偶尔有人会签入一个有大小写问题的文件(这会导致编译错误,因为它是 Java)。解决此问题的唯一方法是删除文件并使用正确的大小写重新提交。
这个问题已经超过 3 年了,但是我在将 Subversion 导入 Perforce 时遇到了这样的问题,并认为我得到的信息可能对某些人有用。它类似于 obliterate 方法,但可以帮助您保留历史记录。您使用当时可能不可用的重复命令来保留历史记录。该过程基本上是:
通过这种方式,您可以保留文件更改的历史记录,但也可以将它们全部放在新路径中。不幸的是,不会有路径案例更改的历史记录,但这似乎是不可避免的。与此处提到的其他方法类似,用户将需要手动重命名其工作区中的目录或删除并重新同步以获取新路径名。
此外,P4V 会缓存它在树中显示的路径,因此在执行此操作后它可能仍会显示为旧名称。但是, p4 dirs 命令将显示新案例。