Perforce 获取SQL文件中的P4文件版本

Perforce 获取SQL文件中的P4文件版本,perforce,Perforce,我有一些PL/SQL存储包,它们由不同的团队部署在不同的服务器上。如果我必须检查是否在所有服务器上部署了相同的版本,这总是一件麻烦事 我想做的是在给定的包中创建一个函数,调用它将打印文件的当前版本 现在我要打印的文件版本是P4中的版本。所以我看到的是,一旦我将文件提交到perforce,perforce会自动更新文件中的某个变量,该变量对应于当前提交的版本,在plsql中,我可以打印它 我该怎么做 感谢@cristobalito提及P4 我在我的包中做了一个函数,类似这样的 FUNCTION

我有一些PL/SQL存储包,它们由不同的团队部署在不同的服务器上。如果我必须检查是否在所有服务器上部署了相同的版本,这总是一件麻烦事

我想做的是在给定的包中创建一个函数,调用它将打印文件的当前版本

现在我要打印的文件版本是P4中的版本。所以我看到的是,一旦我将文件提交到perforce,perforce会自动更新文件中的某个变量,该变量对应于当前提交的版本,在plsql中,我可以打印它

我该怎么做


感谢@cristobalito提及P4

我在我的包中做了一个函数,类似这样的

FUNCTION get_script_version RETURN VARCHAR2
IS
    changed_date    VARCHAR2(60)    :=  '$DateTime$';
    change_list     VARCHAR2(30)    :=  '$Change$';
    revision        VARCHAR2(30)    :=  '$Revision$';
    changed_by      VARCHAR2(50)    :=  '$Author$';
BEGIN
    RETURN changed_date||'  '||change_list||'  '||revision||'  '||changed_by;
END get_script_version;
然后,在P4客户机中

1:右键单击所需文件,然后右键单击选择“更改文件类型”

2:然后在新窗口中,选择onk+属性


然后提交文件。P4将用相应的值替换$$

事实上,在上面的评论之后,我们做了一些进一步的谷歌搜索,显然perforce确实支持如上所述的关键字替换。这可能会帮助您实现您想要实现的目标。

Perforce不会自动处理其文件内容,因此(没有外部流程)不可能嵌入此类信息。你过去可以用CVS(关键字替换-)来做这件事。它很有效。。。我将用细节更新我的问题,以便其他人也能从中得到帮助