当前位置: 首页 > news >正文

Linux下创建svn库 和 svn安装与操作

1.介绍

SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。适合中小公司的开发人员不多的项目使用,相比git管理工具更简单.

2.安装svn

2.1 国际惯例 首先看看系统有没安装

rpm -qa | grep subversion

如果有

rpm -e subversion-1.4.2-4.el5_3.1

2.2 就用yum安装就行了

yum -y install subversion
cd /etc/rc.d/init.d
ll | grep 'svn' 
-rwxr-xr-x 1 root root  2243 Feb 12  2014 svnserve

已经安装到系统服务了,安装成功

2.3  建立版本库目录

mkdir /www/svndata
svnserve -d -r /www/svndata --listen-port 63790

-d 表示svnserve.exe 将会作为一个服务程序运行在后台

 -r表示把/www/svndata目录作为根目录

创建一个项目

svnadmin create /www/svndata/website

配置允许用户web访问

cd /www/svndata/website/conf
vi svnserve.conf
anon-access=none
auth-access=write
password-db=passwd
vi passwd
[users]
#<用户1> = <密码1>
#<用户2> = <密码2>
#例如

web=123456

#修改的文件前面不能有空格,否则启动svn server出错

重启svn

killall svnserve 
svnserve -d -r /www/svndata

3.一些操作

3.1 checkout一份SVN

svn co svn://192.168.133.130/www/svndata/website  myweb  

svn://192.168.133.130/www/svndata/website  svn的地址

myweb  自定义的项目名字

如果弹出 。。。not found之类的信息,导出地址改为

svn co svn://192.168.133.130/website  myweb

3.2 更新和提交版本

svn update
svn commit  -m  "20180115"
svn  add  test.php

3.3 查看日志  显示这个文件的所有修改记录,及其版本号的变化

svn info index.php

3.4 比较差异

svn diff   path(将修改的文件与基础版本比较)

4.可能会碰到的问题

4.1  Starting svnserve: svnserve: Can't bind server socket: Address already in use[FAILED]

解决方法:

killall svnserve

5. 实现SVN与WEB同步,可以CO一个出来,也可以直接配在仓库中

cd /var/www/svndata/njlrxx/hooks/

cp post-commit.tmpl post-commit

编辑post-commit,在文件最后添加以下内容

复制代码

REPOS="$1"
REV="$2"
BASEPATH=/var/www/webroot/njlrxx
WEBPATH="$BASEPATH/"
export LANG=zh_CN.UTF-8
svn update $WEBPATH --username jiqing --password 123456 --no-auth-cache

增加脚本执行权限

chmod +x post-commit

最后操作是关闭服务然再打开服务:

相关文章:

  • windows10下PointNet官方代码Pytorch实现
  • vue实现大转盘抽奖
  • 内网文件传输新体验,聊天、传输、自定义,一应俱全
  • Kafka 中的生产者分区策略
  • `accept_ra` 和 `autoconf` 和 `forwarding` 的关系 笔记250404
  • Python爬取数据(二)
  • 剑指Offer(数据结构与算法面试题精讲)C++版——day7
  • 深度解析 n8n:强大的开源工作流自动化平台
  • 【12】RUST智能指针
  • 看雪 get_pwn3(2016 CCTF 中的 pwn3)
  • 25统计建模半自动化辅助排版模板及论文排版格式要求
  • 【Easylive】视频删除方法详解:重点分析异步线程池使用
  • 【HTML-CSS】
  • c++概念—内存管理
  • 【自记录】ubuntu命令行下禁用指定声卡
  • flutter修改 Container 中的 Text 和 Image 的样式
  • 2025年招投标行业的深度变革:洞察趋势,把握未来
  • ES6 新增特性 箭头函数
  • 二分查找算法
  • 飞机的平衡条件及保持平衡的方法
  • dms wordpress 导入 报错/seo是什么部门
  • 网页设计与网站建设选择题/百度电脑端入口
  • 北京做网站哪个公司好/seo是什么意思呢
  • 灵山网站建设/营销策划书