让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钩子完成吗?还有另一种更优雅/更好的方法吗? 提前谢谢
答案 0 :(得分:1)
在subversion中只有术语是不可能的,因为subversion提供没有更新后挂钩
所以你会依赖第三方工具(也许你自己的结账脚本?),它应该检查更新的文件并显示这样的信息。
我想指出, TortoiseSVN 支持此类更新后的挂钩(请参阅说明here), 但是你直接依赖于TortoiseSVN(如果你问我的话,还不是很糟糕)但是不能合并其他的subversion客户端(命令行或基于IDE的工具)。此外,您需要在每个客户端上“部署”这些客户端挂钩(如名称所示)。
答案 1 :(得分:0)
据我所知,你要求的东西无法按照你期望的方式完成。作为一种解决方法,您可以在提交期间验证dB架构更改并设置自定义属性(例如svn:isdbchanged),该属性将包含db架构更改的修订版。稍后在构建期间,您可以在验证在更新特定修订版之前是否执行了上一次构建之后,从构建脚本中显示该属性。