Subversion在更新时向客户端显示自定义消息

时间:2010-11-07 04:10:22

标签: svn hook message

让svn存储库在许多用户之间共享。让svn存储库用于存储数据库创建脚本和一些其他非代码对象的版本。有没有办法在更新时显示自定义消息(即:可以从文件中读取)? 例如:
我正在研究$ project
我更改了封装数据库查询的类,以便我也在数据库表中添加单个属性 - >我需要更改测试数据库创建脚本,使其包含新值
我通过写入来修改文件post-update-msg(我想,通过更新后的svn挂钩):

  

警告:some_db_script已更改,您需要再次生成测试数据库

和每个客户,执行

  

svn update

命令,得到类似的东西:

  

user @ box:〜/ code / svn-working-copy $ svn update
  你还有很多其他东西   U scripts / some_db_script
  已更新至修订版n + 1
  警告:some_db_script已更改,您需要再次生成测试数据库   用户@盒:〜/代码/ SVN-工作拷贝$

可以通过svn钩子完成吗?还有另一种更优雅/更好的方法吗? 提前谢谢

2 个答案:

答案 0 :(得分:1)

在subversion中只有术语是不可能的,因为subversion提供没有更新后挂钩

所以你会依赖第三方工具(也许你自己的结账脚本?),它应该检查更新的文件并显示这样的信息。

我想指出, TortoiseSVN 支持此类更新后的挂钩(请参阅说明here), 但是你直接依赖于TortoiseSVN(如果你问我的话,还不是很糟糕)但是不能合并其他的subversion客户端(命令行或基于IDE的工具)。此外,您需要在每个客户端上“部署”这些客户端挂钩(如名称所示)。

答案 1 :(得分:0)

据我所知,你要求的东西无法按照你期望的方式完成。作为一种解决方法,您可以在提交期间验证dB架构更改并设置自定义属性(例如svn:isdbchanged),该属性将包含db架构更改的修订版。稍后在构建期间,您可以在验证在更新特定修订版之前是否执行了上一次构建之后,从构建脚本中显示该属性。