我正在创建一个工具来监控SVN中更新的内容(通过Tortoise),然后根据该内容执行操作。
我可以使用post update hook来获取最新的修订版号,但是如果没有新的更新,那么我仍然会看到该版本号。
有没有办法找出上次更新中第一次访问哪些修订?
答案 0 :(得分:1)
我们的更新中有数据库脚本需要针对我们的本地数据库运行。我试图检测更新何时包含在其他地方创建的脚本并运行我们的特殊更新工具。
我建议你看看Jenkins。 Jenkins是一个连续构建系统,旨在每次有人提交代码时执行 build 。 Jenkins在 build 中实际做了什么取决于你。 Jenkins可以在触发时运行几乎任何类型的构建脚本(Makefile,Ant,MSBuild,甚至批处理和shell脚本)。它可以执行预构建操作和后构建操作。它可以在另一个构建完成后触发一个构建。
詹金斯有几十个plugins可以帮助扩展詹金斯。最重要的是,Jenkins可以向您的脚本传递有用的信息,例如触发构建的Subversion修订版号。从那里,您可以解析svn log
的输出以查找已更改的文件的名称,并对其进行适当处理。
Jenkins易于学习且易于安装。您可以在Windows,Mac,Linux,Solaris或几乎任何可以运行Java 1.6的计算机上使用它。在Windows上,安装程序包含Java 1.6运行时,并将自身安装为Windows服务。