windows下SVN 1.6 服务端和客户端安装配置

1、软件下载

下载Subversion服务器程序。

http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91

【注意】如果之前已经安装了Tortoise SVN客户端,必须选择与之配套的SVN服务端版本,否则会出现各种问题,可以从Tortoise SVN的"About"菜单中看到与之对应的Subversion版本!

下载Subversion的Windows客户端TortoiseSVN及简体中文语言安装包【根据个人爱好而定】

http://tortoisesvn.net/downloads

 

2、服务器和客户端安装

服务器安装,直接运行安装程序,根据提示安装即可,这样我们就有了一套服务器可以运行的环境。

安装TortoiseSVN,同样直接运行安装程序,按照提示安装即可,不过最后完成后会提示是否重启,其实重启只是使svn工作拷贝在windows中的特殊样式生效,与所有的实际功能无关。

重启完毕后安装简体中文语言包, 然后在随便一个目录右击, 就会发现多出了一些SVN相关菜单, 选择其中的TortoiseSVN, 再选择子菜单"Settings", 设置Language为"中文(简体)"。

 

3、建立版本库(Repository)

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

svnadmin create D:\svn\repository

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

如果在命令行中不识别svnserver命令,可以查看系统环境变量path中有无subversion/bin的条目,没有就手动加上。

也可以使用TortoiseSVN图形化界面完成这一步:

在目录D:\svn\repository下"右键->TortoiseSVN->Create repository here",然后可以选择版本库模式,这里使用默认fsfs方式即可,然后就创建了一系列目录和文件。

 

4、配置用户和权限

打开D:\svn\repository, 你会发现已经多了一些目录和文件, 打开conf子目录, 打开svnserve.conf文件, 这里行前凡是有#的都等于是被注释忽略了, 你可以把#去掉让那一行生效, 或者自己新添加行. 里面的英文注释已经详细说明了各种设置的含义, 最后你设置[general]小节中行前没有#号的内容为:

anon-access = none

auth-access = write

password-db = passwd

含义是:

未验证用户无任何权限 (如果把none修改为read就是给予读权限)

已验证用户给予写权限 (当然也能读)

密码数据存放到passwd文件中

【注意】anon-access = none这条必须显示写出来,否则会有一个默认权限,别人可能不用登陆就能看到你的项目!

然后打开同目录的passwd文件来设置帐户:

同样, 设置[users]小节中行前没有#号的内容, 例如:

admin = zhang

含义是:

用户admin的密码为zhang

该目录下还有一个authz的文件,用来针对不同的目录给用户分配不同的权限。

 

5、运行独立服务器

安装subversion的bin目录有svnservice.exe。

在dos控制台状态下直接输入svnservice -d -r D:\svn\repository,(最后一个参数是刚才设置的版本库的位置),此时console处于阻塞状态,让它一直开着就行,关闭它就意味着关闭了svnservice的服务了。

 

创建服务

sc create svnserver binPath= "C:\Program Files\Subversion\bin\svnserve.exe --service -r D:\svn\energy" DisplayName= "energy_subversion" depend= Tcpip start= auto

sc create svnserver binPath= "服务全名--service -r 资源库位置" DisplayName= "服务名" depend= 协议 start= 自动

 

建议你到控制面板-管理工具-服务中找到SVNService, 右击选择"属性", 再将其启动类型设置为"自动",这样每次开机自动启动服务,不用手动启动了。如果没有这项服务的话,在命令行输入sc create svnserver binPath= "C:\Program Files\Subversion\bin\svnserve.exe --service -r D:\svn\repository" DisplayName= "subversion" depend= Tcpip start= auto

【注意】“=”前没有空格,之后必须有一个空格!

 

6、初始化导入

打开"我的电脑", 在你需要进行版本控制的目录上右击, 选择TortoiseSVN, 再选择子菜单"Import...", 设置"文件库url"为svn://localhost 点确定后就会提示文件正在导入.

需要注意的是,这里是svn文件库与svn服务是同一台计算机的情况, 所以可用localhost, 其它机器如果要访问svn服务, 应该用svn://svn服务器的IP地址, 例如svn://192.168.1.125

 

7、基本客户端操作

没安装TortoiseSVN的计算机先安装它。

创建一个准备用来存放版本控制工程的目录, 例如d:\project, 然后在"我的电脑"中右击这个目录, 选择"SVN取出...", 设置"文件库url"为svn://svn服务器的IP地址, 接下来会问你用户名和帐号, 你就填写前面搭建服务器端所设置的用户admin密码zhang

点确定后就会提示文件正在取出到d:\project

至此, SVN客户端配置完成, 你会看到d:\project及其下面的文件都被标记了绿色对勾

简单日常使用:

要取得工程的当前的最新版本, 右击d:\project, 选择"SVN update"

你更改工程后, 要将你的修改更新到SVN, 右击d:\project, 选择"SVN commit" ,谨慎的话请先更新到SVN最新版本后再提交。

原文地址: http://hi.baidu.com/ccie6554763/blog/item/8d29aff6f2146f0bb07ec5e9.html
版本控制是管理信息修改的艺术,它一直是程序员最重要的工具,程序员经常会花时间作出小的修改,然后又在某一天取消了这些修改,想象一下一个开发者并行工作的团队 - 或许是同时工作在同一个文件!- 你就会明白为什么一个好的系统需要管理潜在的混乱。   什么是 TortoiseSVN?   TortoiseSVNSubversion 版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录。文件保存在中央版本库,除了能记住文件和目录的每次修改以外,版本库非常像普通的文件服务器。你可以将文件恢复到过去的版本,并且可以通过检查历史知道数据做了哪些修改,谁做的修改。这就是为什么许多人将 Subversion 和版本控制系统看作一种“时间机器”。   某些版本控制系统也是软件配置管理(SCM)系统,这种系统经过精巧的设计,专门用来管理源代码树,并且具备许多与软件开发有关的特性 - 比如,对编程语言的支持,或者提供程序构建工具。不过 Subversion 并不是这样的系统;它是一个通用系统,可以管理任何类型的文件集,包括源代码。   TortoiseSVN 的历史   在2002年,Tim Kemp 发现 Subversion 是一个很好的版本控制系统,但是没有好的图形化客户端,创建一个作为 Windows 外壳集成的 Subversion 客户端的创意来自 TortoiseCVS,一个非常类似的 CVS 客户端。   Tim 学习了 TortoiseCVS 的源代码,将其作为 TortoiseSVN 的基础,然后开始这个项目,注册了域名 tortoisesvn.org,并将源代码提交到网上。此时 Stefan Küng 正在寻找一个好的免费版本控制系统,他发现了 SubversionTortoiseSVN,由于 TortoiseSVN 还不能够使用,他加入了这个项目并开始编程。很快他便重写了大多数代码,并且开始添加命令和特性,此时,最初的代码都已经不复存在了。   随着 Subversion 越来越稳定,吸引了越来越多的用户开始使用 TortoiseSVN 作为他们的 Subversion 客户端。用户群增长迅速(每天都持续增长)。Lübbe Onken 提供了许多漂亮图标和 TortoiseSVN 的 logo,细心照料网站并且管理翻译。   TortoiseSVN 的特性   是什么让 TortoiseSVN 成为一个好的 Subversion 客户端?下面是一个简短的特性列表。   外壳集成   TortoiseSVNWindows 外壳(例如资源管理器)无缝集成,你可以保持在熟悉的工具上工作,不需要在每次使用版本控制功能时切换应用程序。   并且你不一定必须使用 Windows 资源管理器,TortoiseSVN 的右键菜单可以工作在其他文件管理器,以及文件/打开对话框等标准的 Windows 应用程序中。你必须牢记,TortoiseSVN 是有意作为 Windows 资源管理器的扩展开发,因此在其他程序可能集成的并不完整,例如重载图标可能不会显示。   重载图标   每个版本控制的文件和目录的状态使用小的重载图标表示,可以让你立刻看出工作副本的状态。   Subversion 命令的简便访问   所有的 Subversion 命令存在于资源管理器的右键菜单,TortoiseSVN 在那里添加子菜单。   因为 TortoiseSVN 是一个 Subversion 客户端,我们也很愿意为你展示一些 Subversion 本身的特性:   目录版本控制   CVS 只能追踪单个文件的历史,但是 Subversion 实现了一个“虚拟”文件系统,可以追踪整个目录树的修改,文件和目录都是版本控制的,结果就是可以在客户端对文件和目录执行移动和复制命令。   原子提交   提交要么完全进入版本库,要么一点都没有,这允许开发者以一个逻辑块提交修改。   版本控制的元数据   每个文件和目录都有一组附加的“属性”,你可以发明和保存任意的键/值对,属性是版本控制的,就像文件内容。   可选的网络层   Subversion 在版本库访问方面有一个抽象概念,利于人们去实现新的网络机制,Subversion 的“高级”服务器是 Apache 网络服务器的一个模块,使用 HTTP 的变种协议 WebDAV/DeltaV 通讯,这给了 Subversion 在稳定性和交互性方面很大的好处,可以直接使用服务器的特性,例如认证、授权、传输压缩和版本库浏览等等。也有一个轻型的,单独运行的 Subversion 服务器,这个服务器使用自己的协议,可以轻松的用 SSH 封装。   一致的数据处理   Subversion 使用二进制文件差异算法展
集中式代码管理的核心是服务器,所有开发者在开始新一天的工作之前必须从服务器获取代码,然后开发,最后解决冲突,提交。所有的版本信息都放在服务器上。如果脱离了服务器,开发者基本上是不可以工作。下面举例说明:   开始新一天的工作:   1:从服务器下载项目组最新代码。   2:进入自己的分支,进行工作,每隔一个小时向服务器自己的分支提交一次代码(很多人都有这个习惯。因为有时候自己对代码改来改去,最后又想还原到前一个小时的版本,或者看看前一个小时自己修改了那些代码,就需要这样做了)。   3:下班时间快到了,把自己的分支合并到服务器主分支上,一天的工作完成,并反映给服务器。   这就是经典的svn工作流程,从流程上看,有不少缺点,但也有优点。   缺点:   1、 服务器压力太大,数据库容量暴增。   2、 如果不能连接到服务器上,基本上不可以工作,看上面第二步,如果服务器不能连接上,   就不能提交,还原,对比等等。   3、不适合开源开发(开发人数非常非常多,但是Google app engine就是用svn的)。但是一般集中式管理的有非常明确的权限管理机制(例如分支访问限制),可以实现分层管理,从而很好的解决开发人数众多的问题。   优点:   1、 管理方便,逻辑明确,符合一般人思维习惯。   2、 易于管理,集中式服务器更能保证安全性。   3、 代码一致性非常高。   4、 适合开发人数不多的项目开发。   5、大部分软件配置管理的大学教材都是使用svn和vss。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值