172173.com

在做版本更新的时候,需要SVN做一些自动化的事情,比如提交前自动更新;提交一些文件后关联着提交另一些。所以需要写一点自动化脚本。

1.什么是svn钩子

官方说法:
钩子是通过版本库事件触发,例如新版本的创建或一个未版本化属性的修改。一些钩子(叫做“pre hooks”)在事件发生前运行,可以用来报告发生了什么以及防止它发生。还有一些钩子(“post hooks”)在版本库事件之后发生,只是用来报告。每个钩子能够获得事件的足够信息,例如提出的(或完成的)版本库修改细节,还有触发事件的用户名。

参考文档《Submin 部署SVN服务器WEB管理端 CentOS7》http://blog.51cto.com/990487026/1974106
官方网站:https://github.com/mjholtkamp/submin
操作系统:CentOS7.6
Subversion:1.8
Apache:2.4
Python:2.7

一、submin介绍

1.介绍

submin - 类似于svnmanager的svn用户与仓库管理的web管理平台,用python2开发的,比svnmanager轻量,部署非常容易,环境只需要python2+apache即可。数据库用sqlit3存储。

https://www.cnblogs.com/gne-hwz/p/8563982.html

svn http访问注意点:

  • 用http://方式访问,要配合apache的svn模块。
  • 用http://方式访问的svn服务端的守护进程不用启动,是通过apache的svn模块来调用svn命令操作svn检入检出的。
  • 访问方式不同,对应账户文件不同:
    • passwd文件 - svn://方式访问 - 使用的是自带的明文账户文件
    • http_users文件 - http://方式访问 - 使用的是apache创建的密文账户文件
  • SVNPathSVNParentPath 的区别
  • 新创建的仓库根目录要记得给apache用户授权
  • 记得添加auth文件里的用户权限及版本库权限

一、SVN介绍

1.什么是SVN

svn(subversion)是版本管理工具,与CVS管理工具一样,SVN是一个跨平台的开源版本控制系统。svn版本管理工具管理着时间改变的各种数据。这些数据放置在一个中央资料档案库(repository)中,这个档案库很像一个普通的文件服务器或者FTP服务器,但是,与其他服务器不同的是,svn会备份并记录每个文件每一次的修改更新变动。这样我们就可以把任意一个时间点的档案恢复到想要的某一个旧的版本,当然也可以直接浏览指定文件的更新历史记录。

svn