推荐给好友 上一篇 | 下一篇

Subversion快速入门教程

如何快速建立Subversion服务器,并且在项目中使用起来,这是大家最关心的问题,与CVS相比,Subversion有更多的选择,也更加的容易,几个命令就可以建立一套服务器环境,可以使用起来,这里配套有动画教程
本文是使用Subversion最快速的教程,在最短的时间里帮助您建立起一套可用的服务器环境,只需略加调整就可以应用到实际项目当中。
本教程分为以下几个部分,为了说明简单,教程是在windows下使用的方式,以方便资源有限的项目使用。在UNIX环境下,只是安装方式不同,命令执行并无太大区别。

  • 软件下载
  • 服务器和客户端安装
  • 建立版本库(Repository)
  • 配置用户和权限
  • 运行独立服务器
  • 初始化导入
  • 基本客户端操作

1,软件下载

下载Subversion服务器程序。

官方网站的下载二进制安装文件,来到二进制包下载部分,找到 Windows NT, 2000, XP and 2003部分,然后选择Apache 2.0 或者 Apache 2.2,这样我们可以看到许多下载的内容,目前可以下载Setup-Subversion-1.5.3.msi

下载Subversion的Windows客户端TortoiseSVN。

TortoiseSVN是扩展Windows Shell的一套工具,可以看作Windows资源管理器的插件,安装之后Windows就可以识别Subversion的工作目录。
官方网站是TortoiseSVN ,下载方式和前面的svn服务器类似,在Download页面的我们可以选择下载的版本,目前的最高稳定版本的安装文件为TortoiseSVN-1.5.5.14361-win32-svn-1.5.4.msi

2,服务器和客户端安装

服务器安装,直接运行Setup-Subversion-1.5.3.msi ,根据提示安装即可,这样我们就有了一套服务器可以运行的环境。

安装TortoiseSVN,同样直接运行TortoiseSVN-1.5.5.14361-win32-svn-1.5.4.msi按照提示安装即可,不过最后完成后会提示是否重启,其实重启只是使svn工作拷贝在windows中的特殊样式生效,与所有的实际功能无关,这里为了立刻看到好的效果,还是重新启动机器。
 

3,建立版本库(Repository)

运行Subversion服务器需要首先要建立一个版本库(Repository),可以看作服务器上存放数据的数据库,在安装了Subversion服务器之后,可以直接运行,如:

svnadmin create E:\svndemo\repository

就会在目录E:\svndemo\repository下创建一个版本库。

我们也可以使用TortoiseSVN图形化的完成这一步:
在目录E:\svndemo\repository下"右键->TortoiseSVN->Create Repository here...“, 然后可以选择版本库模式, 这里使用默认即可, 然后就创建了一系列目录和文件。


4,配置用户和权限

来到E:\svndemo\repository\conf目录,修改svnserve.conf:
# [general]
# password-db = passwd
改为:
[general]
password-db = passwd

然后修改同目录的passwd文件,去掉下面三行的注释:
# [users]
# harry = harryssecret
# sally = sallyssecret
最后变成:
[users]
harry = harryssecret
sally = sallyssecret

 在passwd文件中,“=”前的字符就是用户名,后面的就是密码。还要注意“[users]”前面的注释“#”一定要删除掉。

5,运行独立服务器

在任意目录下运行:
svnserve -d -r E:\svndemo\repository 我们的服务器程序就已经启动了。注意不要关闭命令行窗口,关闭窗口也会把svnserve停止。

6,初始化导入

来到我们想要导入的项目根目录,在这个例子里是E:\svndemo\initproject,目录下有一个readme.txt文件:


右键->TortoiseSVN->Import...
在URL of repository输入“svn://localhost/trunk”
在Import Message中输入你的日志信息

完成之后目录没有任何变化,如果没有报错,数据就已经全部导入到了我们刚才定义的版本库中。

需要注意的是,这一步操作可以完全在另一台安装了TortoiseSVN的主机上进行。例如运行svnserve的主机的IP是133.96.121.22,则URL部分输入的内容就是“svn://133.96.121.22/trunk”。

7,基本客户端操作

取出版本库到一个工作拷贝: 

来到任意空目录下,在本例中是E:\svndemo\wc1,运行右键->Checkout,在URL of repository中输入svn://localhost/trunk,这样我们就得到了一份工作拷贝。 


在工作拷贝中作出修改并提交: 

打开readme.txt,作出修改,然后右键->Commit...,这样我们就把修改提交到了版本库,我们可以运行。


察看所作的修改: 

readme.txt上右键->TortoiseSVN->Show Log,这样我们就可以看到我们对这个文件所有的提交。在版本1上右键->Compare with working copy,我们可以比较工作拷贝的文件和版本1的区别。

最后,所有的内容都已经录制为动画文件,大家可以参考。

关于本教程大家有什么意见,可以这里讨论 。

2008年12月11日更新

查看全部26条评论

最新评论

  • 删除 引用 bingo241 (2009-11-25 14:19:22, 评分: 0 )

    写的不错,一下 把我带入了svn的殿堂,呵呵
  • 删除 bingo241 (2009-11-25 14:18:40, 评分: 5 )

    5
  • 删除 引用 gmagu2010 (2009-11-23 21:00:30, 评分: 0 )

    虽说现在都快2010年了 但是楼主提供的东东 还是值得 我去学习的 谢谢啊
  • 删除 引用 ken2008huang (2009-8-13 11:53:01, 评分: 0 )

    我也出现了这个问题,换版本后就可以了,不晓得你是不是和我一样的问题!
    原帖由Bruceshi于2009-05-07 16:16:10发表
    请问我的怎么出错呀?

    导入D:\SVNTest 到 svn://localhost/trunk, 包含忽略的项目
    期望文件系统格式在“1”.
  • 删除 引用 ken2008huang (2009-8-13 11:51:55, 评分: 0 )

    大家注意版本问题呀!我之前下载了Tortoise SVN 1.6和现在下载的Subversion 1.5不能一起用,import的时候会出现错误,把现在下载的1.5卸载,重装Subversion1.6就不会出现,可以正常运行。希望对大家有帮助。
  • 删除 Alex_HuJia (2009-8-03 22:50:41, 评分: 1 )

    1
  • 删除 引用 Alex_HuJia (2009-8-03 22:49:49, 评分: 0 )

    在VISTA环境下操作错误,请问是为什么?
  • 删除 lee101964 (2009-7-07 10:17:14, 评分: 5 )

    5
  • 删除 引用 Bruceshi (2009-5-07 16:16:10, 评分: 0 )

    请问我的怎么出错呀?

    导入D:\SVNTest 到 svn://localhost/trunk, 包含忽略的项目
    期望文件系统格式在“1”到“3”之间;发现格式“4”
    完成
  • 删除 引用 qinphp (2009-3-31 09:51:52, 评分: 0 )

    好,不过还有好多问题不知道,先继续看后面的文章,一会再回来.
  • 删除 qinphp (2009-3-31 09:51:01, 评分: 5 )

    5
  • 删除 引用 momos (2009-3-06 21:24:31, 评分: 0 )

    非常感谢! 这教程对新手太有帮助了!可以评10分吗?!
  • 删除 momos (2009-3-06 21:24:00, 评分: 5 )

    5
  • 删除 引用 langyuebzh (2009-2-03 17:00:00, 评分: 0 )

    .................
  • 删除 langyuebzh (2009-2-03 16:59:50, 评分: 5 )

    5
  • 删除 引用 wtldo (2009-1-04 14:29:14, 评分: 0 )

    5分
  • 删除 引用 js_xxh (2008-12-24 20:27:33, 评分: 0 )

    呵呵,很有用,感激~~,不过我的conf文件夹里面缺省没有passwd文件,需要手动添加
  • 删除 askxionghu (2008-12-14 15:48:48, 评分: 5 )

    5
  • 删除 引用 im007 (2008-12-11 12:32:45, 评分: 0 )

    不好意思,要评5分的,结果操作失误!评5分!
  • 删除 im007 (2008-12-11 12:32:33, 评分: 5 )

    5
 

评分:0

我来说两句