如何使用P4V将文件夹移动到另一个变更列表?

时间:2019-07-17 16:40:06

标签: perforce p4v

我不小心将几个文件夹添加到了我不想提交到服务器的默认更改列表中。如何在不影响磁盘上文件的情况下将这些更改移至另一个更改列表,或将其从更改列表中删除?

我创建了一个新的更改列表,并将一些单个文件/更改移到了该列表,但是该文件夹包含许多自动生成的文件,要逐个文件地处理文件将花费很长时间。

我也看过使用“还原”选项,但我认为其中某些文件以前可能已错误地添加到服务器。还原似乎会将磁盘上的这些文件更改为以前的服务器版本。

2 个答案:

答案 0 :(得分:1)

在P4V中,您可以在待处理的更改窗口中选择多个文件,然后将它们拖到新的更改列表中。如果它们都在同一个目录中,则它们将全部组合在一起,因为它是按仓库路径排序的。

如果只希望它们不被打开但又不想在磁盘上对其进行修改,请转到命令行并执行以下操作:

p4 revert -k //depot/path/...

-k选项可让您keep本地文件。据我所知,这在P4V中是不可用的(因为它会使您的工作空间与软件仓库状态不同步,所以通常是个坏主意)。

如果您在工作区中生成了不应该进入软件仓库的文件,则应将其从客户的视图中排除,例如:

View:
    //depot/... //myclient/...
    -//depot/path_to_generated_files/... //myclient/path_to_generated_files/...

这实际上将“隐藏”所有Perforce操作中的这些文件;您将永远无法从该工作空间路径添加文件,并且如果其他人将文件添加至该软件仓库路径,则不会将它们同步到您的工作空间。关于此的两个注意事项:

  1. 如果您已经在仓库中保存了其中的某些文件,并且当前已对其进行同步,则将其从视图中排除,然后进行同步,则客户端会将其从客户端中删除。您可以使用sync -k(与revert -k类似)来保留本地副本,同时告诉服务器您的客户端已正确更新。
  2. 如果您正在使用流,则可以通过添加Ignored路径来对流的所有客户端执行此操作。

答案 1 :(得分:1)

您可以在“查找文件”中指定文件夹路径。

并使用“ *”匹配包含字段中的所有文件。

现在,您可以使用“ Ctrl + A”选择文件夹中的所有文件

enter image description here