1

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

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

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

我怎样才能做到这一点 ?


感谢@cristobalito 提到 P4 KB

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

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:然后在新窗口中,选择k+属性 在此处输入图像描述

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

4

1 回答 1

2

实际上,在上面的评论之后做了一些进一步的谷歌搜索,显然 perforce 确实支持关键字替换,如此所述。这可能会让你朝着你想要实现的目标前进。

于 2013-10-29T16:58:53.523 回答