SVN钩子使用方法详解

Subversion钩子(hooks)  
关于subversion服务器端钩子的介绍:  
我们经常提到的svn hooks(钩子)是一组“外挂”脚本程序, 是svn提供的一组由svn事件触发的特别有用的程序。 这些程序在服务器端执行,可以提供svn之外的一些附加功能。  钩子可以调用批处理文件、可执行文件或者一些类似于perl、python等的脚本。
svn服务端有9种钩子,
分别是:
A. 关于锁定的2种  
   a1. pre-lock
   a2. post-lock
B. 关于解锁的2种  
   b1. pre-unlock
   b2. post-unlock
C. 关于提交的3种  
   c1. start-commit
   c2. pre-commit
   c3. post-commit
D. 关于属性的2种  
   d1. pre-revprop-change
   d2. post-revprop-change  
在Svn的仓库目录D:\svn\hooks下面,默认有9种钩子的模板文件: 

这些钩子模板文件的后缀是tmpl,文件内容可以用一般的文本编辑器进行修改。 如果我们在window2003的svn服务端要实现某种的钩子, 只要修改对应的钩子模板文件内容,加入自己的代码,  然后将文件另存为同名但后缀为bat的可执行批处理文件即可。

 
在本文中,我们主要介绍两个最常用的钩子及应用: 
利用pre-commit钩子实现svn提交日志说明不能为空,至少10个字符
利用post-commit钩子实现svn提交修改代码实时同步到web服务器 
 
1. 利用pre-commit钩子实现svn提交日志长短检查 
避免开发人员对于提交的更改不添加任何说明或注释, 
要求开发人员对于每一次的提交修改都要作出必要的说明或注释, 说明或注释的文字不能少于10个字符。  
在Svn的仓库目录D:\svn\hooks下面创建钩子文件:pre-commit.bat 文件内容如下所示: 



 
在本文中,我们主要介绍两个最常用的钩子及应用: 
 利用pre-commit钩子实现svn提交日志说明不能为空,至少10个字符  利用post-commit钩子实现svn提交修改代码实时同步到web服务器 
 
1. 利用pre-commit钩子实现svn提交日志长短检查 
避免开发人员对于提交的更改不添加任何说明或注释, 
要求开发人员对于每一次的提交修改都要作出必要的说明或注释, 说明或注释的文字不能少于10个字符。  
在Svn的仓库目录D:\svn\hooks下面创建钩子文件:pre-commit.bat 文件内容如下所示: 
 
 
2. 利用post-commit钩子实现svn提交修改代码实时同步到web服务器 
对于一般的中小型开发团队,很多时候, 
既在window2003中搭建有web测试服务器,用于开发演示及功能测试, 又在其上建立svn代码仓库,用于开发小组的代码维护及开发。  
在这种情况下,我们会希望 —— 
如果开发人员在svn中提交或更新了新的代码, 
svn的服务端能够实时将更新后的内容同步到web环境中, ok,这个实现很简单!

假定我们web测试服务器的代码目录为D:\www 
首先我们需要用svn对web的D:\www目录checkout初始化一次:

在Svn的仓库目录D:\svn\hooks下面创建钩子文件:post-commit.bat

文件内容如下所示:

1
2
3
4
5
@ echo off
SET REPOS= "%1"
SET TXN= "%2"
 
"C:\Program Files\Subversion\bin\svn.exe" update "D:\www" --quiet --username www --password wwwpassword


阅读终点,创作起航,您可以撰写心得或摘录文章要点写篇博文。去创作
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
SVN是一个版本控制工具,可以帮助团队协作开发,管理代码版本。下面是SVN使用教程的图文详解。 1. 安装SVN 首先,需要下载并安装SVN客户端,可以在官网上下载对应操作系统的版本。安装完成后,打开命令行窗口,输入“svn”命令,如果能够看到SVN的相关信息,则说明安装成功。 2. 创建SVN仓库 SVN仓库是用来存储代码版本的地方,可以在本地或服务器上创建。在本地创建SVN仓库,可以使用以下命令: ``` svnadmin create /path/to/repository ``` 3. 添加代码到SVN仓库 将代码添加到SVN仓库需要使用SVN客户端的add命令。假设代码存储在“/path/to/code”目录下,可以使用以下命令将其添加到SVN仓库: ``` svn add /path/to/code ``` 4. 提交代码到SVN仓库 添加完代码后,需要使用SVN客户端的commit命令将其提交到SVN仓库。具体命令如下: ``` svn commit -m "提交信息" /path/to/code ``` 其中,“提交信息”是对本次提交的描述,可以是任意字符串。 5. 更新代码 如果其他开发者已经修改了SVN仓库中的代码,本地的代码就会过期。此时需要使用SVN客户端的update命令更新代码。具体命令如下: ``` svn update /path/to/code ``` 6. 查看SVN日志 使用SVN客户端的log命令可以查看SVN仓库中的日志信息。具体命令如下: ``` svn log /path/to/code ``` 7. 撤销修改 如果对代码进行了修改,但是不想提交,可以使用SVN客户端的revert命令恢复到修改前的状态。具体命令如下: ``` svn revert /path/to/code ``` 以上就是SVN使用教程的图文详解,希望能够帮助您更好地使用SVN进行版本控制。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值