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. 用R包来下载sra数据

    1)介绍 我们用SRAdb library来对SRA数据进行处理. SRAdb 可以更方便更快的接入  metadata associated with submission, 包括study, sa ...

  2. sysbench——服务器cpu性能测试

    一.前言 最近在工作中需要测试cpu占用率.内存占用率,我想要寻找一种合适的能提高cpu占用率的工具及方法.先尝试了使用 echo "scale=5000; 4*a(1)" | b ...

  3. count++线程安全与 synchronized对性能影响的测试

    一个计时器,同时开启100个线程,每个线程休眠1ms钟后,将全局静态变量count加1,这100个线程创建完之后,休眠500ms,计算总耗时,程序如下: public class Counter { ...

  4. Windows系统之hosts文件

    对于Hosts文件相信很多Win7的系统用户会比较陌生,其实Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,所以功 ...

  5. 8.String to Integer (atoi) (INT; Overflow)

    Implement atoi to convert a string to an integer. Hint: Carefully consider all possible input cases. ...

  6. Java实现聚类算法k-means

    2016-07 java简单实现聚类算法 但是有一个小问题,,,,我其实每次迭代之后(就是达不到我的收敛标准之前,聚类中心的误差达不到指定小的时候),虽然重新算了聚类中心,但是其实我的那些点并没有变, ...

  7. OC 和 swift 冒泡排序

    swift 版 var numbers = [17, 28, 36, 15, 39] print("排序前\(numbers)") for i in 0..<numbers. ...

  8. Maven核心简析

    本文以类图的方式,介绍maven核心的12个概念以及相互之间的关系. Table of Contents 1 maven管理的目标:工程(Project) 1.1 工程依赖关系 1.2 工程聚合关系 ...

  9. 8-组成n的1的个数

    /*                                             ones时间限制:1000 ms  |  内存限制:65535 KB难度:3 描述    Given a ...

  10. android SQLiteDatabase数据库使用的时候 常见问题

    用数据库的时候有时候一定要用_id否则会报错 对于Contentprovider的查询用contentResolver.insert()      一般的数据库操作用db.insert();