如何在本机搭建SVN服务器【转】

简介: 转自:http://www.cnblogs.com/loveclumsybaby/archive/2012/08/21/2649353.html 目的:在没有正式的SVN服务器的情况下,完成代码的本地备份。

转自:http://www.cnblogs.com/loveclumsybaby/archive/2012/08/21/2649353.html

目的:在没有正式的SVN服务器的情况下,完成代码的本地备份。

参考:http://blog.csdn.net/ladofwind/article/details/2100200

以下是具体内容:

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

软件下载

服务器和客户端安装

建立版本库(Repository)

配置用户和权限

运行独立服务器

初始化导入

基本客户端操作

1,软件下载

下载Subversion服务器程序。

官方网站的下载二进制安装文件,来到二进制包下载部分,找到 Windows NT, 2000, XP and 2003部分,然后选择" this directory ",这样我们可以看到许多下载的内容,目前可以下载svn-1.4.0-setup.exe 。

下载Subversion的Windows客户端TortoiseSVN。

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

2,服务器和客户端安装

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

安装TortoiseSVN,同样直接运行TortoiseSVN-1.4.0.7501-win32-svn-1.4.0.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

在这里,因为一般来说,项目的svn的用户名和密码是统一认证的,而为了不每次都输入密码,所以在使用TortoiseSVN的时候,直接都记住了密码,这里的用户名和密码最好和项目的一致,以免出现意外情况。

 

5,运行独立服务器

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

在使用中发现,即使关闭了此窗口,svn一样好使~~不知道为啥~


6,初始化导入

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


右键->TortoiseSVN->Import... 
URL of repository输入“svn://localhost/” 
ok 
完成之后目录没有任何变化,如果没有报错,数据就已经全部导入到了我们刚才定义的版本库中。

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

在这里,不知道为什么,使用svn://localhost/ 一直都搞不定,最后灵机一动使用了file:///E:/svndemo/repository/ 反而搞定了~~


7,基本客户端操作

取出版本库到一个工作拷贝: 
来到任意空目录下,在本例中是E:/svndemo/wc1,运行右键->Checkout,在URL of repository中输入svn://localhost/,这样我们就得到了一份工作拷贝。 
在工作拷贝中作出修改并提交: 
打开readme.txt,作出修改,然后右键->Commit...,这样我们就把修改提交到了版本库,我们可以运行。

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

每多学一点知识,就少写一行代码
【作者】 张昺华
【新浪微博】 张昺华--sky
【twitter】 @sky2030_
【facebook】 张昺华 zhangbinghua
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
目录
相关文章
|
Web App开发
如何实现一个项目配置多个商户信息付款给对应商户
说明:本帖主要说明如何实现给一个平台配置多个商户的号实现多个商户收款。主要用于没有门店和第三方授权方式 支付宝最终是根据请求过来的appid来判断哪一个商户收款(也就是请求是谁的appid就收款到谁的账号下)    方案一:      1.
1475 12
|
DataWorks 大数据 数据库
云上一指禅:大数据产品DataWorks最佳实践
每天,阿里巴巴集团数万名数据/算法开发工程师正在使用DataWorks,承载阿里巴巴集团99%数据业务构建。
11744 0
云上一指禅:大数据产品DataWorks最佳实践
|
7月前
|
算法 机器人 语音技术
由通义千问驱动的人形机器人具身智能Multi-Agent系统
申昊科技人形机器人小昊,集成通义千问多模态大模型的具身智能系统,旨在讲解销售、迎宾表演等场景。机器人通过语音、动作等方式与用户互动,利用云端大语言模型处理自然语言,结合视觉、听觉等多模态感知技术,实现流畅的人机对话、目标追踪、展厅讲解等功能。
708 4
由通义千问驱动的人形机器人具身智能Multi-Agent系统
|
11月前
|
JSON JavaScript 关系型数据库
低代码使用问题之Automat和n8n分别是什么,以及它们的主要功能是什么
低代码使用问题之Automat和n8n分别是什么,以及它们的主要功能是什么
实时计算Flink版 + Hologres,亿级用户实时 UV 精确去重最佳实践
使用实时计算Flink版 + Hologres 方式,并基于 RoaringBitmap,实时对用户标签去重。
实时计算Flink版 + Hologres,亿级用户实时 UV 精确去重最佳实践
|
存储 移动开发 运维
mPaas-MPS 常见问题和踩坑记录
mPaaS 集成了华为、小米等厂商的推送功能,从而有效地提高用户留存率,提升用户体验。在我们日常运维过程中,发现少部分设备在厂商push下无法push,在此分享下相关案例的排查过程,方便后续同类问题借鉴。
790 0
mPaas-MPS 常见问题和踩坑记录
|
开发者 Python
|
IDE Unix 机器人
platformio-用于使用不同开发平台构建代码的控制台工具
PlatformIO是面向嵌入式系统工程师和为嵌入式产品编写应用程序的软件开发人员的跨平台,跨体系结构,多框架的专业工具。 PlatformIO在嵌入式市场中的独特理念为开发人员提供了一个现代的集成开发环境(云和桌面IDE),该环境可以跨平台工作,支持许多不同的软件开发工具包(SDK)或框架,并包括复杂的调试(Debugging),单元测试(单元测试),自动代码分析(静态代码分析)和远程管理(远程开发)。它的架构旨在最大程度地提高开发人员的灵活性和选择范围,开发人员可以使用图形编辑器或命令行编辑器(PlatformIO Core(CLI)),或同时使用这两种编辑器。
platformio-用于使用不同开发平台构建代码的控制台工具
|
存储 Ubuntu Linux
Linux入门系列1--环境准备及Linux安装
“工欲善其事、必先利其器”,本文作为“Linux零基础入门系列”开篇,将完整演示整个开发环境的安装和配置过程,为后续的开发和实验做好基础准备。
4229 0
|
消息中间件 存储 负载均衡
极速同步:网关间多点协同实现数据共享最佳实践
背景 网关网关提供了从OSS到NAS协议转换,依托于OSS的稳定性和经济性,降低了用户的使用成本,又具备了传统NAS的易用性和POSIX兼容性,可以与用户的已有应用无缝对接,满足了中小企业客户的需求。
1837 0
极速同步:网关间多点协同实现数据共享最佳实践