linux的SVN搭建与同步
以下的配置文件,开头都不能有空格
安装:
yum install subversion
验证:
svnserve --version
代码库创建:(类似,可以建立多个仓库)[repo]
mkdir -p 绝对路径
svnadmin create 绝对路径/仓库名称
as:
mkdir -p /opt/svn/repositories
svnadmin create /opt/svn/repositories
执行上面的命令后,自动建立repositories库,
查看/opt/svn/repositories 文件夹发现包含了conf, db,format,hooks, locks, README.txt等
文件,说明一个SVN库已经建立。
配置代码库:
进入上面生成的文件夹conf下,进行配置
cd 绝对路径/conf
as:
cd /opt/svn/repositories/conf
用户密码passwd配置:
[root@localhost password]# cd /opt/svn/repositories/conf
[root@admin conf]# vim passwd
[users]
# harry = harryssecret
# sally = sallyssecret
#增加对,用户名=密码
#as:
lin3615=lin3615
fuck=fuck
权限控制authz配置:
[root@admin conf]# vim authz
#设置[/]代表根目录下所有的资源
[/]
#用户名=权限 as
lin3615=rw
fuck=rw
服务svnserve.conf配置:
[root@admin conf]# vim /绝对路径/svnserve.conf
[general]
#匿名访问的权限,可以是read,write,none,默认为read
anon-access=none
#使授权用户有写权限
auth-access=write
#密码数据库的路径
password-db=passwd
#访问控制文件
authz-db=authz
#认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字
# realm=/仓库绝对路径/仓库名
#as:
realm=/opt/svn/repositories
配置防火墙端口:
[root@localhost conf]# vim /etc/sysconfig/iptables
添加以下内容:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
保存后重启防火墙
[root@localhost conf]# service iptables restart
启动SVN:
#svnserve -d -r /绝对路径/仓库名 [--listen-port 端口号]
#as:
svnserve -d -r /opt/svn/repositories --listen-port 3690
同理,可以启动多个指定的仓库,只要端口不同即可
查看SVN进程:
[root@localhost conf]# ps -ef|grep svn|grep -v grep
停止重启SVN:
[root@localhost password]# killall svnserve //停止
启动:
# svnserve -d -r /绝对路径/仓库名
#as:
[root@localhost password]# svnserve -d -r /opt/svn/repositories // 启动
测试:(可以从这里导入项目,方法一)
客户端连接地址:svn://ip:端口号
用户名/密码: lin3615/lin3615
如果连接失败,则
关闭防火墙
1) 临时生效,重启后复原
开启: service iptables start
关闭: service iptables stop
2) 永久性生效,重启后不会复原
开启: chkconfig iptables on
关闭: chkconfig iptables off
方法二导入项目:(从svn服务器本身导入,即把别的文件[夹]导入到svn仓库中去)
svn import 项目绝对路径 svn://ip[:端口号] -m "comment"
as:
svn import /var/www/html/test svn://192.168.0.8:3690 -m "从目录test导入到svn仓库"
把svn仓库项目导出到指定的目录
svn co svn://ip /绝对路径/目录/
as
svn co svn://192.168.0.8:3690 /var/www/html/test/
svn仓库与指定的目录同步,(如web目录)
打开仓库目录中的hooks目录,建立 post-commit:
as:
打开 /opt/svn/repositories/hooks下的 post-commit,即建立这样的文件
加入
#!/bin/sh
export LANG=zh_CN.UTF-8 #如果是 GB2312,则为 zh_CN.GB2312,这里统一下文件编码
cd /var/www/html/test #要与同步的目录绝对路径
/usr/bin/svn cleanup # svn路径
/usr/bin/svn up /var/www/html/test --username "用户名" --password "密码"
#用户和密码是在 passwd指定的
若出现:post-commit错误代码255,应该是post-commit脚本权限不对,赋予777权限即可
如果在本地上传代码时,出现类似
svn: Can't convert string from 'UTF-8' to native encoding:
svn: ?\230?\150?\176?\229?\187?\186?\\163.txt
svn: Working copy '/var/www/html/test' locked
svn: run 'svn cleanup' to remove locks (type 'svn help cleanup' for details)
则:
export LC_CTYPE="zh_CN.UTF-8"
根据你的系统字符集设置变量,如果 zh_CN.UTF-8 不行,有可能要改成 GB2312:
也有可能为:
export LANG="zh_CN.UTF-8"
接着执行 svn cleanup,要先切换到指定的目录,即要同步的目录,如 /var/www/html/test中
这样就可以了
linux的SVN搭建与同步的更多相关文章
- linux下svn 搭建
linux 下SVN搭建加自动提交更新到指定目录一.安装#yum install subversion yum安装SVN#mkdir -p /opt/svn/repos 创建s ...
- 转载-Linux下svn搭建配置流程
Linux下svn搭建配置流程 一. 源文件编译安装.源文件共两个,为: 1. 下载subversion源文件 subversion-1.6.1.tar.gz http://d136 ...
- LINUX安装SVN+添加自动同步+远程下载最新代码
LINUX安装SVN+添加自动同步+远程下载最新代码---------------------1. 新建一个用户:svnroot ,以下操作非特别说明皆为root用户操作--------------- ...
- 【SVN】Linux下svn搭建配置全过程——初学者轻松上手篇
版本控制主要用到的是git和svn,其中svn界面化使用操作简单,本篇简单介绍SVN搭建配置全过程. 1. 下载并安装 yum install subversion 查看版本 svnserve --v ...
- Linux上svn搭建
安装svn yum -y install subversion 2.创建版本库 svnadmin create /home/svn/test 3.配置用户 vim /home/svn/test/co ...
- Linux服务器svn与项目同步
命令:svn checkout svn://192.168.67.131/trunk/w1
- centos搭建svn 服务器 并同步到web 目录(总结)
配置搭建步骤: Linux平台的SVN服务器的配置及搭建 从本地提交代码到svn代码库. 将代码库中代码同步到web目录: 1.在web目录中checkout版本库 进入/home/www目录下 ( ...
- SVN+post-commit 搭建自动同步版本库
一.需求. 本地文件上传到测试环境svn,测试环境同步到生产环境rsync.开发环境与测试环境与生产环境分离. 二.搭建SVN服务器. yum -y install subversion && ...
- Linux下SVN服务器搭建配置
Linux下SVN服务器搭建配置 1.SVN服务安装 yum install subversion 2.创建SVN代码仓库 mkdir /data/svn svnadmin create /data/ ...
随机推荐
- Java中介者设计模式
中介者设计模式是一种很常见的设计模式,当中我们最为熟悉的就是我们的MVC框架.当中的C作为控制器就是一个详细的中介者,它的作用是把业务逻辑(Model),和视图(Viwe)隔离开来.使M V协调工作, ...
- MYSQL源码 与 DBUG
一.前言 在规模稍微大点的项目中,为了方便快速找到bug的所在,我们往往需要在代码中加入一些调试用的代码,比如加入一些printf,打印出一些重点的信息:加入assert,进行断言判断.这些比较随意的 ...
- iOS viewDidUnload方法
转自:http://blog.csdn.net/chun799/article/details/8951694 在iOS6中,viewDidUnload回调方法被Deprecated掉了.查看苹果的文 ...
- UNIX标准化及实现之UNIX标准化、UNIX系统实现、标准和实现的关系以及ISO C标准头文件
一.UNIX标准化 1.ISO C (International Organization for Standardization) 2.IEEE POSIX (Institue of Electri ...
- mysql索引常见问题
一:对于先建索引再插入和先插入再统一建索引效率: 对于大数量的表来说, 先加载数据再来定义全文索引的 速度要远远优于在一个已经定义好全文索引的表里面插入大量数据的速度.一定会问:这是问什么呢?其实,道 ...
- Helpers\ReservedWords
Helpers\ReservedWords This helper returns an array of reserved words, this includes php 7's new rese ...
- mysql由于外键关联无法删除数据
在mysql中删除一张表时候,出现 Error No. 1451 Cannot delete or update a parent row: a foreign key constraint fail ...
- redis中5种数据结构的使用
一.redis 数据结构使用场景 原来看过 redisbook 这本书,对 redis 的基本功能都已经熟悉了,从上周开始看 redis 的源码.目前目标是吃透 redis 的数据结构.我们都知道,在 ...
- 直接查数据导出xls
直接查数据导出xls/usr/bin/mysql --default-character-set=utf8 -uroot -p"123456" -e"select * f ...
- Web前端学习笔记2
一.开发工具sublime的常用快捷键. 1. 快捷键 功能 ctrl+shift+D 快速复制 ctrl+L 快 ...