svn的hooks使用

之前没有太细的玩过svn,我记得之前找到过一种类似于hooks钩子的东西原理是将svn与apache勾搭起来,说白了就是让apache的默认账号作为svn的账号,然后在apache的加载模块中引用svn  具体思路是这样,可是实现就稍微有点蛋疼了.....好吧我承认当时我是放弃了最近留意了一下svn的东东,算是无心插柳吧了解到了hooks钩子这个神奇的东东,然后稍微查看了下愣是解决那个问题(赶
摘要由CSDN通过智能技术生成

之前没有太细的玩过svn,我记得之前找到过一种类似于hooks钩子的东西原理是将svn与apache勾搭起来,说白了就是让apache的默认账号作为svn的账号,然后在apache的加载模块中引用svn  具体思路是这样,可是实现就稍微有点蛋疼了.....好吧我承认当时我是放弃了

最近留意了一下svn的东东,算是无心插柳吧了解到了hooks钩子这个神奇的东东,然后稍微查看了下愣是解决那个问题(赶脚好没面子,有现成的好东西却不会用)。下面我就简单的说一下。

咱们假设一个场景,我开发一些东西放在服务器上,然后布置了svn ,每次更新要提交服务器,可是svn存储的是为2进制的文件,想拿这些文件也没用,所以还需要使用到svn最本质的东西update,在服务器上手动的update一下,服务器就有了,但是如果频繁的提交总不能频繁的update(这个就真的会累死个人了)。所以这里就可以选择让svn“聪明”点,也就是使用到了钩子这个产物(当然如果要是多服务器的话也可以下载第三方软件来监视每台服务器的改动,若有改动则自动update这些就不在这里说了,毕竟这里说的是钩子。钩子。。)

言归正传:首先在apache网站目录下面搞个文件夹就是你的网站根目录文件,然后从svn上面update下来(linux之类的要注意权限!权限!权限!),然后找到svn目录里面的hooks目录。里面的那个post-commit文件就是咱们要搞的文件,搞之前咱们先上下左右的看几眼,它的下面还有个名字和它类似 可是结尾是tmpl的文件,这个其实就是post-commit的模板文件,具体按照这个文件格式去搞就可以,举个例子:

SVN= svn 命令位置         #这里配置的是svn安装bin目录下的svn文件 
WEB=实际的web目录     #要更新的目录 
$SVN update $WEB --username xxx --password xxx (此版本是linux下,windows下是.bat,写法少有不同) 

配置完上边的步骤之后记得一定要给post-commit执行权限(我直接用的全7)

下边整理介绍下上面截图的个文件的意思:

post-commit
在提交完成,成功创建版本之后执行该钩子,提交已经完成,不可更改,因此本脚本的返回值被忽略。

post-lock
对文件进行加锁操作之后执行该脚本
post-revprop-change
在修改 revision 属性之后,执行该脚本。因为修改稿已经完成,不可更改,因此本脚本的返回值被忽略(不过实际上的实现似乎是该脚本的正确执行与否影响属性修改)

post-unlock
对文件进行解锁操作之后执行该脚本
pre-commit
在 Subversion transaction 完毕之后,在提交之前,执行该脚本
pre-lock
对文件进行加锁操作之前执行该脚本
pre-revprop-change
在修改 revision 属性之前,执行该脚本
pre-unlock
对文件进行解锁操作之前执行该脚本
start-commit
在客户端还没有向服务器提交数据之前,即还没有建立 Subversion transaction(缩写为 txn) 之前,执行执行该脚本

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值