liwenbocsu 2010-06-02
本节和大家一起学习一下正确使用SVN建立本地文件管理的方法,这是在学习SVN时可能会遇到的问题,所以拿来和大家分享一下,希望通过本文的介绍大家对正确使用SVN建立本地文件管理有深刻的理解。
如何正确使用SVN建立本地文件管理
SVN是一款功能强大的版本控制系统,对于习惯于windows环境的中国工程师而言,使用TortoiseSVN是个不错的选择,其友好的界面和易用的操作使得其很容易掌握。
从网址:http://tortoisesvn.net/downloads可以下载到最新版的TortoiseSVN,如果不习惯英文界面的话还有中文语言包可以安装,真是十分方便。
对于局域网内有服务器支持的版本管理系统,按照软件的帮助手册中的说明去建立就好。本文主要讲述如果SVN建立本地文件版本管理,也就是服务器和客户端都在一台机器上的情况。
按照TortoiseSVN的帮助文档中的说明,在新建的空文件夹上使用右键菜单的createrepositoryhere命令成功建立一个仓库后,使用右键的import命令来向仓库中装载尚未版本化的源码的话,就会报出如下错误:
Unabletoopenanra_localsessiontoURL
Unabletoopenrepository'file:///D:/explorer'
注意上面的路径是正确的,但是用这种方法就是怎么也不能把源码放入版本库里,我在网络上搜索了好久也没有找到解决方法,所以我相信这应该是TortoiseSVN的一个bug吧!
因为两年前上学的时候曾经使用过一段TortoiseSVN,因此在不断回忆和尝试的探索下,我终于找到了一种可以将源码正确放入仓库进行版本化管理的方法。具体操作如下:
1.先建立一个仓库,没导入源码前这个仓库是空的。
2.在源码的文件夹上右键选择checkout命令,这是导出仓库中的代码的操作。在弹出的对话框中选择刚才建立好的空仓库后,会得到相应的的情况:
其中我新建的仓库名是mydisk,我的源码所在的文件夹是newproject。注意,这时SVN自动要在newproject目录下新建了一个名为mydisk的文件夹来存放导出的内容,这不是我们希望的,如果这样的话那么newproject中的源码就无法导入到mydisk仓库内了,所以删除checkoutdirectory项下路径中的mydisk,然后单击确定,软件会提示当前的文件夹是非空的,询问是否继续,选择是即可。会打印出如下信息:Atrevision:0。表示版本库已经顺利导入了当前源码所在的文件夹,虽然这个版本库是空的。
3.再次在源码的文件夹上单击右键,就可以看到菜单的命令项多出了许多,同时也有SVNupdate和SVNcommit命令了,这是因为SVN版本库已经位于当前源码所在的文件夹了。选择add命令,在弹出的对话框中选择所有源码文件、取消那些工程控制文件,单击确定,就可以看到SVN会打印出把所有的源码添加到版本库的过程了。但是,这是源码还没有真正加入到版本库内。
pub_svnserve.conf的 pub_authz.conf的配置文件有非法字符的原因引起,需要查找pub_authz.conf提的非法内容比如多余的空格删除或直接将pub_authz.conf