我们有一个构建属性文件,其中包含存储库的当前全局修订版。在有人标记项目之前,手动更新了此文件。
我的想法是编写一个ant任务,它更新属性文件中的修订号,并在eclipse中设置一个项目构建器来执行任务。但问题是,您只能选择在清理之前或之后或手动或自动构建时运行任务。
有没有办法在提交之前执行目标,以确保修订号始终更新?
答案 0 :(得分:1)
让你的版本工具完成工作,这是他的一部分
这是一个使用cvs或cvsnt时使用cvs keywords的构建文件头的示例。
您之前可能已经在多个来源中看到了这一点,因为这是一个很好的做法。
其他版本控制像颠覆等工具有类似的功能,只需查看他们的手册,
fe见Subversion, keyword substitution
<?xml version="1.0" encoding="UTF-8"?>
<!--+
| $Author:$
| $Date:$
| $Revision:$
|
| Description :
| bla bla bla
| bla bla
| bla
|
+-->
<project name="..." default="...">
<description>
description
</description>
...
cvs元信息会在每次提交时自动更新,您无法忘记。
将这些关键字放在编辑器的文件模板中,您就完成了
但要注意,你的difftool会显示每个文件的差异,即使只有修订版号由于分支而发生了变化。 F.E.我使用Eclipse并且他们的difftool不够聪明,无法忽略像关键字这样的特定部分(仍在等待插件来解决这个问题......)。但是过了一段时间你会习惯;-)
在团队中工作时,由于存在差异问题,在冲突发生之前必须就是否使用关键字达成一致。