更新有一个Perforce触发器文件之前提交(Updating files with a Perfo

2019-10-20 06:20发布

据我所知,这个问题已经在本质上已经被问 ,但这个问题并没有一个明确的答案,所以请多多包涵。

背景:在我的公司,我们使用Perforce公司提交的数字作为我们的版本的一部分。 无论这是否是一个正确的方法还是不行,那就是如此。 目前,许多开发商做代码和文档单独提交:第一代码,然后将文档更新为新的版本号应该是什么样的面向客户的文档。 我想简化这一过程。

我的想法是:创建一个Perforce触发器(运行在服务器端)的扫描提交的文档文件(如.txt一个独特的术语)(如#####PERFORCE##CHANGELIST##NUMBER###ROFL###LOL###WHATEVER##### ),然后提交时更改列表会是什么值来替换它。 我已经知道如何确定此值。 我想不通,是如何或在哪里更新文件。

我已经确定使用change-content触发(是否可以或不可以),其

“火[S]变更列表的创建和文件传输,但在提交向数据库提交之前后”,

是要走的路。 此时文件需要在服务器上的某个地方 。 如何确定从内,也就是说,一个Python脚本,这样我可以更新或这些文件的(临时?)位置sed替换与预期值的占位符值? 对于Perforce公司的在线文档,我迄今发现没上过这是否是可能的,或者如何提交在这个阶段力学会的工作非常明确的。

编辑

基本上我在找的是RCS一样的功能,但没有这些伴随着它的难看的特殊字符序列。 更挖掘后,我所问的是一样的这个问题 。 不过,我相信,这一定是有可能的,因为触发器是在服务器端运行,并将文件已经传输到服务器 。 因此,他们必须是由脚本访问。

考虑从发行说明文件下面的代码片段:

[#####PERFORCE##CHANGELIST##NUMBER###ROFL###LOL###WHATEVER#####] Added a cool new feature.  Early retirement is in sight.
[52702] Fixed a really annoying bug.  Many lives saved.
[52686] Fixed an annoying bug.

这是用户提交了什么。 那么我想触发拦截在提交过程中这个文件(如所提到的,在change-content的阶段),并改变它,这样什么最终存储内的Perforce看起来是这样的:

[52738] Added a cool new feature.  Early retirement is in sight.
[52702] Fixed a really annoying bug.  Many lives saved.
[52686] Fixed an annoying bug.

其中52738是用户提交的内容最终更改列表编号。 (如前所述,我已经能够确定这个数,所以请不要在这一点上纠缠。)也就是说,用户看到的Perforce客户端控制台上是什么。

Changelist 52733 renamed 52738.
Submitted change 52738.

Answer 1:

  • 你们是不是要更换未决被编辑在不同的客户工作区(和不同的用户),其变更列表文件的内容?

  • 什么类型的信息,你想在文档文件来代替? 例如,它是一个日期,用户名等与RCS关键字扩展? http://www.perforce.com/perforce/doc.current/manuals/p4guide/appendix.filetypes.html#DB5-18921

我想您所想的情况下,完成有另一种方式做你想要什么有什么更好的澄清。

根据什么你正在尝试做的,你可能要考虑搁置( http://www.perforce.com/perforce/doc.current/manuals/p4guide/chapter.files.html#d0e5537 )

此外,还有一个现有的Perforce增强请求,我可以添加您的信息,关于客户端触发修改到提交之前的客户端文件。 如果它被执行,你将通过电子邮件通知。



Answer 2:

99瓦特,

我还添加你为定制RCS关键字现有的增强请求,根据您提供的例子一起。

短期使用命令后触发直接编辑档案内容,然后更新数据库校验的,目前不更新与自定义编辑的最后变更列表号文件内容的方式。



Answer 3:

有一个问题我在编程很早就学会的事情是保持了中断水平尽可能的,特别是在中断需要,可以挂系统资源不这样做的东西。 我完全得到你想要解决序列内部的标签,而是一种更好的方式来做到这一点可能只是触发时建立的编辑,这样一个后触发工具可以执行文件的修改。

纠正我,如果我在看这个错误,但似乎有点讽刺意味,或者是递归的,如果你正试图使提交文件的变化过程中一个文件更改。 这可能是更好的有保留日志第二变化列表。 你总是知道该文件,在您的本地文件空间。 这就是说,ktext文件和$领域或许能够提供帮助。



文章来源: Updating files with a Perforce trigger before submit