如何通知其他团队成员重要的项目变更(使用SVN或Ant)?

时间:2010-11-05 02:34:03

标签: java svn ant project-management

如果对项目结构进行了重大更改,并且简单的源检查不会削减它,我们在项目中有“changes.txt”文件,描述了需要采取的额外操作:

  

10/10/2010:新表格字段,运行以下查询:.....

     

10/11/2010:库X被库Y替换,将其复制到tomcat文件夹

这可以完成工作,但通常人们忘记检查此文件并花时间弄清楚它为什么不起作用。

我们的项目是Java,我们使用Ant进行构建,使用SVN进行源版本控制。

我相信一定有更好的解决方案。我不是在寻找花哨和高级的东西,在SVN结账时发出大红色消息,或者在Ant构建过程中发出一些消息是完美的。

(PS。自动进行更改不是一种选择,只有人类应该执行一些指令)

3 个答案:

答案 0 :(得分:3)

听起来你的团队成员有个人沙箱。为了了解他们的装备是否与项目相关,您需要知道哪些更新已应用于其沙箱中(因此尚未应用哪些更新)。

查看您提到的更改,您确实需要在构建发生之前应用于沙箱的更改 - 否则失败模式将无法预测,并且可能非常神秘。

也许你可以添加一个Ant目标,你的构建将依赖它,它将检查沙箱是否是最新的,如果没有则快速失败。

为了确定沙箱是否是最新的,您需要在其中存储某种版本号,只有在团队成员使其更新时才会更新。当你提到一个数据库时,如何在那里有一个简单的表,它只存储一个代表沙盒状态的数字。您的新Ant目标将使用sql task获取沙箱修订号,并将其与源树中的一个进行比较(如果数据库路由太多,您可以使用非源控制的文件来保存沙箱版本如果它们不同,你可以回复一条消息,说“你的沙箱需要约会,查看更改文件并应用比${sandbox.date}更新的更改”。一旦沙箱被更新,开发人员将需要手动更新数据库表中的记录,以使构建工作。

我建议您尽可能多地编写脚本 - 即使手动运行更新脚本。

答案 1 :(得分:2)

在适当的时候将它添加到你的ant构建文件中(可能是最后一个与构建相关的任务,这样人们就可以看到它而不必向上滚动):

<loadfile property="changes" srcFile="changes.txt"/>
<echo>${changes}</echo>

答案 2 :(得分:2)

老实说,群发电子邮件似乎可以解决我的工作问题。

编辑:这并不意味着您不应该changes.txt保持最新状态。