如何创建SVN版本库及同步文件到WEB目录

空谷

一 安装与配置SVN

1.安装subversion

centos: yum install subversion

ubuntu: apt-get install subversion

2.建立版本库,本例中我们的版本库建立在/var/svn,假设该版本库目录为:foo

cd /var

mkdir svn

svnadmin create foo

3.配置版本库

刚才建立的版本库,需要配置认证方式,用户名和密码,权限配置这三个文件,分别对应/var/svn/foo/conf下的

svnserve.conf,passwd和authz这三个文件。

svnserve.conf(去掉注释)

anon-access = none

auth-access = write

password-db = passwd

authz-db = authz.conf

realm = 填写登录时提示的认证域名称

passwd文件添加相应用户名和密码:

user1 = password1

user2 = password2

如果要使用通用的用户名密码和权限认证,指定password-db和authz-db路径到相应passwd和authz.conf文件位置即可

authz文件添加相应用户名到组并分配库权限:

[groups]

foo_user = user1,user2 (多个用户以逗号分隔)

[/]

@foo_user = rw

* =

其中*=意味着匿名用户没有权限,引用组名时要加上@符号

4.启动和使用

配置成功以后,启动svn版本库服务

svnserve -d -r /var/svn

获取版本库:

svn co svn://ip地址/foo

服务器上可以直接使用 svn co file:///var/svn/foo

二、同步到WEB目录

1.创建web目录(已有目录则略过)

cd /var

mkdir www

chmod 777 www

2.检出副本到/var/www

svn co file:///var/svn/foo

3.增加hooks(钩子)文件

在/var/svn/foo/hooks/目录

# start-commit 提交前触发事务

# pre-commit 提交完成前触发事务

# post-commit 提交完成时触发事务

# pre-revprop-change 版本属性修改前触发事务

# post-revprop-change 版本属性修改后触发事务

我们这里只需要修改post-commit文件:

cp post-commit.tmpl post-commit

编辑该文件

#!/bin/sh

# 配置库地址

REPOS=”$1″

REV=”$2″

# WEB目录

BASEPATH=/var/www

# web文件夹名与svn库名相同

NAME=$(basename $REPOS)

WEBPATH=”$BASEPATH/$NAME”

# 避免中文信息乱码

export LANG=”zh_CN.UTF-8″

# 可以配合svnlook命令更新指定目录

svn update $WEBPATH –username=user1 –password=password1 –no-auth-cache

保存后需要修改post-commit文件权限为755,否则SVN无法调用执行

chmod 755 post-commit

SVN同步版本库与网站目录的更多相关文章

  1. SVN同步版本库与网站目录2

    定义: SVN版本库  = /home/svn/repos  网站目录     = /var/www/web 1.检出一个项目到网站目录 #svn checkout file:///home/svn/ ...

  2. svn创建版本库和删除版本库

    作者:朱金灿 来源:http://blog.csdn.net/clever101 svn创建版本库的做法:使用cd命令进入版本仓库的根目录,我的是E:\Repository,然后运行命令: svnad ...

  3. SVN+post-commit 搭建自动同步版本库

    一.需求. 本地文件上传到测试环境svn,测试环境同步到生产环境rsync.开发环境与测试环境与生产环境分离. 二.搭建SVN服务器. yum -y install subversion && ...

  4. SVN跨版本库迁移目录并保留提交日志

    现在有一份代码code在版本库reposA/dirB/下,现在想把它移动到reposB/dirAA/下,本来打算交给SA做,没想到SA似乎 也不太懂的样子.于是,自己在VPS搭建了一个svnserve ...

  5. SVN:多版本库环境的搭建

    一. 1,启动SVN sudo svnserve -d -r /home/data/svn/ 其中 -d 表示守护进程, -r 表示在后台执行 /home/data/svn/  为svn的安装目录 2 ...

  6. win7系统svn创建版本库

    1. 在svn所在的服务器上, 找到它的目录, 右击创建项目名称文件夹, 然后右击该文件夹创建版本库 2. 创建版本库之后, 会出现几个文件夹, 打开conf文件夹,  修改里面的配置文件 3. 在自 ...

  7. SVN访问版本库精细的权限控制

    SVN精细权限控制本章将详细介绍前一章所涉及的两个配置文件, svnserve.conf 和 authz.conf,通过对配置逐行的描述,来阐明其中的一些细节含义.除此之外的其他配置.安装等内容,不是 ...

  8. linux下使用svn创建版本库和权限管理

    linux上的svn服务端如何和本地的电脑客户端结合使用 Linux上安装SVN服务器: 第一步:检查是否已安装 # rpm -qa subversion 第二步: 通过yum命令安装svnserve ...

  9. Linux配置svn服务器版本库

    1)创建版本库首先使用yum安装subversion 2)创建版本库 svnadmin create /home/svn/svnfile 3)进入conf目录 authz               ...

随机推荐

  1. Bus memory attribute

    根据程序的局部性原理,在主存与CPU之间设置的一个高速的容量较小的存储器,叫做cache. ARM cache架构由cache存储器和写缓冲器(write-buffer)组成.其中Write_buff ...

  2. nginx之gzlib压缩,expires缓存

    gzip压缩网页内容的压缩编码与传输速度优化我们观察news.163.com的头信息请求:Accept-Encoding:gzip,deflate,sdch响应:Content-Encoding:gz ...

  3. uva11107 后缀数组

    题意给了n个串 然后计算 这些串中的子串在大于1/2的串中出现 求出这个串的最长长度. 将这些串用一个每出现的不同的字符拼起来 ,然后二分找lcp #include <iostream> ...

  4. 论文笔记:语音情感识别(四)语音特征之声谱图,log梅尔谱,MFCC,deltas

    一:原始信号 从音频文件中读取出来的原始语音信号通常称为raw waveform,是一个一维数组,长度是由音频长度和采样率决定,比如采样率Fs为16KHz,表示一秒钟内采样16000个点,这个时候如果 ...

  5. Java(1-15)

    1.方法参数是引用类型,传递的是内存地址!2.方法的重载特性:在同一个类中,允许方法同名,只要方法的参数列表不同即可!3.Stirng特殊在如果静态数据区中存在,那么不创建新的对象,而是指向这个对象. ...

  6. 【tensorflow】pip 安装失败的原因

    linux系统旧版本:   pip install https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.5.0-cp27- ...

  7. eclispe 相关设置

    1. 关闭js文件校验: 1). windows->preference->Java Script->Validator->Errors/Warnings->Enable ...

  8. Windows下使用MakeFile(Mingw)文件

    下面是我基于<C++GUI QT4编程(第二版)> 2.3节快速设计对话框编写例子地址: https://files.cnblogs.com/files/senior-engineer/g ...

  9. 为什么采用4~20mA的电流来传输模拟量?(转)

    源: 为什么采用4~20mA的电流来传输模拟量?

  10. bzoj1654 / P2863 [USACO06JAN]牛的舞会The Cow Prom

    P2863 [USACO06JAN]牛的舞会The Cow Prom 求点数$>1$的强连通分量数,裸的Tanjan模板. #include<iostream> #include&l ...