如何启动subversion 多仓库仓库

svn建立版本仓库_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
svn建立版本仓库
上传于||暂无简介
你可能喜欢Linux中Subversion配置实例_服务器应用_Linux公社-Linux系统门户网站
你好,游客
Linux中Subversion配置实例
来源:Linux社区&
作者:kunshan_shenbin
  一.安装
  yum install subversion
  二.配置
  本系统采用为每个项目单独建一版本库的策略。配置文件,密码文件,访问控制文件等都放在版本库的conf目录下。
  所以每次开始一个新项目都必须新建一个版本库,并重新配置各配置文件。还有很重要的一条,要求各组员重新配置客户端,包括服务器版本库路径,本地路径等信息。
  1. 建立版本库目录(可建立多个,新建库后以下各项都需重新配置。注意区别安装目录与版本库目录,以下讲的都是版本库目录)
  mkdir –p /home/svn/repos
  #类似可以创建 mkdir –p /home/svn/repos2 /home/svn/repos3
  2. 建立svn版本库(与上面目录对应)
  svnadmin create /home/svn/repos
  执行此命令后svn自动在repos目录下添加必须的配置文件.
  注意:版本库不同于一般的文件夹, 直接在操作系统上新建文件无法被SVN识别, 必须使用import等命令将文件导入版本库.
  此为svn内部指令,create用于新建版本库。请使用svn help查看详细说明。
  3. 修改版本库配置文件
  vi /home/svn/repos/conf/svnserve.conf
  各参数功能在配置文件的注释中有说明, 此处配置如下:
  [general]
  anon-access = none # 使非授权用户无法访问
  auth-access = write # 使授权用户有写权限
  password-db = passwd # 指明密码文件路径
  authz-db = authz # 访问控制文件
  realm = /home/svn/repos # 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字。
  其它采用默认配置. 各语句都必须顶格写, 左侧不能留空格, 否则会出错.
  4. 配置用户
  vi /home/svn/repos/conf/passwd
  输入以下内容:
  [users]
  username1 = password1
  username2 = password2
  可以添加多个,此为用户名密码对。
  5. 配置权限
  vi /home/svn/repos/conf/authz
  此配置文件设置各用户的授权。
  包括只读r,读写rw。没有列出的用户,则不允许访问。还可以对用户分组,具体请参考svn手册,以下是简单例子:
  #对仓库repos根目录权限设置
  [repos:/]
  user1 = rw
  user2 = r
  6. 使用import导入文件
  新建好的版本库是空的,需要导入工作目录。
  //这条语句将把路径/home/user/code下找到的文件导入到你创建的 Subversion 仓库中去
  svn import /home/code/
-m “注释”
  三.启动服务
  svnserve -d -r /home/svn/
  svn checkout svn://ip/repos
  输入用户名密码即可
相关资讯 & & &
& (07月18日)
& (12/16/:43)
& (08/28/:14)
& (04月17日)
& (09/24/:27)
& (08/06/:28)
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款5251人阅读
android(综合)(124)
每个程序员都知道代码的管理是的重要性,如果一不小心把自己辛苦写了很久的代码搞丢了,那估计把电脑砸了想法都有了。我之前就干过这样的事情,调试了2天的代码,Copy来Copy去,最后竟然把最新的代码给覆盖了,苍天啊,当时真的想把电脑砸了。
那时候,项目进度很急,发生这样的事情,心理很窝火又不敢告诉老板让他给我延期。我知道告诉他肯定没有好果子吃。毕竟他经常在我们耳边唠叨要及时把代码checkin到公司的sourcesafe上面。
说起SourceSafe,我以前所在公司是强制要求的使用,每周要求必须CheckIn几次,否则会找你谈话或扣钱。其实我们这些程序员也很想使用版本控制软件来管理自己的代码,毕竟安全很多。但是我们就是不喜欢用SourceSafe。离开公司之后,SourceSafe就没有再怎么用了。我没有仔细研究过SourceSafe的各种优缺点,但就是感觉不方便,不喜欢。
后来再次想启用版本控制,在网上搜了一下,CVS好像是用的最多的。自己也下来试了一下,搞了很久,感觉实在是不习惯,放弃。直到最后看到SubVersion和TortoiseSVN,看介绍好像很不错,网上评价也很好,于是决定试一下。测试的感觉真的很不错,TortoiseSVN和资源管理器集成,使用方便,于是就正式启动了SubVersion + TortoiseSVN作为我的版本控制系统了。
最近系统从XP换了2003,要重新安装SVN,当时怎么装的都不记得了,在网上搜了好一会儿才搞定,于是决定把安装过程记录下来,以便以后容易找。
1. 简单说明
Windows下最方便的SVN组合应该就是SubVersion + TrotoiseSVN + SVNService 了。
SubVersion是后台服务。
TrotoiseSVN是进行可视化操作的前台,和资源管理是集成在一起的。
SVNService是一个把SubVersion转换成Windows服务方式运行的软件,有了这个东西,你就不用老是开着一个命令行窗口运行SubVersion的后台了。不过据说1.4版以后的SubVersion好像可以直接设置为Windows服务模式,这样就不需要这个软件了。我之前一直用它,也懒得去研究新的东东,还是继续用它做服务好了。
2. 各个软件的下载地址
SubVersion:http://subversion.tigris.org/
TortoiseSVN:http://tortoisesvn.tigris.org/ 中文语言包,需单独下载。
SVNService: 这个文件比较小,而且也不会怎么更新,就直接放在这里吧。
[1] SubVersion
按照默认安装,不停next就可以了。
[2] TortoiseSVN
好像也没有什么要设置的,默认安装。由于和资源管理器集成的,所以装后要重启。
[3] SVNService
把那个SVNService.exe拷贝到SubVersion安装目录的bin目录里面,使用方法后面介绍。
[1] 创建仓库,也就是创建一个保存你的代码历史的目录,有两种方法来:
使用SubVersion的命令:进入命令行,CD到SubVersion/bin目录,运行命令:svnadmin create D:/repository 。其中红色部分是要创建的仓库目录名,根据你的要求自己修改。
使用TortoiseSVN的命令:自己新建一个目录,在上面点击右键,TortoiseSVN-&Create Repository-&OK,仓库建好了。
[2] 仓库说明:
打开刚刚建立的仓库目录,你会发现里面有几个目录:
dav目录是提供给Apache与mod_dav_svn使用的目录,让它们存储内部数据,我之前使用的版本没有这个目录
db目录就是所有版本控制的数据文件
hooks目录放置hook脚本文件的目录
locks用来放置Subversion文件库锁定数据的目录,用来追踪存取文件库的客户端
format文件是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号
conf目录是这个仓库的配置文件
[3] 创建密码:
进入conf目录,你会看到三个文件:authz、passwd和svnserve.conf,这些文件就是用来管理svn的登录名和相应的用户分组、密码、权限等功能。以下分别是三个文件的配置方法。
对svnserve.conf文件作如下修改,找到以下三行:#anon-access = read#auth-access = write#password-db = passwd将这三行前的&#&号去掉!
打开passwd文件:在[users]下面增加用户名,例如:mark123 = 45678 (前面是用户名,后面是密码)
关于authz文件,主要是做复杂的群组权限控制,我是单机个人使用,不用设置,只要上面passwd的用户名和密码就可以了
5. 将SVN作为服务运行
如果不把SVN做为service运行,那你每次都要手动启动,并且总是有个命令行的黑窗口在那里。如果你关闭了命令行窗口,那SubVersion也就停止运行了。所以如果你想Windows启动后SVN自动运行,就把它设置为服务把,下面是操作步骤。
从命令行进入到SubVersion/bin目录,依次运行以下命令:
svnservice -install &daemon &root "D:/repository"
sc config svnservice start= auto (特别注意,start后面必须紧跟=,不能有空格,这个问题浪费了几分钟的时间)
net start svnservice
查看Windows的服务,SVNService已经启动,而且是自动运行的服务了。
6. 测试运行
在任意目录,右键TortioseSVN-&Repo broswer-&URL输入:svn://localhost
如果出现密码提示,那就输入上面设置的用户名和密码。如果在Repository Broswer能看到svn://localhost,那就说明安装成功,大功告成了。
7. 建多个仓库
使用上面的方法只创建了一个仓库,把所有程序都放入一个仓库看起来有点混乱,我喜欢按照项目给每个项目建立一个仓库,同一个项目的代码组件放入同一个仓库,这样看起来就清爽很多。
下面介绍一下我的做法:
建多个仓库:
[1] 新建一个放置项目仓库的目录,比如D:/SVN。只是个目录,不要在这个目录创建仓库。
[2] 创建项目1的仓库:svnadmin create D:/SVN/Project1
[3] 创建项目2的仓库:svnadmin create D:/SVN/Project2
[4] 依次类推,把每个项目的仓库建立在D:/SVN目录里面就OK了。
使用多个仓库:
[1] 使用 svnserve -d -r "D:/SVN" 启动
[2] 如果你还是按照svn://localhost访问仓库就会发现仓库是空的。
[3] 要访问你的项目仓库,只要在URL后面加上仓库目录名就可以了,比如可以通过svn://localhost/Project1来访问项目1的仓库,里面放置的都是项目1相关的代码。用同样的方法就可以把项目仓库分开访问了,是不是整洁清爽不少啊!
建多个仓库:
在server端,新建一个目录用来存放所有的仓库。比如c:/svnrepos。然后在这个目录下建立每个项目独立的仓库。svnadmin create "c:/svnrepos/rolex"svnadmin create "c:/svnrepos/omega"
使用 svnserve -d -r "c:/svnrepos" 启动。这样你的项目的url是:svn://IP/rolexsvn://IP/omega
在客户端新建一个目录,作为import的内容,比如c:/svnimport/rolex,然后在里面建立branches,tags,trunk子目录,把你需要源代码管理的项目放入trunk目录,注意删除垃圾文件。在c:/svnimport/rolex上点击Import...,选择url为 svn://IP/rolex,导入。你可以使用仓库浏览器查看导入的效果。
[3] 由于每个仓库的独立的,记得给每个仓库配置用户和密码哦。
8. 附上我的过滤列表,这些类型的文件不纳入版本管理:
Debug DebugUnicode DebugStatic Release ReleaseUnicode ReleaseStatic vssver.scc mssccprj.scc _private _vti_cnf _vti_pvt *.pch *.bak *.???~ *.obj Thumbs.db
9. 设置开机自动windows启动服务
Subversion 从1.4版本开始,可以以windows系统服务的形式在开机时自动运行。但Subversion安装程序还不能把自己安装成windows服务,需要我们自己进行手动安装,方法如下:打开一个DOS命令窗口,执行如下命令:
sc create svnserve binPath= "/"C:/Program Files/Subversion/bin/svnserve.exe/" --service --root e:/svn" displayname= "Subversion Repository" depend= Tcpip start= auto   
其中,sc是windows自带的服务配置程序,参数binPath表示svnserve可执行文件的安装路径,由于路径中的"Program Files"带有空格,因此整个路径需要用双引号引起来。而双引号本身是个特殊字符,需要进行转移,因此在路径前后的两个双引号都需要写成/"
--service参数表示以windows服务的形式运行,--root指明svn repository的位置,service参数与root参数都作为binPath的一部分,因此与svnserve.exe的路径一起被包含在一对双引号当中,而这对双引号不需要进行转义。
displayname表示在windows服务列表中显示的名字, depend =Tcpip 表示svnserve服务的运行需要tcpip服务,start=auto表示开机后自动运行。
安装服务后,svnserve要等下次开机时才会自动运行。
若要卸载svn服务,则执行 sc delete svnserve 即可
总结:SubVersion是一个很优秀的版本控制软件,功能性,易用性都很不错,现在也已经有不少CVS的项目转换到SubVersion了。这个好东西希望每个程序员都不要错过,不要等文章开始一幕的悲剧发生的时候才后悔。SubVersion的功能是很强大的,我这里只是介绍了最简单一种的安装使用方法。如果以后项目做大了,需要多人合作,甚至通过Internet合作开发,那就需要做一些高级的配置了。同时SubVersion具体的使用我也没有提及,主要是自己也没什么了解,平时就只作几个简单的Check out、Commit几个命令。以后用到高级命令的时候我会再整理一篇关于使用方法的文章。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:4848311次
积分:38215
积分:38215
排名:第78名
原创:274篇
转载:195篇
译文:20篇
评论:1876条
android 开发交流
济南移动互联网:
文章:10篇
阅读:388440
文章:18篇
阅读:539711
阅读:105210
文章:11篇
阅读:133369
文章:13篇
阅读:247661
文章:59篇
阅读:1548182
(1)(1)(2)(2)(1)(2)(4)(2)(3)(1)(2)(6)(1)(6)(5)(11)(3)(1)(7)(7)(7)(4)(5)(1)(1)(5)(1)(10)(11)(7)(5)(1)(2)(1)(8)(4)(4)(8)(23)(23)(1)(1)(1)(3)(9)(15)(34)(11)(5)(3)(3)(1)(5)(2)(5)(14)(23)(22)(25)(46)(7)(9)(30)(8)(1)(5)(1)ubuntu下安装和配置SVN的详细方法介绍
作者:佚名
字体:[ ] 来源:互联网 时间:06-28 16:55:50
这篇文章主要介绍了ubuntu系统下安装和配置SVN的方法,需要的朋友可以参考下
ubuntu安装和配置SVN
第一步:安装apache2& libapache2-svn subversion
代码如下:sudo apt-get install apache2sudo apt-get install subversionsudo apt-get install libapache2-svn
安装完后按照提示
代码如下:Run '/etc/init.d/apache2 restart' to activate new configuration!
重启apache2
第二步:创建SVN库和项目
代码如下:sudo mkdir /home/svn
//创建SVN库sudo svnadmin create /home/svn/project
//创建项目
第三步:创建组并添加成员
sudo addgroup subversion&&&& //创建一个叫subversion的组为拥有仓库所在的目录系统提示:正在添加组&subversion& (GID 1001)...完成。sudo& usermod -G subversion -a www-data&& //将自己和&www-data&(Apache 用户)加入组成员中&&& 查看:more /etc/group | grep subversion系统提示:subversion:x:1001:www-data
第四步:修改项目权限
sudo chown -R root:subversion /home/svn/projectsudo chmod -R g+rws /home/svn/project&& //赋予组成员对所有新加入文件仓库的文件拥有相应的权限查看txn-current-lock文件的权限和用户以及组信息&ls -l /home/svn/myproject/db/txn-current-lock系统提示:-rw-rwSr-- 1 root subversion 0
17:47& /home/svn/project/db/txn-current-lock
第五步:通过命令访问库
sudo svn co file://lodalhost/home/svn/project&& //第一种方法,知道主机名时用sudo svn co file:///home/svn/project&&& //第二种方法,当不确定主机命时用,这用的是file:///,三个斜杠系统提示:取出版本 0。己可以取出版本,说明SVN服务器己正常运行,下面试从webdav访问
第六步:配置apache2
修改 /etc/apache2/mods-available/dav_svn.confsudo vim /etc/apache2/mods-available/dav_svn.conf加入以下代码:================================&Location /svn/project&DAV svnSVNPath /home/svn/myprojectAuthType BasicAuthName &project subversion repository&AuthUserFile /etc/subversion/passwd&LimitExcept GET PROPFIND OPTIONS REPORT&Require valid-user&/LimitExcept&&/Location&
如果需要用户每次登录时都进行用户密码验证,就将&LimitExcept GET PROPFIND OPTIONS REPORT&与&/LimitExcept&两行注释掉&&& 加入代码后重启apache2
第七步:建立/etc/subversion/passwd文件,这个文件里包含了用户授权的详细信息
添加用户sudo htpasswd -c /etc/subversion/passwd [user_name]&&&&&&&&&&&&&&& //第一次添加用户使用参数&-c&以后再添加就不用了访问文件仓库&svn co http://hostname/svn/project project --username [username]OK!这次通过web页面访问到版本库了,下面试一下导入版本库导入版本库把/var/www/下的内容导入版本号中:sudo svn& import -m &第一次导入&& /var/www http://192.168.0.5/svn/project========================================系统提示:认证领域: &http://192.168.0.5:80& myproject subversion repository&root&的密码: 认证领域: &http://192.168.0.5:80& myproject subversion repository用户名: test&test&的密码: 增加&&&&&&&&&& /var/www/index.html-----------------------------------------------------------------------注意!& 你的密码,对于认证域:&& &http://192.168.0.5:80& myproject subversion repository只能明文保存在磁盘上!& 如果可能的话,请考虑配置你的系统,让 Subversion可以保存加密后的密码。请参阅文档以获得详细信息。你可以通过在&/home/icedot/.subversion/servers&中设置选项&store-plaintext-passwords&为&yes&或&no&,来避免再次出现此警告。-----------------------------------------------------------------------保存未加密的密码(yes/no)? 请输入 'yes' 或 'no': yes提交后的版本为 1。==========================================最后在windows下通过TortoiseSVN及web页面访问,成功。==========================================试验过程中曾经出现过的错误 检出版本库报错:sudo svn co http://192.168.0.5/home/svn/project svn: 方法 OPTIONS 失败于 &http://192.168.0.5/home/svn/myproject&: 200 OK (http://192.168.0.5)这个报错在网上查了很久,没什么可借鉴的资料,模糊的觉的可能是说用户名和权限不对,以待后面确认sudo svn co file://localhost/home/svn/projectsvn: 无法为URL打开ra_local会话svn: 无法打开版本库&file://localhost/home/svn/projcet&
1. 安装SVN
代码如下:  apt-get install subversion
2. 建立svn仓库
  1). 建立svn目录:mkdir /home/.svn(使用隐藏目录)  2). cd /home/.svn&&&   3). mkdir astar  4). 创建仓库astar:svnadmin create /home/.svn/astar,执行完毕后astar目录有svnadmin创建的目录和文件  5). mkdir test  6). 创建仓库test:svnadmin create /home/.svn/test,执行完毕后test目录有svnadmin创建的目录和文件
3. 配置和管理svn
  1). 每个仓库的配置文件在$repos/conf/下,vi svnserve.conf,配置项在[general]下:    anon-access:匿名用户的权限,可以为read,write和none,默认值read。不允许匿名用户访问:anon-access = none    auth-access:认证用户的权限,可以为read,write和none,默认值write。    password-db:密码数据库的路径,去掉前边的#    authz-db:认证规则库的路径,去掉前边的#。    注意:这些配置项的行都要顶格,否则会报错。修改配置后需要重启svn才能生效。  2). 配置passwd文件    这是每个用户的密码文件,比较简单,就是&用户名=密码&,采用的是明码。如allen=111111  3). 配置authz文件    1. [groups] section:为了便于管理,可以将一些用户放到一个组里边,比如:owner=allen,ellen    2. groups下边的sections表示对一个目录的认证规则,比如对根目录的认证规则的section为[/]。设置单用户的认证规则时一个用户一行,如:      [/]&&&       allen=rw  #allen对根目录的权限为rw      ellen=r  & #ellen对根目录的权限为r      如果使用group,需要在group名字前加@,如      @owner=rw  #group owner中的用户均为rw,等价于上边的两句话    启动时如果从/home/.svn/astar启动,/就是astar目录,用如上方式以astar目录为根设置权限。    如果从/home/.svn/启动,每个仓库根还是自己的起始目录。可以采用如上方式设置astar的权限,也可以采用如下方式:      [astar:/]      @owner=rw    设置test的权限如下:      [test:/]      @harry_and_sally = rw    简言之,每个仓库的根目录(/)就是自己的起始目录;[repos:/]这种方式只适用于多仓库的情况;[/]适合于单仓库和单仓库的方式。    3. 不能跨越仓库设置权限。
4. 启动和停止svn&&&
  1). 启动:    1. 从astar目录启动,svnserve -d -r /home/.svn/astar,根目录(/)是astar,authz中规则的配置使用section[/]。访问方式为:      svn://192.168.0.87/    2. 从.svn目录启动,svnserve -d -r /home/.svn,根目录(/)是.svn,authz中对astar的配置使用section[astar:/] ,对test的配置使用section[test:/]。访问方式为:      svn://192.18.0.87/astar      svn://192.18.0.87/test    如果需要svn自启动,把命令加入/etc/rc.local中  2). 检查svn服务器是否已经启动(svn默认使用3690端口):netstat -an | grep 3690  3). 停止:killall svnserve
5. svn client
  推荐使用TortoiseSVN, http://tortoisesvn.tigris.org/  Eclipse插件,http://subclipse.tigris.org/
作者 t80t90s
大家感兴趣的内容
12345678910
最近更新的内容

我要回帖

更多关于 subversion 启动 的文章

 

随机推荐