kakolukiya 2014-09-03
SVN客户端使用的时候,用的SVN服务器通常为外部,例如Google Code的服务器,不过,做为一个程序开发人员,就算自己一个人写程序,也应该有一个SVN版本控制系统,以便对开发代码进行有效的管理。这里我就介绍一个在Windows环境下简单快速搭建SVN服务器的方法。
通常的SVN服务器是搭建在Linux等系统下,例如用Apache+SVN配置,Linux下的SVN性能会非常好,但配置有些繁琐,如果SVN服务器只有自己使用,那么可以直接把SVN服务器搭建在个人Windows环境下使用。
目前较为简单的方案是VisualSVN Server。该SVN服务器是免费的,支持Windows NT, 2000, XP and 2003等环境,安装非常简单。
安装的时候可以选择SVN走http协议还是https协议,http协议速度快一些,而https协议安全性好。两者均可以从浏览器直接访问SVN项目。
安装完成后打开,可以看到一个微软的MMS管理界面,在里面可以轻松添加设置项目。用户权限可以使用Windows的用户,也可以单独新建用户。如果原先有一个SVN数据,则可以在界面上导入原有的SVN数据。
SVN客户端依旧推荐使用Windows下的TortoiseSVN,两者搭配起来,非常好用。
随着应用软件的开发规模及复杂程度日趋大型化,使得软件开发模式从早期的个人作坊式渐渐转变为团队协作开发方式,在这种团队协作的开发模式,为了管理好开发项目,就离不开版本控制软件,在开发过程中采用版本控制软件,能够完整地保存开发中对应用程序每一个源文件所有的修改记录,充分地利用版本控制软件能够对软件开发进行卓有成效的管理。
常见的版本控制软件有VSS、CVS和SVN
VSS(Visual Source Safe)为微软的产品,较为易学易用,使用微软的产品进行开发通常都用这个,但是VSS只能在windows平台上运行,并且不是免费软件,安全性也不高,因此应用并不太广泛。
CVS(Concurrent Version System)是免费开源的配置管理工具,其源代码和安装文件都可以免费下载。由于其简单易用、功能强大,跨平台,支持并发版本控制,而且免费,它在全球中小型软件企业中得到了广泛使用。不过CVS的部署比VSS要复杂一些。
SVN(Subversion)作为CVS的重写版和改进版,其目标就是作为一个更好的版本控制软件,取代CVS.总的来说,CVS在发展的过程中逐渐失去优势,已经不再适合现代开发,目前,绝大多数CVS服务已经改用SVN.
目前流行的Google Code开源项目托管平台就是使用SVN进行版本控制。
Windows下的SVN客户端
TortoiseSVN是Windows下的SVN(Subversion)版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录。文件保存在中央版本库,除了能记住文件和目录的每次修改以外,版本库非常像普通的文件服务器。用户可以将文件恢复到过去的版本,并且可以通过检查历史知道数据做了哪些修改,谁做的修改。
下载TortoiseSVN
TortoiseSVN的官方下载地址是 http://tortoisesvn.net/downloads ,普通Windows用户下载32位软件即可,下载地址后面还有中文语言包(Language packs)提供,安装完后可以将TortoiseSVN的界面编程简体中文。
TortoiseSVN使用简介
安装完成TortoiseSVN后,会发现文件夹图标被重载,不同的重载图标所表示不同的意义。所有的TortoiseSVN命令都是通过windows资源管理器的右键菜单执行。右键点击一个文件或者文件夹,大多数菜单项都能够直接显示。比较常用的功能是“更新”和“提交”。通过“更新”可以从SVN服务器上下载最新的代码,“提交”则可以将本地修改的代码上传到SVN服务器上。
更为详细的TortoiseSVN使用帮助,请参考TortoiseSVN中文手册。
Google Code上使用SVN
在Google Code上使用SVN提交的时候,会要求输入密码,这个密码并非你的Gmail密码,而是Google Code密码,在Profile-Settings中可以看到你的Google Code密码,我第一次使用Google Code的时候就误以为是Gmail密码,结果重复输入了N次密码都没提交成功。
pub_svnserve.conf的 pub_authz.conf的配置文件有非法字符的原因引起,需要查找pub_authz.conf提的非法内容比如多余的空格删除或直接将pub_authz.conf