以下的配置文件,开头都不能有空格

安装:
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搭建与同步的更多相关文章

  1. linux下svn 搭建

    linux 下SVN搭建加自动提交更新到指定目录一.安装#yum install subversion       yum安装SVN#mkdir -p /opt/svn/repos       创建s ...

  2. 转载-Linux下svn搭建配置流程

    Linux下svn搭建配置流程     一.    源文件编译安装.源文件共两个,为: 1.   下载subversion源文件 subversion-1.6.1.tar.gz http://d136 ...

  3. LINUX安装SVN+添加自动同步+远程下载最新代码

    LINUX安装SVN+添加自动同步+远程下载最新代码---------------------1. 新建一个用户:svnroot ,以下操作非特别说明皆为root用户操作--------------- ...

  4. 【SVN】Linux下svn搭建配置全过程——初学者轻松上手篇

    版本控制主要用到的是git和svn,其中svn界面化使用操作简单,本篇简单介绍SVN搭建配置全过程. 1. 下载并安装 yum install subversion 查看版本 svnserve --v ...

  5. Linux上svn搭建

    安装svn yum -y install subversion 2.创建版本库 svnadmin  create /home/svn/test 3.配置用户 vim /home/svn/test/co ...

  6. Linux服务器svn与项目同步

    命令:svn checkout svn://192.168.67.131/trunk/w1

  7. centos搭建svn 服务器 并同步到web 目录(总结)

    配置搭建步骤: Linux平台的SVN服务器的配置及搭建 从本地提交代码到svn代码库. 将代码库中代码同步到web目录: 1.在web目录中checkout版本库 进入/home/www目录下  ( ...

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

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

  9. Linux下SVN服务器搭建配置

    Linux下SVN服务器搭建配置 1.SVN服务安装 yum install subversion 2.创建SVN代码仓库 mkdir /data/svn svnadmin create /data/ ...

随机推荐

  1. mybatis0210 mybatis和ehcache缓存框架整合

    .1mybatis和ehcache缓存框架整合 一般不用mybatis来管理缓存而是用其他缓存框架在管理缓存,因为其他缓存框架管理缓存会更加高效,因为别人专业做缓存的而mybatis专业做sql语句的 ...

  2. mydumper原理3

    Mydumper介绍 Mydumper是一个针对MySQL和Drizzle的高性能多线程备份和恢复工具.开发人员主要来自MySQL,Facebook,SkySQL公司.目前已经在一些线上使用了Mydu ...

  3. Ruby on Rails Tutorial 第五章 完善布局

    本章目标:局部视图.Rails路由.Asset Pipeline.Sass1.Bootstrap是Twitter开发的开源Web设计框架mockup是网页构思图,在web领域经常称之为“线框图”,用于 ...

  4. Scala Java Error: value filter is not a member of *

    有时在Scala中调用Java的库,Java库会返回某些Java的集合或类型,必须经过一些转换才能正常使用. 否则有可能在编译的过程遇到这个错误. 错误字符串 下面是错误的主要信息. Scala Ja ...

  5. centos 配置NFS服务器

    转载:http://boloveyo.blog.163.com/blog/static/203926187201232383956558/ 系统是CentOS5.6,假设NFS Server IP为1 ...

  6. 琐碎-hadoop2.2.0目录结构

    之前了解了一下0.20.2和1.1.0.以后现在主流肯定是2.x吧,包含了之前没有的yarn bin Hadoop最基本的管理脚本和使用脚本,这些脚本是sbin目录下管理脚本的基础实现,用户可以用这些 ...

  7. 最小K个数之和

    描述 输入n个整数,输出其中最小的K个数之和.例如输入4,5,1,1,6,2,7,3,3这9个数字,当k=4,则输出最小的4个数之和为7(1,1,2,3). 输入 测试样例组数不超过10 每个测试案例 ...

  8. SelectionKey理解(总结)

    SelectKey注册了写事件,不在合适的时间去除掉,会一直触发写事件,因为写事件是代码触发的 client.register(selector, SelectionKey.OP_WRITE); 或者 ...

  9. Spring与Struts整合

    Spring框架是一个非常优秀的轻量级Java EE容器,Spring框架是整个轻量级Java EE框架的核心.大部分的Java EE应用,都会考虑使用Spring容器管理应用中的组件,从而保证各组件 ...

  10. Android(java)学习笔记113:Android编写代码调用Vibrator震动功能(Bug:按下按钮button始终没有震动)

    1.之前我编写的代码是如下: package com.himi.vibrate; import android.app.Activity; import android.app.Service; im ...