svn在linux上的安装

什么是svn
SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。
1. 性能提高。SVN不管文件是文本还是二进制类型,在内部都是以二进制差异比较算法来表示文件的更新部分。这表示所有的文件在文件库中都是以差异的形式储存。而且在网络上传输的,都是较小的文件差异部分。这也使创建分支、打标签、合并等操作可以非常快地完成.
2. 对目录的组织的管理更加方便。SVN不光对文件做版本跟踪,也会对目录做版本跟踪。因此可以根据项目的需要,对目录结构随时进行修改,可以把现有的目录移动到新的地方。
3. 保证提交操作的完整性。SVN对提交操作的处理方式类似数据库的事务处理,要么全部成功,要么全部无效,保证了原子性。

svn配置

mount /dev/cdrom /media/cdrom   挂载光驱

1.安装svn服务器端

yum install subversion      从镜像下载安装svn服务器端

cd /usr/local/              //进入目录,准备创建svn目录

mkdir svn                   //创建一个svn目录

chmod -R 777 svn            //修改目录权限为777

svnadmin create /usr/local/svn/linux //创建一个svn版本仓库sunny(sunny可以随便起名字)

cd svn/linux/conf               //进入sunny版本仓库下的配置文件目录

下面要修改这个目录下的三个配置文件

(1)vi svnserve.conf    //配置版本库信息和用户文件和用户密码文件的路径、版本库路径

anon-access = none      //改成none   12
auth-access = write                  13
password-db = passwd                 18
realm = linux           //改成自己的版本库   30
保存

(2)vi authz     //文件,创建svn组和组用户的权限

[group]
linux = pcy,trp //创建一个sunny的组,并指定两个用户gep和wce

[/]             //制定根目录下的权限
@linux = rw     //sunny组用户权限为读写
* = r           //其他用户只有读权限
保存退出

(3) vi passwd   //创建或修改用户密码
[users]
pcy = 123456    //用户名为gep的用户的密码为123456
trp = 123456    //。。。
保存退出

启动svn:
svnserve -d -r /usr/local/svn/     //这里采用多版本库的方式启动  如果是单版本库 可以svnserve -d -r /usr/local/svn/sunny
添加一行

然后要设置自启动

vi /etc/rc.d/rc.local    打开自启动文件添加

/usr/bin/svnserve -d -r /usr/local/svn/

到此为止可以从服务端检出文件了.

svn命令:

netstat -tnl |grep :3690   查看svn是否启动

ps aux |grep ‘svn‘  查找所有svn启动的进程

kill -9 2505    杀死2505这个查找到的svn进程

做检出  就要先在根目录下建立一个文件夹  放置要检出的文件

检出命令:
svn checkout svn://linux的ip/版本库名称 /要检出的目录路径
例子:svn checkout svn://192.168.1.107/svn(建立的目录) /aaa(要检出的文件目录)

如果是新建的文件夹  就要先把文件添加  
svn add 新建的那文件

第二部就是要提交  
svn commit -m "注释" xxx.php  //提交文件
[[email protected] aaa]# svn commit -m "aaaaaaaaaaaa" a.php
新增           a.php
传输文件数据.
提交后的修订版为 1。

第三
两个用户同时编辑后 第三个有要编辑  
那么就要svn up 取出最新版本的编辑文件

常用命令:

svn up    //更新文件

svn commit -m "注释" xxx.php  //提交文件

svn add 文件名               //新建文件并添加到svn

svn add *.php               //(添加当前目录下所有的php文件)

svn delete test.php         //删除test.php

svn log test.php            //查看test文件的log信息

svn cleanup                 //清理当前目录

####################################设置svn自动更新,不需要在手动去做了#####################

自动更新

在vi /usr/local/svn/sunny/hooks/post-commit中加入

#!/bin/sh

#设置一些变量

SVN=/usr/bin/svn

WEB=/你要更新的目录

export LANG=en_US.UTF-8

$SVN update $WEB --username svn用户名 --password 密码

其中SVN=右边改成 svn 命令位置 一般默认为/usr/bin/svn

WEB=右边改成你实际的web目录

赋予可执行权限

chmod 777 /usr/local/svn/sunny/hooks/post-commit

安装完毕

=========================================================================
其他操作

svn up更新

svn switch --relocate svn://192.168.1.253  svn://172.19.10.250      //重新定位SVN版本库地址

// SVN版本库起动方式,现在SVN下面有 sunny、test 两个版本库

1:单版本库起动    svnserve -d -r /usr/local/svn/sunny

2:多版本库起动    svnserve -d -r /usr/local/svn

区别在于起动svn时候的命令中的启动参数-r指定的目录。

限制不同的用户对不同的版本库操作权限,修改版本库中的conf目录下的 authz文件

以配置 sunny 版本库为例
vi authz
[groups]
teacher = sunny,sunny1
[sunny:/]             //指定版本库跟目录下的权限
@teacher = rw     //teacher组用户权限为读写
* = r           //其他用户只有读权限
保存退出

vi passwd 设置组中用户的账号和密码
[users]
sunny  = 123456
sunny1 = 123456

时间: 2024-08-21 03:55:30

svn在linux上的安装的相关文章

GIT在Linux上的安装和使用简介

GIT在Linux上的安装和使用简介 解压后切换到其目录 $ tar xvfj git-1.7.6.tar.bz2 $ cd git-1.7.6 使用默认配置进行安装,如果想修改配置,可以使用 ./configure --help 来获取帮助 $ ./configure $ make $ make install 2.初始化配置 GIT默认安装在 /usr/local/bin ,安装之后可以验证一下是否安装好 $ whereis git git: /usr/local/bin/git $ git

GIT在Linux上的安装和使用简介心得

GIT在Linux上的安装和使用简介心得 Linux和Git之父Linus Torvalds曾说过这样一段话:        “Bad programmers worry about the code. Good programmers worry about data structures and their relationships.” (低水平程序员总在考虑代码,高水平程序员总在考虑数据结构及其之间的关系)—— 来自 如何理解Linus Torvalds的“什么才是优秀程序员”的话. G

分布式缓存技术redis学习系列(一)——redis简介以及linux上的安装

redis简介 redis是NoSQL(No Only SQL,非关系型数据库)的一种,NoSQL是以Key-Value的形式存储数据.当前主流的分布式缓存技术有redis,memcached,ssdb,mongodb等.既可以把redis理解为理解为缓存技术,因为它的数据都是缓存在内从中的:也可以理解为数据库,因为redis可以周期性的将数据写入磁盘或者把操作追加到记录文件中.而我个人更倾向理解为缓存技术,因为当今互联网应用业务复杂.高并发.大数据的特性,正是各种缓存技术引入最终目的. 关于r

So Easy! Oracle在Linux上的安装配置系列一

So Easy! Oracle在Linux上的安装配置系列一 本文为So Easy!Oracle在linux上的安装和配置序列的第一篇Oracle安装基础环境的搭建 VMware Workstation 11.0 配置和CentOS-6.6-x86_64安装 本文环境及所需软件: Win7 Sevice Pack1 内存 6GB VMware Workstation 11.0  build-2305329 CentOS-6.6-x86_64-bin-DVD1.iso Xmanger Enterp

Tomcat在Linux上的安装与配置

Tomcat在Linux上的安装与配置 1.  jdk下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html tomcat下载地址:http://tomcat.apache.org/download-70.cg 2.jdk安装与配置.(rpm包)    (1)jdk安装    rpm包:    # rpm -ivh jdk-7u79-linux-x64.rpm tar.gz

为Linux上FireFox安装Flash插件

废话少说,步骤如下: 1.点击网页上插件缺失处,根据提示下载tar.gz版本的插件,我下载的版本是install_flash_player_11_linux.i386.tar.gz,这个文件被下载到了/home/liveuser/Downloads下. 2.进入目录/home/liveuser/Downloads,执行tar -zxvf install_flash_player_11_linux.i386.tar.gz,解压的目的是为了得到libflashplayer.so . 3.执行cp l

So Easy! Oracle在Linux上的安装配置系列四

So Easy! Oracle在Linux上的安装配置系列四  监听器的配置 在创建了数库和各种数据库对象并装载了数据后,下一步是在数据库服务器与使用它的用户之间建立连 接,Oracle Net Services使这种连接成为可能.Oracle Net Services组件必须"存活"在客户机和服务器上,它们一般使用TCP/IP网络协议来建立客户机和数据库服务器之间的网络连接. 本文官方文档位置: http://docs.oracle.com/cd/E11882_01/network.

linux上nagios安装完整版

监控server端的安装部署一.apache的安装下载httpd-2.2.15.tar.gz gunzip httpd-2.2.15.tar.gztar xvf httpd-2.2.15.tarcd httpd-2.2.15./configure --prefix=/usr/local/apache2 --enable-so --enable-mods-shared=all --enable-cgi --enable-rewrite --enable-deflate --with-mpm=wor

EJBCA在Linux上的安装

在windows上安装为了测试用,装在linux服务器上的因为CN用的ip需要重装.....又是折腾一番,下面介绍一些需要注意的地方 一.所需文件 准备的内容就不说了,参考我的上上篇<EJBCA在windows上的安装>,需要下载的上面提供的有 二.准备条件 1.jboss配置 1.1.JBOSS端口号配置 作为服务器JBOSS的默认端口8080和8009肯定被占用了,修改jboss的端口号.由于JBOSS的版本不同所以修改的位置也不一样 JBOSS-5.1.0GA 修改的位置是:jboss-