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

安装:
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. Android SDK安装时碰到的问题之解决办法

    问题:hostname in certificate didn't match: <dl-ssl.google.com> != <www.google.com> Fetchin ...

  2. Haproxy+MYSQL 负载均衡 原创

    [root@monitor app1]# yum install haproxy Loaded plugins: security : epel | : epel/primary_db | : ext ...

  3. day06 Java基础

    1.二维数组格式一(列固定):数据类型[][] 变量名=new 数据类型[m][n]; 二维数组格式二(列变化):数据类型[][] 变量名=new 数据类型[m][]; 二维数组格式三:数据类型[][ ...

  4. MySQL_前缀索引_建立

    -- 查看出现频率select count(*) as cnt,cityfrom sakila.city_demo group by city order by cnt desc limit 10; ...

  5. javaweb学习总结二十一(servlet开发入门、servlet生命周期以及调用过程)

    一:servlet开发入门 servlet是sun公司一门开发动态web资源的技术,下面编写一个servlet入门程序: 1:在tomcat服务器webapps目录下新建firstServlet目录, ...

  6. poj 2186 强连通分支 和 spfa

    思路: 建图时,分别建正向图edge和转置图T.用正向图edge来DFS,找出第一个被发现的强连通分支(如果该图存在题目要求的点,那么一定就是第一个被发现的).然后用spfa跑转置图T,判断被发现的点 ...

  7. 基于ArcEngine与C#的鹰眼地图实现

    鹰眼图是对全局地图的一种概略表达,具有与全局地图的空间参考和空间范围.为了更好起到空间提示和导航作用,有些还具备全局地图中重要地理要素,如主要河流.道路等的概略表达.通过两个axMapControl控 ...

  8. cogs 餐巾 461(贪心)

    /*虽然这暴力剪了又剪 改了又改 还是初始的20分...*/ #include<iostream> #include<cstdio> #include<cstring&g ...

  9. 微信 redirect_uri参数错误 正确的处理

    如果您若成功将微信搭建了到自己的服务器中的情况下,进行网页授权时出现如下图 解决方案: 开发->接口权限->找到类目为"网页服务->网页账号" 点击修改,注意,此 ...

  10. 开始迈入Csharp的世界了

    以前没有学过, 有点兴奋,完全是新手啊. 今天是元宵情人节, 加油↖(^ω^)↗ 分享一些话:   一则拉封丹寓言名字叫寓言<两个朋友>:    一天夜里,一个朋友突然去找另一个朋友.被吵 ...