安装命令
创建项目目录 创建svn仓库
sudo mkdir /home/svn
sudo svnadmin create /home/svn/project
cd /home/svn/
sudo chmod -R 777 project/
执行命令后生成以下文件
设置访问权限
进入config/svnserve.conf,打开anon-access = read,auth-access = write。anon-access无需账户可以read,auth-access验证用户可以write 编辑svnserve.conf文件,把如下两行取消注释
password-db = password
authz-db = authz
启动svn服务器
svnserve -d -r /home/svn
-d 表示svnserver以“守护”进程模式运行
-r 指定文件系统的根位置,这样客户端不用输入全路径,就可以访问版本库
如:svn://192.168.1.3/project
导入项目到svn服务器
在window平台安装svn客户端TortoiseSVN,使用TortoiseSVN中import功能 介绍SVN中tag branch trunk用法时,一向以来用svn只是算作cvs,也从来没有细心看过文档,直到今天用到,才去翻看svnbook文档,忸捏
需求一:
有一个客户想对产品做定制,然则我们并不想批改原有的svn中trunk的代码。
办法:
用svn建树一个新的branches,从这个branche做为一个新的出发点来开辟
svncopysvn://server/trunksvn://server/branches/ep-m"initep"
Tip:
若是你的svn中以前没有branches这个的目次,只有trunk这个,你可以用
svnmkdirbranches新建个目次
需求二:
产品开辟已经根蒂根基完成,并且经由过程很严格的测试,这时辰我们就想公布给客户应用,公布我们的1.0版本
svncopysvn://server/trunksvn://server/tags/release-1.0-m"1.0released"咦,这个和branches有什么差别,如同啥差别也没有?
是的,branches和tags是一样的,都是目次,只是我们不会对这个release-1.0的tag做批改了,不再提交了,若是提交那么就是branches
需求三:
有一天,忽然在trunk下的core中发明一个致命的bug,那么所有的branches必然也一样了,该怎么办?
svn-r148:149mergesvn://server/trunkbranches/ep此中148和149是两次批改的版本号。SVN中tag branch trunk用法介绍完毕
#vi/data/svndata/authz.conf[drug:/]//表示仓库drug根目录sum=rw//用户sum对drug库有读写权限hou=r//用户wyj对drug库有读写权限[/]*=r//这个表示对所有的用户都具有读权限[groups]//这个表示群组设置developers=sum,hou//developers组中的用户
[pro1:/]
@svn1-developers=rw//对这个组有读写权限