我最近将一个 VSS 存储库导入 Perforce。这包括数百个标签,使用 VSS(现在使用 Perforce)的开发人员依赖这些标签。我不小心删除了它们,不得不再次导入。为了防止将来发生这种意外删除,我想锁定所有标签,但是通过 P4V 这样做会很耗时。我想写一个脚本来为我做这件事。
我可以使用p4 labels
命令将所有标签放入一个文本文件中,并且通过一些文本编辑器宏处理,我可以构建一个脚本来锁定它们。我只需要知道执行此操作的命令。
我最近将一个 VSS 存储库导入 Perforce。这包括数百个标签,使用 VSS(现在使用 Perforce)的开发人员依赖这些标签。我不小心删除了它们,不得不再次导入。为了防止将来发生这种意外删除,我想锁定所有标签,但是通过 P4V 这样做会很耗时。我想写一个脚本来为我做这件事。
我可以使用p4 labels
命令将所有标签放入一个文本文件中,并且通过一些文本编辑器宏处理,我可以构建一个脚本来锁定它们。我只需要知道执行此操作的命令。
这可以通过自动编辑标签规范的过程来完成。过程如下:
把它们放在一起,你会得到一个看起来像这样的命令。
p4 label -o <label name> | sed 's/^Options:.*/Options: locked/' | p4 label -i
相关的 Perforce 文档在这里。
要将标签规范转储到标准输出:
p4 -o *labelname*
从标准输入读取标签规范:
p4 -i *labelname*
在这两者之间,您需要处理文本以包含“选项:锁定”,可能通过将标准输出重定向到文本文件,例如(“p4 -o labelname > labelspect.txt”),以您选择的方式处理文本文件,然后将文件读入标准('p4 -i labelname < labelspect.txt')