0

例如,我在更改列表中签出了 100 多个文件:

//Development/MyProject/Version1.0/Coord/File1.cs
//Development/MyProject/Version1.0/Coord/File2.cs
...
//Development/MyProject/Version1.0/Coord/Filen.cs
//Development/MyProject/Version1.0/Common/File1.cs
...
//Development/MyProject/Version1.0/Common/Filen.cs

同样在一些更多的目录中。现在我想签出类似的文件Version2.0

//Development/MyProject/Version2.0/Coord/File1.cs
//Development/MyProject/Version2.0/Coord/File2.cs
...
//Development/MyProject/Version2.0/Coord/Filen.cs
//Development/MyProject/Version2.0/Common/File1.cs
...
//Development/MyProject/Version2.0/Common/Filen.cs

我可以通过查看已签入的文件Version1.0并转到每个目录Version2.0并签出这些文件来做到这一点。这是一项乏味的工作。

有什么光明正大的方法吗?

4

1 回答 1

1

从 linux/Unix/macOS shell,我建议使用以下方法。除非您在那里安装了 unix 工具,否则它在 Windows 中会有很大的不同。

  1. 查看所有 Version1.0 文件。
  2. cd 到您的Version1.0目录
  3. 运行以下命令行:

p4 opened ... | sed 's/\#[1-9].*$//' | sed 's/\/Version1.0\//\/Version2.0\//' | p4 -x - edit

注意:如果您的任何文件的名称中包含“#”符号,则需要进行一些调整。这是一个快速而肮脏的修复。并感谢上面的 Bryan Pendleton,他基本上更简短地说了同样的话。

于 2018-05-22T20:19:23.670 回答