上篇文章Subversion——安装介绍了Subversion的安装,这一篇就来说说它的使用吧。SVN的服务器端软件也包含客户端的命令,我们可以利用直接这些命令完成版本控制。

创建版本库(Repository)

执行以下命令在C:\Repository里创建一个版本库。

svnadmin create C:\Repository

如果Repository不存在,会自动创建Repository目录。进入到Repository目录,可以看到生成了一些文件夹和文件:

Subversion——简单使用-程序旅途

这些文件夹和文件正是SVN进行版本管理所需的。

启动服务器

启动服务器,才能响应客户端的请求。执行以下命令启动服务器:

svnserve -d -r C:\Repository

-d表示守护进程模式,这样在手动终止之前不会退出。-r  C:\Repository表示指定版本库的根目录为C:\Repository,这样通过svn://localhost就可以访问到,否则需要通过svn://localhost/Repository。

需要注意的是服务器启动后,不要关闭命令窗口,否则服务也会停止。

导入(Import)项目

将C:\MyTestProject中的HelloWorld项目导入到SVN。首先将当前目录跳转到C:\MyTestProject,然后执行以下命令:

svn import svn://localhost

这时会提示一个错误:

Subversion——简单使用-程序旅途

这个错误是说无法使用外部编辑器获得日志信息。

解决办法可以使用 -m,-F参数或者是添加SVN_EDITOR环境变量。-m是用来指定log信息,-F是指定读取log信息的文件。SVN_EDITOR是指定一个外部编辑器获得日志信息。

修改命令为:

svn import svn://localhost -m "导入Hello World项目"

执行,又出现错误:

Subversion——简单使用-程序旅途

这个错误信息说明:认证失败。

SVN服务器不允许匿名登录,所以要修改一下服务器配置。进入C:\Repository\conf目录,打开svnserve.conf,找到# anon-access = read,将#以及后面的空格去掉,同时将read改为write。这样匿名就可以登录并有了“写”的权限。

再次执行上面的命令,导入成功:

Subversion——简单使用-程序旅途

签出(Checkout)项目

切换当前目录到想签出到的目录,我这里签出到C:\MyCheckOutProject。执行以下命令签出:

svn checkout svn://localhost
Subversion——简单使用-程序旅途

进入C盘,可以看到MyCheckOutProject文件夹已经处在SVN的管理下了。

Subversion——简单使用-程序旅途

提交(Commit)和更新(Update)

修改HelloWorld项目的Program.cs文件,切换到Program.cs所在的目录,然后执行以下命令进行提交:

svn commit Program.cs -m "修改Program文件"

Commit命令是将本地副本的修改更新到版本库,Update命令则是将版本库的最新版本更新到本地副本。

执行以下命令更新:

svn update Program.cs

本篇文章只是简单的介绍了以下Subversion的简单实用,了解以下Subversion的使用流程,后面的文章会详细介绍。