1  介绍
 
Subversion是一个自由,开源的版本控制系统,这个版本库就像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况。这样就可
以很方面恢复到以前的版本,并可以查看数据更改细节。目前,Subversion已成为主流的开源代码版本管理软件之一,简称SVN。


2.  安装和服务器搭建
    执行下列指令安装 
    1. sudo apt-get install subversion

3  创建版本库
   3.1先创建目录文件夹
    1. sudo mkdir /home/svn
    1. sudo mkdir /home/svn/project1
    1. sudo mkdir /home/svn/project2
   3.2创建第一个项目project1 第二个项目project2
    1. svnadmin create /home/svn/project1
    1. svnadmin create /home/svn/project2

4. 为了便于管理,将所有版本库的密码和权限设置在同一个文件下面,操作步骤如下:
    4.1 取出project1下面conf文件夹下的authz和passwd两个文件到svn根目录下面
    4.2 修改每个版本库目录conf文件夹下面的svnserve.conf文件, 将

# anon-access = read ,#auth-access = write
,# password-db = passwd,#authz-db = authz 修改为:

anon-access = none ,auth-access= write,password-db = ../../passwd,authz-db
= ../../authz

(password-db = ../../passwd,authz-db = ../../authz代表相对路径而非绝对路径)

5. 定义一下几个角色用来测试

5.1 配置管理员(svnadmin),用来管理整个库

5.2 项目经理(manage),用来相关管理文档

5.3 开发人员 (dev),测试开发是否正常

6. 下面添加角色

打开svn目录下的passwd文件,创建方法是在[user]下面添加 username = passwd,记得“=”前后的空格,如下图:

(svnadmin控制所有项目,统一管理)

7.
为角色分配权限:
       假设(quxin是project1的项目经理,huzhixin是project2的项目经理,dev1、dev2是project1
的开发人员,dev3、dev4是project2的开发人员,test1是             project1的测试人员,test2是project2的测试人员)

       库目录及具体权限如下图所示:
       
    具体权限:(根目录下,svnadmin拥有所有权限,其他人只有读权限,要设置子目录权限,需设置子目录上级的权限方可,设置个别文件权限如下:)
    

8启动svn服务

   8.1一次启动
    1. sudo svnserve -d -r /home/svn
查看是否启动成功,可看的监听3690端口
    1. sudo netstat -antp |grep svnserve
    1. tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 28967/svnserve
如果想关闭服务,可使用pkill svnserve

 8.2.开机自启动svn
在/etc/init.d目录建立一个脚本文件svnd.sh
    1. cd /etc/init.d
    1. touch svnd.sh
    1. chmod +x svnd.sh
    1. vi svnd.sh
输入如下内容:
    1. #!/bin/bash
    1. #svnserve startup
    1. svnserve -d -r /ysh/svn
更新修改权限:
    1. update-rc.d svnd.sh defaults
(若提示权限不足,请用sudo执行)


9 工具
SVN 服务器端:Subversion 1.5 ,客户端 TrotoiseSVN 1.5 (https://tortoisesvn.net/downloads.html)

10访问版本库地址
    1. svn://172.16.26.28/project1
    1. svn://172.16.26.28/project2



SVN服务器在Ubuntu16.04下搭建多版本库详细教程的更多相关文章

  1. Ubuntu16.04下安装多版本cuda和cudnn

    Ubuntu16.04下安装多版本cuda和cudnn 原文 https://blog.csdn.net/tunhuzhuang1836/article/details/79545625 前言 因为之 ...

  2. Ubuntu16.04下caffe CPU版的详细安装步骤

    一.caffe简介 Caffe,是一个兼具表达性.速度和思维模块化的深度学习框架. 由伯克利人工智能研究小组和伯克利视觉和学习中心开发. 虽然其内核是用C++编写的,但Caffe有Python和Mat ...

  3. ubuntu16.04下安装TensorFlow(GPU加速)----详细图文教程【转】

    本文转载自:https://blog.csdn.net/zhaoyu106/article/details/52793183 le/details/52793183 写在前面 一些废话 接触深度学习已 ...

  4. Ubuntu16.04下搭建开发环境及编译tiny4412 Android系统【转】

    本文转载自:http://blog.csdn.net/songze_lee/article/details/72808631 版权声明:本文为博主原创文章,未经博主允许不得转载. 1.安装ssh服务器 ...

  5. Ubuntu16.04下安装python3.6.4详细步骤

    记录一下: Ubuntu16.04自带的python版本为python2.7和python3.5,现在想要安装python3.6.4,注意:系统自带的python版本别删除 步骤: # 官网下载安装包 ...

  6. Ubuntu16.04下安装最新版本的CMake

      当前最新版CMake为3.9.1.. Ubuntu中更新cmake到最新版本,过程如下: 1. 卸载已经安装的旧版的CMake[非必需] apt-get autoremove cmake 2. 文 ...

  7. Ubuntu16.04安装Caffe最全最详细教程(CPU)

    转载请附上本文链接:https://www.cnblogs.com/acgoto/p/11570188.html 一.前言 为了安装caffe,本人已经在centos7.x上试错了1次,目前弃疗~:在 ...

  8. Ubuntu16.04 下搭建git服务器及gitweb+nginx配置

    本文转自:http://blog.csdn.net/water_horse/article/details/68958140 1.安装所需软件 fengjk@water:~$ sudo apt-get ...

  9. 阿里云服务器ECS Ubuntu16.04 + Seafile 搭建私人网盘 (Seafile Pro)

    原文链接:? 传送门 本文主要讲述 使用 Ubuntu 16.04 云服务器 通过脚本实现对 Seafile Pro 的安装,完成私人网盘的搭建 首先给出 Seafile 专业版的下载地址(Linux ...

随机推荐

  1. 解决 Github用户名 变为 invalid-email-address 问题

    解决 Github用户名 变为 invalid-email-address 问题 If the identity used for this commit is wrong, you can fix ...

  2. numpy.histogram 官方手册

    numpy.histogram numpy.histogram(a, bins=10, range=None, normed=False, weights=None, density=None) Co ...

  3. 本文分享一下ehcache的使用心得,本文主要讲以广播的形式同步缓存。

    本文分享一下ehcache的使用心得,本文主要讲以广播的形式同步缓存. 下面讲述主要分为两个部分,一个是配置文件,一个是Java代码. 1.准备jar包: slf4j-api-1.7.12.jar,e ...

  4. Python实现——二次多项式回归(最小二乘法)

    2019/3/25 真的,当那个图像出现的时候,我真的感觉太美了. 或许是一路上以来自我的摸索加深的我对于这个模型的感受吧. 二次函数拟合--最小二乘法公式法 与线性回归相似,对二次函数进行拟合某种意 ...

  5. postgreSQL PL/SQL编程学习笔记(三)——游标(Cursors)

    Cursors Rather than executing a whole query at once, it is possible to set up a cursor that encapsul ...

  6. SDUT OJ 图结构练习——最短路径 ( Floyed 算法 AND Dijkstra算法)

    图结构练习——最短路径 Time Limit: 1000 ms            Memory Limit: 65536 KiB Submit Statistic Discuss Problem ...

  7. 【问题记录】Python运行报错:can only concatenate str (not "int") to str

    自己总是写程序时候用 + 拼接的时候忘记变量类型要一致,如下面 frame_num = "1" for i in range(1, frame_num + 1, 1): self. ...

  8. update 多表链接

    update Aset A.shl = A.shl - B.shl from retmxls A,daysphz Bwhere A.spid = B.spid and A.fdbs = B.fdbs ...

  9. python pika简单实现RabbitMQ通信

    Windows上安装及启动RabbitMQ https://blog.csdn.net/hzw19920329/article/details/53156015 安装python pika库 pip ...

  10. Qt 学习之路 2(74):线程和 QObject

    Home / Qt 学习之路 2 / Qt 学习之路 2(74):线程和 QObject Qt 学习之路 2(74):线程和 QObject  豆子  2013年12月3日  Qt 学习之路 2  2 ...