Windows下配置SVN (Subversion)
软件工程版本控制领域, SVN已经逐步替代CVS, 今天配置SVN因为一些细节记不太清, 所以baidu了一下, 发现许多人所说的配置过程存在疏漏或错误, 因此我很罗嗦的记录了一下------绝对够罗嗦, 为的就是哪怕你从来没用过类似软件, 也能做到一次配置成功.
(雪人注: 这里只考虑常见的局域网内使用, 因此没有使用SSH等.)
SVN相关软件下载:
1. svn的Win32版本: http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91
2. svnservice: http://dark.clansoft.dk/~mbn/svnservice/
3. TortoiseSVN及简体中文语言安装包: http://tortoisesvn.tigris.org/download.html
搭建SVN服务器端:
1. 解压缩svn到一个目录, 例如c:\svn
2. 解压缩svnservice的压缩包, 将svnservice.exe放入c:\svn\bin
3. 安装TortoiseSVN, 安装完毕时会提示重新启动计算机, 重启完毕后安装简体中文语言包, 然后在随便一个目录右击, 就会发现多出了一些SVN相关菜单, 选择其中的TortoiseSVN, 再选择子菜单"Settings", 设置Language为"中文(简体)"
4. 打开"我的电脑", 建立一个存放svn信息的目录, 例如c:\svnhome, 然后返回在c盘, 右击这个svnhome目录, 在出现的菜单中选择TortoiseSVN, 再选择子菜单"在此创建文件库", 选择fsfs方式即可 (雪人注: 这里选择创建文件库实际上就相当于让TortoiseSVN代替你进行了svnadmin create c:\svnhome的操作)
5. 在dos控制台状态下cd c:\svn\bin 然后svnservice -install -d -r c:\svnhome 再net start svnservice来将其作为服务运行, 建议你再到控制面板-管理工具-服务中找到SVNService, 右击选择"属性", 再将其启动类型设置为"自动"
6. 打开c:\svnhome, 你会发现已经多了一些目录和文件, 打开conf子目录, 打开svnserve.conf文件, 这里行前凡是有#的都等于是被注释忽略了, 你可以把#去掉让那一行生效, 或者自己新添加行. 里面的英文注释已经详细说明了各种设置的含义, 最后你设置[general]小节中行前没有#号的内容为:
anon-access = none
auth-access = write
password-db = passwd
含义是:
未验证用户无任何权限 (如果把none修改为read就是给予读权限)
已验证用户给予写权限 (当然也能读)
密码数据存放到passwd文件中
然后打开同目录的passwd文件来设置帐户:
同样, 设置[users]小节中行前没有#号的内容, 例如:
snowman=abc123
含义是:
用户snowman的密码为abc123
6. 打开"我的电脑", 在你需要进行版本控制的目录上右击, 选择TortoiseSVN, 再选择子菜单"导入...", 设置"文件库url"为svn://localhost 点确定后就会提示文件正在导入. (雪人注: 这里是svn文件库与svn服务是同一台计算机的情况, 所以可用localhost, 其它机器如果要访问svn服务, 应该用svn://svn服务器的IP地址, 例如svn://10.0.0.52)
至此, SVN服务器配置完成
客户端配置:
1. 没安装TortoiseSVN的计算机先安装它并重启计算机. (雪人注: 具体步骤参照前面搭建服务器端的第3步)
2. 创建一个准备用来存放版本控制工程的目录, 例如d:\project, 然后在"我的电脑"中右击这个目录, 选择"SVN取出...", 设置"文件库url"为svn://svn服务器的IP地址, 接下来会问你用户名和帐号, 你就填写前面搭建服务器端所设置的用户snowman密码abc123
(文件库url可参照前面搭建服务器端第6步的注解)
点确定后就会提示文件正在取出到d:\project
至此, SVN客户端配置完成, 你会看到d:\project及其下面的文件都被标记了绿色对勾
客户端的简单日常使用:
1. 要取得工程的当前的最新版本, 右击d:\project, 选择"SVN更新"
2. 你更改工程后, 要将你的修改更新到SVN, 右击d:\project, 选择"SVN提交" (谨慎的话请先更新到SVN最新版本后再提交)