1、 所选服务器安装包:VisualSVN-Server-2.1.3.msi、
2、 客户端安装包:TortoiseSVN-1.6.2.16344-win32-svn-1.6.2.msi
一、服务器的安装:
注意:location:为安装文件位置,Repositories:为管理的代码仓库的位置,若选中Use secure connection前面的Checkbox,则表示安全连接【https】,这里的端口有433/8433可用,若未选中Checkbox,默认端口80/81/8080,身份认证选择Subversion。
二、客户端安装
点击完成安装。
三、服务端的配置和使用
添加一个代码库:
在文本框中输入代码库的名称
未选中上面的复选框,代表建立一个空的代码库,若选中则会创建三个子目录
创建完代码库后,里面内容为空,一会将介绍如何迁入源代码
下面我们开始安全性设置,在左侧的Users上选择Create User
然后将创建的User添加到刚才创建的项目里,选择刚才创建的项目Project,右键选择Properties…
点击Add…
选择创建的Users,点击OK
Permissions表示选择用户权限,有四种选择
1、Inherit from parent从父用户中继承
2、No Access不允许访问
3、Read Only只读访问
4、Read/Write可读可写
点击确定
四、客户端的基本使用方法
1、签入源代码到SVN服务器
假设我们使用Visual Studio在文件夹SetUp中创建一个项目,我们要把这个项目的源代码签入到SVN Server上的代码库中,首先右键点击SetUp文件夹,右键菜单如下:
点击Import…
其中http://192.168.0.101/为服务器的IP地址,svn是代码仓库的根目录,Project是我们添加的代码库,右下角的Checkbox在第一次添加的时候没有用,以后签入时可选择忽略的文件,点击OK。弹出下面窗体,要求输入凭证
若选中Save outhentication复选框,可以保存输入凭证。
在上面输入用户名和密码,点击OK。
如上,源代码已经签入到SVN服务器上了,下面我们来看看SVN服务器上是否存在签入的源代码
3、签出源代码到本机
在本机上创建文件夹SetUp,右键点击SVN Checkout…弹出如下窗体
在上图中URL of Repository:下的文本框输入svn server中代码库的地址,其他默认,点击OK按钮,就开始签出源代码了
说明:上图中Checkout Depth,有四个选项,分别是签出全部、只签出下一级子目录和文件、只签出文件、只签出空项目,默认是第一项。
打开SetUp目录,可以看到如下的文件夹结构:
一旦对文件或文件夹做了任何修改,那么文件或文件夹的显示图片会发生变化。下面修改二个文件:
修改的为eSuperMap.lic和Config文件夹下的文件
下面看一下不同状态下的所对应的图片
4、提交修改后的文件到SVN服务器
我修改的是electric_inspection下的文件夹,右键点击electric_inspection选择SVN Commit…
点击OK,弹出如下对话框
5、添加新文件到SVN服务器
我们在electric_inspection添加eSuperMap.lic,在electric_inspection文件下的空白处点击右键,点击SVN Commit…,和上面讲的提交改过的文件到SVN服务器一样,就可以了,另外也可以在文件eSuperMap.lic上点击右键,点击TortoiseSVN,这样并没有将这个文件提交到SVN服务器,只是将这个文件标记为源代码库中的文件,并将其状态设置为修改状态。之后,我们要再SVN Commit这个文件一次,才能将其真正提交到SVN服务器上的代码库中。类似添加文件夹也是一样。
6、更新本机代码与SVN服务器上最新的版本一致
这个只需要在需要更新的文件夹上点击右键或在该文件下的空白处点击右键,点击SVN Update,就可以了。
注意:更新操作可能会因为版本冲突而失败,这时可以使用合并【Merge】或其他解决方法,也可能因为锁定【Get Lock】而失败,这是需要先解锁【Release Lock】。
7、重命名文件或文件夹,并将修改提交到SVN服务器
只要在需要重命名的文件或文件夹上点击右键,点击TortiseSVN=>>Rename…,
在弹出的窗体中输入新名称。此方法也不是直接重命名,而是将该文件或文件夹的名称标记为重命名后的名称,也需要我们使用SVN Commit提交到SVN服务器。
8、删除文件或文件夹,并将修改提交到SVN服务器
最简单的是直接删除文件或文件夹,然后使用SVN Commit提交更新到SVN服务器。另外一种方法是在你要删除的文件或文件夹上点击右键Tortoise=>>Delete删除,此方法也不是直接删除,而是将文件或文件夹的状态设置为删除,也需要我们使用SVN Commit提交到SVN服务器后才真正删除。
说明:实际上,从你把源代码签入SVN服务器开始,每一个版本的数据和文件,就是你已经删除了的,也都可以随时签出。
注意:向SVN服务器提交源代码的时候,一定不要提交bin,obj等文件夹,否则很麻烦,但是web项目的bin目录除外,但是web项目的bin目录中的引用其他项目而生成的dll不需要提交。
其次:如果项目中引用其他的第三方控件的程序集,最好不要简单的从他们的安装位置引用,而是在你的解决方案下,添加一个Library的目录,将需要的程序集复制到这里,然后从Library目录引用。