名师推荐 SVN使用说明指导

本节向大家简单介绍一下SVN使用说明问题,从SVN安装和管理两方面来介绍,在这里和大家分享一下,欢迎打击一起来讨论SVN使用说明问题。下面是具体的介绍。
SVN安装(UNIX下):
1.去官方网站下tag.gz文件,tag.gz里包含了svn(subversion的客户端),svnserve(subversion自己的小型server,用于独立于apache使用),svnadmin(repository的管理工具)等
2.svn网络工作模式有两种:apache+mod_dav_svn和svnserve。
3.新建一个系统用户svn:svn(username:group)
4../configure这里不用设置path,是希望在任何时候使用svn(或相关的svnserve等)时,可以直接用到,因为默认的安装,将可执行文件放在了/usr/local/bin这个默认的PATH里了
5.make
6.makeinstall至此安装完毕。
SVN管理:
SVN使用说明有关SVN管理问题介绍。这一部分主要是指管理repository,使用svnadmin等。
首先使用svn登录系统。下面的操作都在svn的主目录里进行。
1.使用$svnadminhelp,$svnservehelp
可以查看svnadmin和svnserve的帮助信息。
2.创建repository
2.1可以把所有的项目都放在一个repos里,/path/to/repos/ProjectA,/path/to/repos/ProjectB
然后每个项目下再建立各自的trunk,branch,tag。这样的好处是对于svn使用时帐号的管理及其他一些hooks等可以共享,管理起来只需一次,代价是灵活性可能不够或者达到某种灵活性需要复杂配置。也可以每个项目建立独立的repos
/path/to/ProjectArepos
/path/to/ProjectBrepos
当然每个下面也建自己的trunk,branch,tag等。这种设置的好处显然就是有足够的灵活性,但是管理工作就多一些,特别是当有几个项目的设置相同时,修改了一个,就要修改其他的。
2.2使用$svnadmincreate/path/to/repos
默认创建的是FSFS型的repos,还有BerkerleyDB型的,使用--fs-type来指定类型。
$svnadmincreate--fs-typefsfs/path/to/repos
$svnadmincreate--fs-typebdb/path/to/repos
现在假设项目名称叫MIS,建立repos如下:
$svnadmincreate–fs-typefsfs/home/svn/mis
这样svnadmin就生成了mis目录,其下还有许多辅助目录。
其中/home/svn/mis/conf是这个repos的配置文件存放的地方,/home/svn/mis/hooks是hooks脚本的存放位置。
3.启动svnserve。使用$svnserve-d-r/home/svn来启动svnserve。其中-d参数是让svnserve以deamon模式运行在后台,-r参数使得客户端只能访问到后面指定的目录以下的内容(这里是/home/svn下的内容)。
4.设置访问用户名和口令
再来看一下SVN使用说明中如何设置访问用户名和口令。/home/svn/mis/conf里是mis这个repos的配置文件,svnserve.conf是主配置文件,默认的里面有(记得打开[general]前的注释,并且让[general]位于行首)
[general]
anon-access=read
auth-access=write
password-db=passwd等
这里将anon-access的访问权限从read改为none,然后就可以在passwd(password-db指定的,这里位置为/home/svn/mis/conf/passwd)里配置帐号和口令了。
在/home/svn/mis/conf/passwd里[user]下加入下面一行
deller=dellerpwd
这样就可以用deller:dellerpwd来访问了。
关于配置文件的更多信息,可以参考
$mansvnserve.conf
5.项目中repos布局
SVN使用说明中有关项目中repos布局问题。根据实践经验,一个项目的生存周期也不是单线的,常常有一些分支(分支剧情?)或者稳定版发布或者特定功能的实验性加入等事件,repos的布局需要进行一定设计来支持这些“事件”。常见的布局是这样的
Project/trunk
Project/branches
Project/tags
trunk是项目主体存放位置
branches是项目的各种分支的存放
tag往往用于公开发布的版本的存档,类似与milestone。
建立这样的布局的方法有许多,svn-book上说可以用svnmkdir等命令逐一建立,然后提交。还有一个比较便捷的方法如下(使用svnimport):
$mkdirtmpdir
$cdtmpdir
$mkdirtrunk
$mkdirbranches
$mkdirtags…
$svnimport.file:///path/to/repos--message'Initialrepositorylayout'
说明:
a.这里仍然是按照前面的一个项目一个repos来做的,如果是多个项目共用一个repos时,就要在tmpdir下先建立这些项目,再在其下建立各自的trunk等
b.注意最后的svnimport一句中的file://这是不可少的,因为这个操作是在repos的服务器端,这样做Initialrepositoryimport时,可能svnserve没有启动,但是由于svn支持本地直接访问,所以可以完成,而这时,就是通过“file://”来告诉svn目前是在操作本地repos的,比如linux下,/home/svn/mis为一个repos,那么应该写为“file:///home/svn/mis”
6.repos的删除,注意不是清空。可能有svnadmin的命令吧,但其实只要删掉repos的目录就完全删除了,比如$rm-rf/home/svn/mis
7.更多的管理功能包括:repos的查看(svnlook),repos的清除、恢复、备份、迁移(svnadmin)等主题。本节介绍SVN使用说明完毕。

  1. SVN使用手册之入门篇
  2. SVN管理与应用相关的资料参考手册
  3. ApacheSVN服务器安装指导手册
  4. Windows操作系统中SVN使用手册详解
  5. SVN服务器安装指导手册

svn

相关推荐