svn配置及基本使用

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=svn基本配置和使用

svn软件下载地址
http://subversion.apache.org/packages.html
在安装TortoiseSVN时安装客户端和服务端php

下以svn在windows下使用为例,linux上相似html

一:svn使用
1.建立多个svn仓库
svnadmin create E:/svnServer/web
svnadmin create E:/svnServer/otjava

2.启动仓库服务
svnserve -d(独立端口运行) -r(仓库地址)
svnserve -d -r E:/svnServer/web //启动web仓库服务
svn服务走svn协议,端口号码是3690
E:/svnLocal/hkui>svn co svn://127.0.0.1
svn co --username 用户名 --password 密码 svn://127.0.0.1/weblinux

 

3.使用svn服务
在E:/svnLocal/hkui下新建 a.php
添加到svn仓库:svn add 文件或者目录(多个文件或目录以空格隔开便可)
svn add E:/svnLocal/hkui/a.php
提交到远程仓库
svn ci 文件路径 -m "注释内容" (不想写注释内容就 -m --force-log)
svn commit E:/svnLocal/hkui/a.php -m "第一个文件"
更新
svn update --username 用户名 --password 密码 --force --no-auth-cache 目标目录 (钩子可利用此同步仓库)web

4.开启仓库匿名帐号权限
在操做仓库的conf/svnserve.conf里配置匿名帐号的权限
anon-access = write
无需重启服务便可
日志:db/revprops 下
内容:db/revs 下apache

5.运行多个仓库服务windows

把全部仓库的上级目录当成服务启动起来
更换仓库地址 删除.svn 从新check out
centos

 

6.svn冲突
在不一样地方修改 update下来后合并
在相同的地方修改,调整代码,删除冲突的其它三个文件 再提交便可缓存

7.帐号和权限
一:给具体用户设置权限
在conf/svnserve.conf 中开启
password-db和authz-db = authz
在passwd中添加用户和密码
hkui=hkui123
tom=tom123
在authz里配置相应权限
配置完passwd后必须给相应的用户在authz里配置权限
给指定的仓库帐号设置权限
仓库有种类型设置
1.启动运行多个仓库服务
svnserve -d -r E:/svnServer (svnServer下有web和ot两个仓库)
[web:/] 表示要给多个仓库的web仓库配置访问权限
[ot:/] 固然是在ot仓库的配置文件里配置 权限
2.运行启动单一仓库服务 svnserve -d -r E:/svnServer/web
[/] 表示给单一的仓库设置访问权限
*= 表示其它用户没有操做权限
r只能update rw能update和commit
好比这里是 运行多个仓库服务的
hkui可以读写,tom只能读,其它用户无任何权限
[web:/]
hkui=rw
tom=r
*=
二:给一个组别设置权限
再在passwd中添加
php=php123
js=js123
java=java123
在authz里
[groups]
language=php,js,java #表示同属一个组
[web:/]
hkui=rw
tom=r
@language=rw #表示language组的权限是rw
*=
三:开启只操做某个目录的权限
好比web目录下的Video
1.管理员建立video目录,提交到svn仓库
2.给外部团队设置帐号和设置工做目录,和其分支目录权限
passwd中
[users]
hkui=hkui123
tom=tom123
php=php123
js=js123
java=java123ide

w1=w123
w2=w223
w3=w323
authz中
[groups]
language=php,js,java
w=w1,w2,w3

[web:/]
hkui=rw
tom=r
@language=rw
*=

[web:/video]
@w=rw
*= (若是设置该项 ,只有w组的成员能操做video目录,管理员也不能够)
3.外部团队创建与仓库的联系 (checkout)
svn co svn://127.0.0.1/web/video (只有权限和video联系)
4.外部团队 操做文件并提交到仓库
5.管理员更新便可
四:设置开机启动项服务
sc create svnd binPath= "D:/install/TortoiseSVN/192/bin/svnserve.exe -r E:/svnServer --service" start= auto
删除服务
sc delete svnd
五:查看工做日志
开启帐号并配置权限后注意把svnserve.conf里的
anon-access = write改成anon-access = none而不是注释
修改完记得先清空缓存

钩子

在windows下为post-commit.bat

在Linux下post-commit 记得给可执行权限便可

export LANG=en_US.UTF-8
/usr/bin/svn update --username ybjmobile --password 123456  /alidata/www/mobile

svn update --username 用户名 --password 密码 目标目录

------------------------------------------

在centos下查看svn服务

ps aux|grep svn

[root@localhost web]# ps aux|grep svnroot 3243 0.0 0.0 174512 1012 ? Ss 21:35 0:00 svnserve -d -r /var/www/svn_dbroot 5623 0.0 0.0 103320 864 pts/1 S+ 22:13 0:00 grep svn

相关文章
相关标签/搜索