比如我的svn目录是/svn,在/svn目录里,我有xinghuame、taizhoume等项目,我现在想新建一个项目xiuxiuwu
先用mkdir建立版本库目录xiuxiuwu
建立svn版本库
- svnadmin create /svn/xiuxiuwu
这样在目录下会自动生成版本库所需要的目录
修改/svn/xiuxiuwu/conf/svnserve.conf
找到
- anon-access = none
- auth-access = write
- password-db = passwd
把前面的#号去掉,并把值修改正确,注意,每行的前面不能留空格,不然会报错的。
/svn/xiuxiuwu/conf/authz这个文件不需要修改
修改/svn/xiuxiuwu/conf/passwd
加入用户名和密码,按照原先的格式
启动svn
注意,/svn后不要带具体项目名,不然只启动了那一个项目。
如何让svn上传好后,自动把文件传到nginx或apache的项目目录里?
打开
- /svn/xiuxiuwu/hooks/post-commit.tmpl
文件末尾加上
- export LANG=en_US.UTF-8
- SVN=/usr/bin/svn
- WEB=/alidata/www/xiuxiuwu.com
- $SVN update $WEB –username xiuxiuwu –password 123456
- #chown -R apache:apache $WEB
- chmod -R 777 /alidata/www/chushui.net/html
注意:最后一行是权限命令,我去掉了。
我的web目录是/alidata/www/xiuxiuwu.com
- cd /alidata/www/xiuxiuwu.com
执行svn co命令
- svn co svn://110.76.46.82/xiuxiuwu ./
然后会让你输入服务器账号密码。
svn重启- killall svnserve
- svnserve -d -r /svn
要是svn提交出现
post-commit hook failed (exit code 255) with no output.
设置一下权限
- chmod +x /svn/xiuxiuwu/hooks/post-commit