简单的SVN提交后挂钩,用于将更改的文件导出到测试服务器

时间:2013-01-19 12:50:08

标签: svn shell post-commit post-commit-hook

使用SVN我正在使用测试服务器上的以下命令手动将存储库的内容导出到测试服务器(通过SSH / Shell登录后):

svn export http://svn.domain.co.uk/project /home/user/public --force

但是我想在post-commit目录下创建一个hooks脚本,它使用相同的svn export命令,但只导出已更改的文件(包括任何删除/重命名/移动) ),否则每次提交都需要很长时间才能更新测试服务器。

Stack Overflow上的其他答案涉及使用 与我相关的svn up命令,因为测试服务器副本 a { {1}}但只是一个导出,或涉及使用外部脚本(Python或Perl),这也不是我正在寻找的。只需一个简单而简单的bash脚本就可以了。)

1 个答案:

答案 0 :(得分:0)

你可以:

  • 在链接问题的答案中使用第3个网址中的答案(或参见version 2)(两者都是Bash)
  • 抓住第一个主机thomasfischer.biz,它将在线(更简单的代码,只导出一个版本,而不是范围,就像来自electrictoolbox的bash)
  • 使用electrictoolbox的代码作为基础,但将svn diff替换为svnlook changed(在输出的后处理中)以更简洁的形式获取单个修订的更改