架设SVN服务器并自动同步和验证注释

标签: svn 服务器 同步 | 发表时间:2014-04-13 17:38 | 作者:yuxianhua
出处:http://www.iteye.com

搭建SVN服务,有效的管理代码,以下三步可以快速搞定。
1、安装          

yum install subversion
 
判断是否安装成功
svnserve --version
 
有了SVN软件后还需要建立SVN库。
mkdir /opt/svn/repos
svnadmin create /opt/svn/repos
 
执行上面的命令后,自动在repos下建立多个文件, 分别是conf, db,format,hooks, locks, README.txt。

2、配置
     上面的操作很简单,几个命令就搞定, 下面的操作也不难。
     进入上面生成的文件夹conf下,进行配置,   有以下几个文件authz, passwd, svnserve.conf
     其中authz 是权限控制,可以设置哪些用户可以访问哪些目录,   passwd是设置用户和密码的,    svnserve是设置svn相关的操作。


   2.1先设置passwd

[users]
# harry = harryssecret
# sally = sallyssecret
hello=123
用户名=密码

 

这样我们就建立了hello用户, 123密码  

   2.2 再设置权限authz

[/]
hello= rw

 

意思是hello用户对所有的目录有读写权限,当然也可以限定。
如果是自己用,就直接是读写吧。


  2.3最后设定snvserv.conf

anon-access = none # 使非授权用户无法访问
auth-access = write # 使授权用户有写权限
password-db = password
authz-db = authz   # 访问控制文件
realm = /opt/svn/repos # 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字。

 

采用默认配置. 以上语句都必须顶格写, 左侧不能留空格, 否则会出错.

好了,通过以上配置,你的svn就可以了。

3、连接

启动svn: 
svnserve -d -r /opt/svn/repos
 
如果已经有svn在运行,可以换一个端口运行如
svnserve -d -r /opt/svn/repos --listen-port 3391
 这样同一台服务器可以运行多个svnserver

好了,启动成功后,就可以使用了。
建议采用TortoiseSVN, 连接地址为: svn://ip (如果指定端口需要添加端口  :端口号)

连接后可以上传本地的文件,有效的管理你的代码。

4、自动同步到指定目录

我们需要使我门的测试服务器127.0.0.1进行同步更新:
在/opt/svn/repos/hooks/目录下建立post-commit文件

#vi post-commit

内容如下:

 

#!/bin/sh
#设定环境变量,如果没有设定可能会出现update报错
export LANG=zh_CN.GBK   
#设定语言,根据系统语言设置,如果是UTF-8 就设置为 LANG=zh_CN.UTF-8
SVN_PATH=/usr/bin/svn
WEB_PATH=/home/wwwroot/testsvn

$SVN_PATH update svn://127.0.0.1/ $WEB_PATH  --username 用户名 --password 密码 --no-auth-cache

  保存后加权限:chmod +x post-commit

 

5、必须提交注释才可以提交,否则不允许提交

 

#!/bin/sh  
REPOS="$1" 
TXN="$2" 
 
SVNLOOK=/usr/bin/svnlook  
 
LOGMSG=`$SVNLOOK log -t "$TXN" "$REPOS" | grep "[a-zA-Z0-9]" | wc -c`   
 
  if [ "$LOGMSG" -lt 5 ];then 
     echo -e "Log message cann't be empty! you must input more than 5 chars as comment!" 1>&2   
     exit 1    
  fi   
 
exit 0

保存后加权限:chmod +x pre-commit 

 

至此架设了svn服务,至于同步更新至指定服务和必须注释才能提交可以选择性的使用

 

 参考:

http://blog.csdn.net/lpdx111/article/details/17161751

http://ylw6006.blog.51cto.com/470441/522712/



已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [svn 服务器 同步] 推荐:

架设SVN服务器并自动同步和验证注释

- - 操作系统 - ITeye博客
搭建SVN服务,有效的管理代码,以下三步可以快速搞定. 有了SVN软件后还需要建立SVN库. 执行上面的命令后,自动在repos下建立多个文件, 分别是conf, db,format,hooks, locks, README.txt.      上面的操作很简单,几个命令就搞定, 下面的操作也不难.

使用VisualSVN Server搭建SVN服务器

- - CSDN博客推荐文章
使用 VisualSVN Server来实现主要的 SVN功能则要比使用原始的 SVN和 Apache相配合来实现源代码的 SVN管理简单的多,上手也没有那么复杂. VisualSVN Server的下载地址如下,是免费的,随意不必有顾虑. 1使用SVN,首先要安装 TortoiseSVN,就是上面的SVN下载地址.

SVN服务器创建及使用--以文档文件的管理示例

- - CSDN博客推荐文章
 来源: http://blog.csdn.net/kupe87826/article/details/8139908      . 参考: http://wenku.baidu.com/view/ed3e3435ee06eff9aef807ff.html.        我以前管理文档文件都是复制、备份、粘贴的方式,如果文档这方面的工作比较少还好,如果多了就感觉比较费时间.

高速数据同步服务器——Doozer

- Tim - Some reminiscences, some memories
昨天在讨论平台新架构的时候,还在说要搞个配置管理的服务出来,方便接口的管理. 然后今天就看到了这个……人品爆发了吗. 好吧,不扯淡,直接翻译 Doozer 的 README 吧. Doozer 我还没实测,不过感觉,如果真得像 README 上面说得那样,还是很有用,很有用的. 关键——这个玩意提供了 go 的接口.

svn 钩子开启

- - 运维技术的个人空间
背景: 公司的Svn很多人在用,有不少人在作修改后不添加注释,所以需要强制用户填写注释. 重命名svn主目录中hooks的pre-commit.tmpl文件为pre-commit,并添加可执行权限. echo "【注释】$content" 1>&2. echo "【注意】注释不能为空,请重新填写注释!!!" 1>&2.

SVN强制填写日志

- - CSDN博客系统运维推荐文章
在F:\Repositories\版本库名\hooks下新建pre-commit.bat. rem 保证输入8个字符 %SVN_BINDIR%\svnlook log %REPOS% -t %TXN% | findstr "........" > nul if %errorlevel% gtr 0 goto :err_action rem 过滤空格字符 %SVN_BINDIR%\svnlook log %REPOS% -t %TXN% | findstr /ic:".

SVN之使用原则

- - 研发管理 - ITeye博客
以下是我起草的部门SVN规范里原则的一部分. 必须提交注释,注明相关修改信息,例如bug号、任务描述等. 具体内容可采用约定或者设置的形式. 你所提交的改变将体现给其他开发者,要明白提交的后果,. 代码变动及时提交,避免丢失本地修改后无法恢复. 新增加的文件同时被提交,否则只在你本地能正常工作,导致其它人不能编译通过.

SVN:合并一个分支到主干

- - P.Linux Laboratory
本文内容遵从 CC版权协议, 可以随意转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址: http://www.penglixun.com/tech/program/svn_merge_branch_trunk.html. 原文在此,我只是翻译: http://www.sepcot.com/blog/2007/04/SVN-Merge-Branch-Trunk.

[原]强制 code review:reviewboard+svn 的方案

- - 赖勇浩的编程私伙局
赖勇浩( http://laiyonghao.com). 我们团队在开发《天下盛境》项目的时候,制定和执行了比较好的 code review 策略,总结下来有几个优点:一是代码风格可控,代码质量有一定提升;二是新员工入职后能够得到更多人的指导,成长非常快;三是小 bug 频出的情况比我做《天》之前的项目少了至少一个数量组.

SVN提交更新的一个准则

- - BlogJava_首页
查阅了一下网络和博客园,发现还没有一个明确地指导源码管理提交准则的相关文章,因此斗胆整理了一部分自己平时开发管理的心得,加上查阅了部分英文资料写了一个不算很完善的SVN提交准则. 负责而谨慎地提交自己的代码. SVN更新的原则是要随时更新,随时提交. 当完成了一个小功能,能够通过编译并且并且自己测试之后,谨慎地提交.