安装svn测试环境

本文详细介绍了如何在 CentOS 6.5 环境下通过 Web Service 模式安装并配置 SVN 服务器的过程,包括 SVN 客户端下载、版本检查、项目库创建、导入项目文件、配置项目文件、导出项目到测试目录、启动 SVN 守护进程等步骤,并提供了如何解决 SVN 更新过程中遇到的冲突以及如何在不同目录间整合项目文件的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

centos 6.5 web service模式 安装svn测试服务器

1 下载subversion

shell>yum install subversion

2 查看安装的版本

[root@cuijian /]# svn --version

3 建立一个项目的版本库

[root@cuijian /]# svnadmin create /var/svndata/zmqnw_mobile

4 导入项目文件

[root@cuijian conf]# export EDITOR=vi
[root@cuijian conf]# svn import /home/www/zmqnw_mobile file:///var/svndata/zmqnw_mobile -m 'import'

日志信息未修改,或未指定
a)终止,c)继续,e)编辑:

5 配置项目文件

[root@localhost conf]# vi passwd

加入下面的行:

cuijian = xxxxx
zhixiaofei = xxxxx

[root@localhost conf]# vi svnserve.conf

改动如下:

anon-access = none
auth-access = write

password-db = passwd

[root@cuijian hooks]# vi post-commit  --配置钩子文件,自动提交

加入:

#!/bin/sh
export LANG=en_US.UTF-8

#以www身份更新工作副本

su - www -c "svn up  /home/www/zmqnw_mobile --accept theirs-full"
#svn up /home/www/zmqnw_mobile --accept=theirs-full

svn up 解决冲突-命令详解:

第一种,利用update的选项进行冲突解决,也就是说不管当前拷贝副本是否是最新版本,都使用—accept参数作为冲突处理方式

  --accept ARG             : specify automatic conflict resolution action
                            ('postpone', 'base', 'mine-conflict',
                             'theirs-conflict', 'mine-full', 'theirs-full',
                             'edit', 'launch')

(p)  postpone    - mark the conflict to be resolved later //让文件在更新完成之后保持冲突状态。
(df) diff-full   - show all changes made to merged file //使用标准区别格式显示base修订版本和冲突文件本身的区别。
(e)  edit        - change merged file in an editor //用你喜欢的编辑器打开冲突的文件,编辑器是环境变量EDITOR设置的。
(r)  resolved    - accept merged version of file //完成文件编辑之后,通知svn你已经解决了文件的冲突,它必须接受当前的内容—从本质上讲就是你已经“解决了”冲突。
(mf) mine-full   - accept my version of entire file (ignore their change//丢弃新从服务器接收的变更,并只使用你查看文件的本地修改。
(tf) theirs-full - accept their version of entire file (lose my changes)//丢弃你对查看文件的本地修改,只使用从服务器新接收的变更。
(l)  launch      - launch external tool to resolve conflict//启动一个外置程序来执行冲突解决,这需要一些预先的准备。
(h)  help        - show this list //显示所有在冲突解决时可能使用的命令。

 

[root@cuijian hooks]# chmod a+x post-commit

6 导出项目 到测试安装目录

[root@cuijian www]# svn checkout file:///var/svndata/zmqnw_mobile /home/www/zmqnw_mobile 

7把svn守护进程开启

[root@cuijian www]# svnserve -d -r /var/svndata   

 或者 svnserve -d -r /home/work/repo  --listen-port 8099

 

客户端输入如下,便可开启:

svn://192.168.0.61/zmqnw_mobile

8 如何做到不同目录文件,放到一个svn里

在项目里放一个build.sh, 如下:

#!/bin/sh

#在当前目录执行 sh build.sh,然后将该文件拷贝至 odp 根目录。解压即可,tar -zxvf law.tar.gz
PRODUCT_NAME="lvshi"
APP_NAME="law"
rm -rf output
mkdir -p output/app/$APP_NAME
mkdir -p output/conf/app
mkdir -p output/webroot/$APP_NAME
mkdir -p output/template
mkdir -p output/php/phplib/$PRODUCT_NAME/api/$APP_NAME
cp -r actions controllers library models script Bootstrap.php output/app/$APP_NAME
cp -r conf/*  output/conf/
cp -r index.php  output/webroot/$APP_NAME
cp -r api/* output/php/phplib/$PRODUCT_NAME/api/$APP_NAME
cp -r template/* output/template
cp -r static output/webroot/
cp -r webserver output/
cd output
find ./ -name .svn -exec rm -rf {} \;
tar cvzf law.tar.gz app conf webroot php template
rm -rf app conf webroot php template

  钩子文件post-comit修改如下:

#!/bin/sh

# 1 更新项目文件
/home/bae/.jumbo/bin/svn up /home/bae/xxxx/app/law --accept=theirs-full

# 2 打包
cd /home/bae/xxxx/app/law
sh build.sh

# 3 分发项目文件
cd /home/bae/xxxx/
mv /home/bae/xxxx/app/law/output/law.tar.gz /home/bae/xxxx/law.tar.gz
tar -zxvf law.tar.gz
rm law.tar.gz

  

转载于:https://www.cnblogs.com/thrillerz/p/3962965.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值