网站首页 文章专栏 svn安装与运用
yum install subversion
可以查看svn的版本信息。
svnserve --version
2.新建SVN目录 svnadmin create /data/first //创建一个svn版本仓库first(first可以随便起名字)
3.修改配置文件。
文件地址:/data/first/conf/
目录里面会有3个文件:authz、passwd、svnserve.conf
下面我们逐个的修改配置文件:
1)、authz文件的修改。
1)、设置用户组
[groups]
harry_and_sally = username,xiaoming
2)、设置用户组的权限
[/]
username=rw
xiaoming=r
2)、passwd文件的修改。
[users]
username = passwd
xiaoming = passwd2
3)、svnserve.conf文件的修改。
注意:去除前面的#号的同时,也要把空格去掉,顶行。
anon-access = none // 将read 改为 none
auth-access = write
password-db = passwd
authz-db = authz
realm = first // first是我的版本控制库的文件夹名
4.重新启动svn服务。
svnserve -d -r /data/first/(或者systemctl restart svnerve)
5.这个时候我们去本地检出svn版本控制,可能会出现这样的错误。
invalid authz configuration svn
因为我们在上面加入了username和xiaoming的两个用户。但是,这两个用户之前并没有创建。
解决方法:
我们在系统中新建gaomeng和xiaoming这两个用户即可。
新建代码实例:
adduser xiaoming
passwd xiaoming
查看是否新建成功:
groups xiaoming
6.新建完毕之后,再重新的启动一下,看看本地是不是可以检出了。这里就大功告成。
1. 检出地址:svn://你的服务器IP:3690
钩子
post-commit,执行vim post-commit 内容如下
REPOS="$1"
REV="$2"
export.UTF-8
WEB_PATH=/data/web/
SVN__PATH=/data/first/
svn update $WEB_PATH --username "username" --password "password" --no-auth-cache >> /data/logs/logs.log # 写日志是个好习惯
echo "REPOS:"$REPOS";REV"$REV"... at `date "+%Y-%m-%d %H:%M"`" >> /data/logs/svn/logs.log # 写日志是个好习惯
接着
chmod +x post-commit
7.到/data/web下checkout项目 项目目录
svn checkout svn://127.0.0.1/first/
svn 常见报错
# svn up 命令
Updating ‘.‘:
Skipped ‘index.html‘ -- Node remains in conflict 错误提示
At revision 34.
Summary of conflicts:
Skipped paths: 1
解决方法如下:
svn remove --force index.html
svn resolve --accept=working index.html
svn up
转载请注明出处