Subversion 安装笔记
subversion 是一个开源的版本控制软件,虽然在稳定性方面较cvs还有些距离,不过很受追捧,牛顿顿说,这主要得益于subversion在处理大项目效率方面的优势,目前版本是1.4.4。
安装subversion 服务
在这里 下载subversion 的windows 平台软件包,解压缩即可。
然后打开一个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 = noneauth-access = writepassword-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.
tortoiseSVN 是一个基于subversion服务的windows GUI,并集成了tortoiseMerge 版本比较工具。它和Windows 资源管理器紧密地结合在一起,以插件形式出现,来进行版本控制操作,当前版本也是1.4.4。
使用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,通过认证即可看到版本库。


