安装subversion 服务
在
然后打开一个DOS 命令行,进入到解压缩的bin目录,运行以下命令创建一个repository(存放版本控制信息的地方)。把PROJECT_NAME 替换为你需要的项目名称。
C:\svn\bin> mkdir \repository\subversion\PROJECT_NAME C:\svn\bin> svnadmin create \repository\subversion\PROJECT_NAME
然后参照这里的安装指南 把subsersion安装为windows系统服务,并在启动时加载。意等号后面必须留有空格。
C:\svn\bin> sc create svn binpath= "C:\svn\bin\svnserve.exe --service -r C:\repository\subversion" displayname= "Subversion Server" depend= Tcpip start= auto
注意:执行命令时,需要把subversion 的安装路径以及repository 的路径替换成你自己的路径。svn 是服务名称,你也可以随便命名。
这个系统服务可以通过 sc delete svn 命令删除,服务的启动有两种方式:sc start svn 或者 net start svn 。具体可以参考windows 的sc 以及net 命令。
配置版本库权限
配置文件位于 .\repository\subversion\PROJECT_NAME\conf\ 目录
passwd 文件定义了存取版本库的用户名与密码,格式为:
myusername - mypassword
svnserve.conf 文件需要添加如下几行:
anon-access = none auth-access = write password-db = passwd
如够希望匿名用户可以checkout 版本库,那么修改第一行为 anon-access = read。 下面一行用于复杂一些的权限配置,如果添加此行,需要配置authz 文件,在这里我把此行注释掉。
# authz-db = authz
另外还有一行用于定义Project名称,但经过实验,这行可以省略。
# realm = PROJECT_NAME
至此,subversion 服务安装完成,并且创建了一个版本库。如果已经安装了subversion客户端,则可以通过svn://localhost/PROJECT_NAME 进行访问。
subversion 客户端
subversion 的客户端在windows 可以使用tortoiseSVN 或者subversion eclipes plugin.
使用subversion eclipes plugin 需要先安装eclipes,然后通过插件更新安装subversion plugin,安装完成后,就可以像使用cvs 一样在eclipes 中使用subversion。
在这里下载 tortoiseSVN 1.4.4,安装完成之后,在资源管理器中点击右键,就会看到相关菜单。可以在资源管理器找到要管理的源代码,在目录上点击右键,选择TortoiseSVN 菜单中的Import ,并在Url of repository 下来菜单中选择刚才创建好的repository 即可。然后在working copy 目录中将代码checkout,就在working copy 目录中实现了代码的版本管理。
版本库备份
如果需要对项目版本库备份,只需要把整个.\repository\subversion\PROJECT_NAME 目录备份即可,如果需要在另一台还原备份,需要先安装好subversion服务与客户端(不必创建repository),然后把上述目录copy到svn服务所引用的目录中即可(本例为 c:\repository\subversion)。然后刷新subversion client,通过认证即可看到版本库。
更新 2007-09-03
在gentoo linux 上使用subversion
首先emerge subversion 服务器与客户端程序:
# emerge subversion
注意:subversion 依赖于apache 服务,如果系统中没有apache,会自动添加入emerge 列表。
安装好后产生以下主要的文件:
/usr/bin/svnadmin 用于建立一个repository,也就是一个svn版本库服务 /usr/bin/svn svn客户端命令行程序 /etc/init.d/svnserve svn后台服务程序 /etc/conf.d/svnserve svn服务配置文件
默认的配置文件使用/var/svn 作为repository 的根目录,不做修改。
使用root 建立/var/svn 目录,然后建立独立的repository目录: prj。
# mkdir /var/svn # mkdir /var/svn/prj
现在使用前面创建的路径建立一个repository。
# svnadmin create /var/svn/prj
这会生成一些目录结构与文件在/var/svn/prj 下面,编辑配置文件/var/svn/prj/conf/passwd,加入svn 授权连接用户与密码。
myusername - mypassword
接下来编辑repository配置文件/var/svn/prj/conf/svnserve.conf,去除掉以下行的注释:
anon-access = read auth-access = write password-db = passwd
注意:行首不要留有空格。
下面还需要给svn root 目录/var/svn 以及下面的repository 正确的授权,以使以apache用户运行的svnserver 能够正确的存取它们。执行以下命令:# chown -R apache:root /var/svn
现在repository 已经准备好了,可以启动svn 服务,并设置为跟随系统自动启动。
# /etc/init.d/svnserve start # rc-update add svnserve default
至此,svn server已经在运行,并且为一个叫做prj的项目建立了一个repository,同时为这个repository设置了连接用户。
下面我们选择一个路径作为保存working copy 的目录,比如位于$HOME ,进入此目录,并首先将prj 项目check out,执行以下命令:
$ cd $HOME $ svn checkout svn://localhost/prj
第一次执行此命令,svn会提示输入用户名与密码,然后保存在$HOME/.subversion 目录中。以上会在HOME 中目录建立目录$HOME/prj ,并包含$HOME/prj/.svn 用于保存版本控制的文件。
现在可以向$HOME/prj 中copy 项目文件。使用svn add PATH 命令加入版本控制信息,svn -m "message" commit PATH 命令进行提交。
