http://www.360doc.com/content/11/0711/19/5131531_132950891.shtml

简介
Svn已经不容质疑的成为了一款流行的代码控制工具,但是你是否还在为配置它服务器侧而苦恼呢? 你是否每次安装服务器时还要去安装apache以及进行配置呢?你是否还在为那命令行的用户创建及权限控制而郁闷呢?

Visualsvn解决了以上你所面对的一切问题,真的它把我们的工作效率提高了n倍.

Visualsvn是完全开源和免费的,当然它的客户端并不免费,不过没关系,客户端有太多的免费版本供我们选择,TortoiseSVN就是一个不错的选择.遗憾的是我这里并不介绍客户端的使用,有兴趣的同学可以到官方网站去学习.
安装
首先到官方网站上获取一个版本http://www.visualsvn.com/server/download/
然后只需要next就ok了;

当然有些地方是可以配置一下的,下面列出一些需要简单设置的界面


当然服务器和管理控制工具都装上


这里可以修改代码库的保存位置,默认为"D:\Repositories\".
也可以修改访问代码库的方式http或https.
最下面是选择用户认证是使用windows用户还是Subversion自己的认证.
安装完后的界面

第一步、创建用户组

开发组,管理组,测试组,等等

第二步、当然是创建用户

第三步、当然是对用户进行分组,编辑用户组


最后是创建代码库:在Repositories上右键-->Create New Repository-->创建第一个代码仓库

当然也可以创建多个代码库,但是我觉得这样不方便,比如在MyEclipse或TortoiseSVN客户端连接SVN服务器时无法列出所有项目,只能列出当前一个项目,不太方便,后面会说到.
这里我使用的是只创建一个代码库repos,在这个代码库下面再创建多个项目的文件夹,对第每个项目文件夹进行权限控制。


这里在代码库repos下创建了三个文件夹,代表三个项目,可以对根目录和子目录进行权限控制,比如Repositories和repos目录所有用户都只有读取权限,但没有写入的权限.

在使用过程中遇到的问题:
1、安装VisualSVN Server过程中出现错误,无法启动VisualSVN服务
安装到最后一步出错,
提示为VisualSVB服务无法启动,查看日志,提示:
“Product: VisualSVN Server 2.1.4 — Error 1920. Service ‘VisualSVN Server’ failed to start. Please check VisualSVN Server log in Event Viewer for more details.”
这个是服务账户启动服务失败,可能是bug,解决方法:
打开系统服务services.msc,发现VisualSVN Server没有启动成功:

把登录身份改为”本地系统账户“后,就可以启动了,也安装成功了。
2、使用TortoiseSVN客户端浏览版本库
提示:版本库永久移动到 https://192.168.1.100/svn;请重新定位

1)在IE浏览器里通过https://192.168.1.100/svn 可以正常浏览所有项目
2)使用TortoiseSVN 浏览 https://192.168.1.100/svn,提示: "版本库永久移动到"https://192.168.1.100/";请重新定位
3)使用TortoiseSVN 浏览 https://192.168.1.100/svn/test 又正常
4)myeclipse中也是无法浏览所有项目,报301 Moved Permanently 的错误 ,只能单个项目浏览、导出和同步。
不知道问题出在哪,网上也找了很多解决办法,都不是
后面也且发现一个问题,就是使用TortoiseSVN可以把任何项目导入SVN根目录中,因为原先没有在代码库下创建文件夹表示每个项目,而是使用TortoiseSVN直接导入项目的(比如把项目machine_es直接导入https://192.168.123.100/svn/repos/machine_es,注意我没有创建machine_es的文件夹,这样也可以导入),所以无法对每个导入的项目进行权限控制,只要对整个仓库的权限的用户都可以把任何项目导入仓库的任何地方,这不是很危险?
后来发现是创建代码库的方式不正确,原先的流程是:
1、创建代码仓库
2、直接创建TortoiseSVN导入项目
正确的方式应该是:
1、创建代码仓库
2、在代码仓库下面以项目名称创建文件夹,当然也可以通过TortoiseSVN在根目录下创建文件夹
3、使用TortoiseSVN导入项目

这样所有问题都没有了,即可以控制每个项目的权限,客户端也可以列出所有项目
3、导入项目的时候,不能把classes目录下的编译类文件导入SVN库中,不然在同步的时候会报错
org.tigris.subversion.javahl.ClientException:Working copy not locked;this is probably a bug,please report
svn:Working copy'D:\workspace\machine_es\WebRoot\WEB-INF\classes\com'is missing or not locked

原来是myeclipse把src文件夹中的.svn文件夹也"编译"到WEB-INF/classes中去了,而复制过来的.svn中存储的是src文件夹中的版本信息,从而导致在更新时出错。
首先在导入SVN库时,要删除classes下的com目录;
其次设置myeclipse:

在myEclipse中的项目右键->Properties->JavaBuildPath菜单,在右侧面板中的"Source"选项卡,在Excluded中加

入"**/.svn/**"。

也就是把.svn文件夹从编译路径中排除,这样就不会出现上面的问题了。

svn服务器快速搭建及简单配置的更多相关文章

  1. Ubuntu SVN服务器的搭建与配置(转)

    Ubuntu SVN服务器的搭建与配置 一.         安装 sudo apt-get install subversion sudo apt-get install libapache2-sv ...

  2. centos7下SVN服务器如何搭建

    Centos7 搭建svn服务器 linux(centos)下SVN服务器如何搭建?说到SVN服务器,想必大家都知道,可以是在LINUX下如何搭建SVN服务器呢?那么今天给大家分享一下linux(ce ...

  3. linux(centos7)下SVN服务器如何搭建

    linux(centos)下SVN服务器如何搭建?说到SVN服务器,想必大家都知道,可以是在LINUX下如何搭建SVN服务器呢?那么今天给大家分享一下linux(centos)搭建SVN服务器的思路! ...

  4. SVN服务器本地搭建与使用

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6623026.html  使用SVN进行代码管理,需要搭建服务端资源库,然后在使用SVN的电脑安装SVN客户端或 ...

  5. svn服务器的搭建备份和还原和svnmanager的使用

    svn服务器的搭建备份和还原和svnmanager的使用 一.svn服务端软件的安装和配置 1.安装svn版本库软件 # yum install -y subversion 2.建立svn版本库数据存 ...

  6. 基于svnserve的SVN服务器(windows下安装与配置)

    基于svnserve的SVN服务器(windows下安装与配置) 基于svnserve的SVN服务器(windows下安装与配置)关键字: svn 安装SVNserve 从http://subvers ...

  7. 【Head First Servlets and JSP】笔记6:什么是响应首部 & 快速搭建一个简单的测试环境

    搭建简单的测试环境 什么是响应首部 最简单的响应首部——Content-Type 设置响应首部 请求重定向与响应首部 在浏览器中查看Response Headers 1.先快速搭建一个简单的测试环境, ...

  8. svn 服务器的搭建以及客户端的使用

    1.svn 服务器的搭建以及客户端的使用,安装见下面的博客 https://blog.csdn.net/zh123456zh789/article/details/80921179 说明:服务器只是用 ...

  9. Linux SVN服务器的搭建配置及分支的创建与合并

    第一步:通过yum命令安装svnserve,命令如下: >yum -y install subversion 若需查看svn安装位置,可以用以下命令: >rpm -ql subversio ...

随机推荐

  1. seleniumIDE的实践

    浏览器:1.Firefox setup35.0.12.安装完成后设置菜单栏---安装完浏览器,鼠标定位在浏览器的状态栏,然后点击鼠标右键,点击勾选菜单栏,这时候就有菜单栏出现了 3.关闭浏览器自动更新 ...

  2. 140. Word Break II (String; DP,DFS)

    Given a string s and a dictionary of words dict, add spaces in s to construct a sentence where each ...

  3. Chip Factory(01字典树)

    Chip Factory http://acm.hdu.edu.cn/showproblem.php?pid=5536 Time Limit: 18000/9000 MS (Java/Others)  ...

  4. 快速排序C++实现

    #include<iostream> using namespace std;class quicksort{ public: int quicks(int *a,int low,int ...

  5. [leetcode]543. Diameter of Binary Tree二叉树直径

    Given a binary tree, you need to compute the length of the diameter of the tree. The diameter of a b ...

  6. CentOS下zabbix监控mysql5.6版本主从

    目录 CentOS下zabbix监控mysql5.6版本主从 1. Zabbix添加自定义监控流程 2. 具体步骤 1. 编写监控mysql主从脚本 2. mysql赋权 3. 查看脚本执行效果 4. ...

  7. ubuntu系统:插入优盘read-only file system

    http://sharadchhetri.com/2013/12/19/how-to-fix-read-only-usb-pen-drive-in-ubuntu/ To fix USB pen dri ...

  8. js深拷贝、浅拷贝

    浅拷贝: 只针对当前对象的属性进行拷贝,若当前对象的属性是引用类型时,这个不考虑,不进行拷贝.若属性是引用类型,拷贝后引用的是地址,如果进行更改,会影响拷贝的原对象属性. 深拷贝:针对当前对象的数据的 ...

  9. LaTeX 公式(转自)Iowa_Battleship 神犇

    传送门 (我这个蒟蒻只是mark一下 这个LaTex公式很全!!我是照着打数学公式的!! orz大佬Iowa

  10. python的metaclass浅析-乾颐堂

    元类一般用于创建类.在执行类定义时,解释器必须要知道这个类的正确的元类.解释器会先寻找类属性__metaclass__,如果此属性存在,就将这个属性赋值给此类作为它的元类.如果此属性没有定义,它会向上 ...