搭建 svn服务器安装Subversion #apt-get install subversion 新建存储仓库 #mkdir /home/svnrepos #svnadmin create /home/svnrepos/TestProject 修改配置 #cd /home/svnreos/TestProject/conf #vim svnserve.conf 取消下面几行的注释: anon-access = read #匿名用户权限(read,write,none) auth-access = write #认证用户权限(read,write,none) password-db = passwd #用户账户管理(passwd 为文件名称,这里使用了相对路径) #vim passwd 添加svn用户 svnuser = password #指定(用户名 = 密码) 导入项目 假如项目在/opt/TestProject 目录 #svn import –m “My TestProject Imported” /opt/TestProject file:///home/svnrepos/TestProject 提交后提示版本为1 启动SVN服务器 #svnserve –d –r /home/svnrepos –listen-host 172.31.134.100 (Your Ip Addr) 注意:这里svnrepos后边不能有/,新版本的svn需要 把 –listen-host 172.31.134.100 替换成 –listen-port 3690) -d: 在后台运行 -r: 指定svn服务器根目录 –listen-host: 指定监听IP 测试SVN 在其他机器上使用 svn://172.31.134.100/TestProject 用户名:svnuser 密码:password 访问svn服务。

附录 A 开机自动启动svn服务 在 /etc/init.d 目录下谢一个脚本svnd.sh,内容如下: #!/bin/bash /usr/bin/svnserve -d -r /home/svnrepos 然后执行: #update-rc.d svnd.sh defaults #chmod 777 /etc/init.d/svnd.sh

svn ignore

svn propedit svn:ignore 目录名称。注意,在使用这个SVN的属性编辑前,你得确保后面的“目录名称”是SVN版本控制的目录。

设置SVN默认的编辑器 /etc/profile #export SVN_EDITOR=vim

svn propedit svn:ignore /product

此时会出现一个VIM的编辑窗口,表示需要将某个文件加入到忽略列表里

我们在编辑窗口中,写入

test.php

然后保存,并退出VIM编辑器。

这时候会有一个提示:属性 “svn:ignore” 于 “product” 被设为新值。

表示文件test.php的svn:ignore属性设置成功。

然后使用svn st查看,会显示:

M product

我们需要提交,然后这个svn:ignore属性才会起作用

##设置同步脚本## cd /www/svndata/oplinux/hooks/

cp post-commit.tmpl post-commit

编辑post-commit,在文件最后添加以下内容

export LANG=en_US.UTF-8

SVN=/usr/bin/svn

WEB=/www/webroot/

$SVN update $WEB –username rsync –password rsync

chown -R apache:apache $WEB

增加脚本执行权限 chmod +x post-commit 参考1 参考2