[关闭]
@cdmonkey 2016-05-17T03:44:24.000000Z 字数 3014 阅读 1853

Subversion Edge

SVN


Download: http://www.collab.net/downloads/subversion
http://help.collab.net

一、简介

部门维护文档存在版本更新速度快(甚至跟不上各系统的更新),没有集中存储问题。Subversion是简单、有效的一种版本控制软件,可以利用其版本控制功能来管理部门的维护文档。

二、安装

确认安装场景:

  1. [root@CSVN-A1 ~]# cat /etc/issue
  2. CentOS release 6.5 (Final)
  3. [root@CSVN-A1 ~]# python -V
  4. Python 2.6.6

1. 创建用户

  1. [root@CSVN-A1 ~]# useradd -c "Subversion Edge" svn
  2. #为方便后面的操作进行授权:
  3. [root@CSVN-A1 ~]# visudo
  4. svn ALL=(ALL) NOPASSWD:ALL

2. Install JDK

  1. [root@CSVN-A1 ~]# su - svn
  2. #INSTALL JDK:
  3. [svn@CSVN-A1 ~]$ tar zxvf jdk-7u21-linux-x64.tar.gz
  4. [svn@CSVN-A1 ~]$ mv jdk1.7.0_21/ JDK1.7
  5. [svn@CSVN-A1 ~]$ vim ~/.bash_profile
  6. JAVA_HOME="/home/svn/JDK1.7"
  7. CLASSPATH="$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib"
  8. PATH="$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOMR/bin"
  9. [svn@CSVN-A1 ~]$ source ~/.bash_profile
  10. [svn@CSVN-A1 ~]$ java -version
  11. java version "1.7.0_21"
  12. Java(TM) SE Runtime Environment (build 1.7.0_21-b11)
  13. Java HotSpot(TM) 64-Bit Server VM (build 23.21-b01, mixed mode)

3. Install Subversion Edge

  1. [svn@CSVN-A1 ~]$ tar zxvf CollabNetSubversionEdge-5.0.1_linux-x86_64.tar.gz
  2. [svn@CSVN-A1 ~]$ cd csvn/
  3. #在安装之前还要修改下配置文件(这里需要注意,一定要先拷贝生成配置文件,而不能先执行安装并让其自动生成配置文件,因为生成的配置文件的属主与属组都是根用户):
  4. [svn@CSVN-A1 csvn]$ cp data/conf/csvn.conf.dist data/conf/csvn.conf
  5. [svn@CSVN-A1 csvn]$ vim data/conf/csvn.conf
  6. #主要是修改下列两项:
  7. RUN_AS_USER=svn
  8. JAVA_HOME=/home/svn/JDK1.7
  9. --------------------
  10. #为了让服务开机自启动,我们需要执行下面的两个安装操作。
  11. #INSTALL CSVN:
  12. [svn@CSVN-A1 csvn]$ sudo -E bin/csvn install
  13. Detected RHEL or Fedora:
  14. Installing the CSVN Console daemon..
  15. #INSTALL CSVN-HTTP:
  16. [svn@CSVN-A1 csvn]$ sudo bin/csvn-httpd install
  17. Detected RHEL or Fedora:
  18. Installing the Subversion Edge Apache Server daemon..

4. Start Service

  1. #启动服务,必须以svn用户运行。
  2. [svn@CSVN-A1 csvn]$ bin/csvn start
  3. Starting CSVN Console...
  4. ...
  5. CSVN Console started
  6. Waiting for application to initialize (this may take a minute)................................
  7. CSVN Console is ready at http://localhost:3343/csvn
  8. --------------------
  9. #启动如果失败,可以使用下面的命令进行查看。此命令会在控制台输出启动日志,便于确定是什么错误导致启动失败。
  10. [svn@CSVN-A1 csvn]$ bin/csvn console
  11. Running CSVN Console...
  12. CSVN Console is already running.

查看一下端口:

  1. [svn@CSVN-A1 csvn]$ lsof -i:3343
  2. COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
  3. java 27277 svn 218u IPv6 42266 0t0 TCP *:ms-cluster-net (LISTEN)
  1. [root@CSVN-A1 ~]# lsof -i:18080
  2. COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
  3. httpd 5401 svn 3u IPv4 32106 0t0 TCP *:18080 (LISTEN)
  4. httpd 5405 svn 3u IPv4 32106 0t0 TCP *:18080 (LISTEN)
  5. httpd 5406 svn 3u IPv4 32106 0t0 TCP *:18080 (LISTEN)
  6. httpd 5407 svn 3u IPv4 32106 0t0 TCP *:18080 (LISTEN)
  7. httpd 5408 svn 3u IPv4 32106 0t0 TCP *:18080 (LISTEN)
  8. httpd 5409 svn 3u IPv4 32106 0t0 TCP *:18080 (LISTEN)

三、访问

以上操作做完后记得重启一下系统,这样就可以访问了(用户名和密码相同)。登录成功后就可以创建用户和版本库,并且也可以给创建的用户选择角色。

此处输入图片的描述

四、备份

http://www.iitshare.com/linux-svn-migration.html

1. hotcopy

  1. svnadmin hotcopy
  2. # For example:
  3. svnadmin hotcopy /path/to/repository /path/to/backup

利用该指令可以实现完全备份(该指令原设计目的估计不是用来备份的,只能进行全量拷贝),但不能进行增量备份。该指令是将整个库都“热”拷贝一份出来,包括库的钩子脚本、设置文件等。任何时刻运行该指令都将得到一个版本库的完整拷贝,不管是否有其他的进程当前正使用版本库。

2. dump

  1. svnadmin dump

该指令为官方推荐的备份方法,优点为比较灵活,能够全量备份也可以增量备份,并提供了版本恢复机制。它的缺点为如果版本比较大,如版本数增长到数万、数十万,那么备份的过程将非常慢。备份耗时,恢复更加的耗时,不利于快速的进行灾难恢复。推荐于版本数比较小的情况下使用这种备份方式。

使用该指令进行备份时,需关闭所有运行的进程,并确保没有应用在访问版本库(如httpdsvnserve或本地用户直接进行访问)。

五、迁移

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注