在Perforce中,您可以将文件夹重命名为相同的名称,但使用不同的名称?

问题描述:

我可以将Perforce中的文件夹从// depot/FooBar/重命名为// depot/Foobar/在Perforce中,您可以将文件夹重命名为相同的名称,但使用不同的名称?

我已经从试图重命名这个//库/ FooBar的///库/温度///车厂/ Foobar的/但最终的结果结束了一样//仓库/ FooBar/

我想它对待文件和文件夹是一样的。

对于文件: 这取决于(您是否有Windows或Unix服务器)。我们的Windows perforce服务器(它是我们的Java代码的版本)有这个问题,偶尔有人会检查带有案例问题的文件(这会导致编译错误,因为它是Java)。解决这个问题的唯一方法是删除文件并重新提交正确的大小写。

一旦它在Perforce中,案件仍然设置。正如Johan所提到的,你可以消除,正确设置名字,然后重新添加。但是,有一个小小的陷阱......

如果其他人(运行Windows)已经同步错误的版本,那么当他们再次同步正确的一个,它不会改变他们的PC上的情况。这是Windows文件系统确认案件的一个特点,但仍然基本上与案例无关。

如果有许多用户同步了,并且也不方便让他们从客户端移除(并从他们的机器中剔除文件夹),那么您可以使用一种黑暗而肮脏的Perforce技术,称为“检查站手术“。这不是为了胆怯,但你这样做:

  1. 停止你的服务器,取一个检查点。
  2. 使用您可以处理多兆字节文件的您最喜爱的文本编辑器,搜索&用新的替换所有旧案例名称的发生。你当然也可以使用脚本。
  3. 重播您的检查点文件以重新创建Perforce数据库元数据。
  4. 重新启动您的服务器。

这将影响所有用户客户端规格透明,所以当他们同步时,他们会得到正确的情况下,如果通过魔术。

听起来很毛茸茸的,但我必须这样做,只要你照顾,备份,做试运行等,那么一切都应该没问题。

+3

Windows并不关心文件名的情况,但*记得*它。我的一位同事将此称为“病例保留型”。 :-) – 2008-09-25 14:12:52

我不确定目录,但是我们遇到了这个文件问题。为了解决这个问题,我们必须删除文件,提交该更改,然后p4添加具有正确大小写的文件并提交第二个更改。一旦完成,unix用户同步错误文件必须进行p4同步,然后物理删除文件(因为p4不会更新大小写),然后p4同步文件。

我们的服务器在Windows上,因此可能会有所作为。

也许不需要了,但这里有关于Windows和Unix更改文件的情况下正式Perforce的方法文档:http://answers.perforce.com/articles/KB/3448/?q=change+file+case

的问题是,超过3岁,但我遇到了这样的而问题在Subversion进口进入Perforce,并计算出我得到的信息可能对一些人有用。它与删除方法类似,但可以帮助您保留历史记录。您可以使用当时不可用的重复命令来保留历史记录。该过程基本上是:

  1. 复制到临时位置。
  2. 消除刚复制的位置。
  3. 从临时位置复制到重命名的案例位置。
  4. 消除临时位置。

通过这个,您可以保留文件更改的历史记录,但也可以将它们全部置于新路径中。不幸的是,路径案例变化没有历史,但这似乎是不可避免的。与此处提及的其他方法类似,用户需要手动重命名其工作区中的目录,或者删除并重新同步以获取新的路径名。

此外,P4V会缓存它在树中显示的路径,所以在执行此操作后它仍可能显示为旧名称。然而,p4 dirs命令会显示新的情况。

我想你应该删除Perforce缓存,这样你的修改才能显示出来。

您可以使用ABC重命名为abc_TMP,然后将abc_TMP重命名为abc,然后清除缓存。

Setps清除缓存:

  1. 打开Windows用户的个人文件夹(在Windows7的==> C:\用户\)
  2. 找到名为文件夹 “.p4qt”
  3. 重命名文件夹“old.p4qt”
  4. 启动Perforce,现在一切正常!

注意:这些步骤将保留您的默认设置。