Perforce使用命令行修改changelist的Description

Posted mick_seu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Perforce使用命令行修改changelist的Description相关的知识,希望对你有一定的参考价值。

当前项目使用Perforce控制版本。

我们可以使用 p4 change changelist# 打开一个 changelist 的相关描述,可以通过修改 Description 字段来进行修改。可是在自动化中,该方法并不合适,好在 P4 提供了 p4 change -o 以及 p4 change -i 两个指令。

p4 change

The -o flag writes the changelist specification to the standard output.

The -i flag reads a changelist specification from the standard intput.

具体用法如下:

  1. p4 change -o changelist#(如果不加,默认为default) > xxx
  2. 脚本修改xxx
  3. p4 change -i < xxx

如何使用脚本修改文件呢?这里以 python 为例。我们使用 open 函数来读写文件。open 函数常用模式:

模式含义
r读模式
r+读写模式,在原文件的基础上编辑
w写模式,如果文件存在,则先清除文件内容
a追加模式

我们需要将 “Description:” 下一行的描述修改为新描述(这里假设Description没有换行符):

data = ""
flag = False

with open('xxx', 'r') as f:
    for line in f.readlines():
        if not flag:
            if(line.find("Description:") == 0):
                flag = True
            data += line
        else:
            data += "\\t新描述\\n"
            flag = False

with open('xxx', 'w') as f:
    f.write(data)

可以参考:读写文本文件

以上是关于Perforce使用命令行修改changelist的Description的主要内容,如果未能解决你的问题,请参考以下文章

perforce记录

Perforce 上传文件夹

Perforce挂起的更改列表差异脚本

[SCM]源码管理 - perforce命令行高级

如何将更改从主分支中的待处理更改列表迁移到 perforce 中的另一个分支

git不提交文件的ChangeList使用