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

Java 如何通知其他团队成员重要的项目变更(使用SVN或Ant)?,java,svn,ant,project-management,Java,Svn,Ant,Project Management,如果对项目结构进行了重大更改,而简单的源代码签出无法将其删除,则项目中有“changes.txt”文件,其中描述了需要执行的额外操作: 2010年10月10日:新建表格字段,运行以下查询: 2010年11月10日:库X被库Y替换,复制到tomcat文件夹 这样可以完成工作,但人们往往忘记检查此文件,并花时间找出它不起作用的原因 我们的项目使用Java,我们使用Ant进行构建,使用SVN进行源代码版本控制 我相信一定有更好的解决办法。我不是在寻找一些新奇和高级的东西,在SVN签出期间发送一条大的红

如果对项目结构进行了重大更改,而简单的源代码签出无法将其删除,则项目中有“changes.txt”文件,其中描述了需要执行的额外操作:

2010年10月10日:新建表格字段,运行以下查询:

2010年11月10日:库X被库Y替换,复制到tomcat文件夹

这样可以完成工作,但人们往往忘记检查此文件,并花时间找出它不起作用的原因

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

我相信一定有更好的解决办法。我不是在寻找一些新奇和高级的东西,在SVN签出期间发送一条大的红色消息或者在Ant构建期间发送一些消息将是完美的


(请注意,自动应用更改不是一个选项,某些指令只有人工才能执行)

在适当的位置将其添加到ant构建文件中(可能是最后一个构建相关的任务,以便人们无需向上滚动即可看到它):


${changes}

老实说,在我工作的地方,大量的电子邮件似乎起到了作用


编辑:这并不意味着你不应该更新
changes.txt

听起来你的团队成员有各自的沙盒。为了知道他们的装备是否已经过时,您需要知道哪些更新已经应用到他们的沙箱中(因此哪些还没有应用)

查看您提到的更改,您确实需要在生成之前将更改应用到沙箱中——否则,失败模式将是不可预测的,并且可能非常神秘

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

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


我敦促您尽可能多地编写更改脚本,即使是手动运行更新脚本。

这样可以打印完整文件吗?如果该文件只包含1个最新的更改,但它包含过去几年的所有更改,则该文件可以正常工作。@serg如果文件底部有最新的更改,则很容易读取到当前日期。
<loadfile property="changes" srcFile="changes.txt"/>
<echo>${changes}</echo>