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
  2. sudo mkdir /home/svn/project2
   3.2创建第一个项目project1 第二个项目project2
  1. svnadmin create /home/svn/project1
  2. 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
  2. touch svnd.sh
  3. chmod +x svnd.sh
  4. vi svnd.sh
输入如下内容:
  1. #!/bin/bash
  2. #svnserve startup
  3. 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. javascript中构造器(函数)的__proto__与prototype初探

    背景:最近没什么需求,快要闲出屁了,所以重温了一下js的原型,结果大有收获,且偶然看到Snandy大神的<JavaScript中__proto__与prototype的关系> 这篇文章,感 ...

  2. Linux 调节分辨率

    首先,你要有 GUI 才能设置分辨率 Tool of xrandr xrandr -s 1360x768

  3. 2、Numpy常用函数

    创建单位矩阵和读写文件使用eye()创建单位矩阵 # -*- coding: utf-8 -*- import numpy as np i = np.eye(3) print(i) 结果: [[ 1. ...

  4. Linux下指定线程的名字

    为了能方便的区分一个进程中的每个线程,可以通过prctl()给每个线程取个名字.这样在会创建多个线程的程序执行过程中,就能知道一个pid或tid对应的是哪个线程,对调试程序有一定帮助. prctl是个 ...

  5. ui-grid 中cellTemplate中click事件

    cellTemplate中使用的函数: 外部定义的函数:

  6. POJ2248 Addition Chains 迭代加深

    不知蓝书的标程在说什么,,,,于是自己想了一下...发现自己的代码短的一批... 限制搜索深度+枚举时从大往小枚举,以更接近n+bool判重,避免重复搜索 #include<cstdio> ...

  7. 加、减、乘、除 高精度 string

    #include<stdio.h> #include<string> #include<string.h> #include<iostream> usi ...

  8. pip安装时的异常,找不到lib2to3\\Grammar.txt

    [From] http://jahu.iteye.com/blog/2353325 异常 : [Errno 2] No such file or directory: 'd:\\python\\pyt ...

  9. 从fis中得来的数据结构,Object版,

    /* * config * caoke */ 'use strict'; //You can't use merge in util.js function merge(source, target) ...

  10. 比较两种数组随机排序方法的效率 JavaScript版

    //比较2中数组随机排序方法的效率 JavaScript版 //randon1思路 //当len=5时候,从0-5中随机3一个放入i=0, // 从0-3随机一个2放入i=2 // 从0-2随机一个1 ...