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

【Linux环境搭建】五、Linux(CentOS7)编译源码安装Subversion

        Subversion(简称为SVN)是一种版本控制系统,能够管理和跟踪项目开发中的代码变化。Subversion最初由CollabNet公司开发,现已成为Apache软件基金会的顶级项目之一。

         Subversion使用一个中央仓库来存储所有项目文件和历史记录。开发人员可以在本地副本上进行修改,然后提交到中央仓库中。Subversion会自动跟踪所有的变更并记录历史记录,同时允许开发人员回滚到以前的版本。

        Subversion支持分支和合并功能,可以对大型项目进行并行开发和管理。此外,Subversion还提供了安全性、权限管理以及集成性的API,使其能够与其他工具和开发环境无缝集成。

Subversion和Git是两种版本控制系统,它们之间的主要区别在于以下几点:

1. 分布式 vs 集中式:Git是一种分布式系统,而Subversion是一种集中式系统。这意味着使用Git时,每个用户都拥有完整的版本库的副本,因此即使在没有网络连接到主服务器的情况下也可以工作。而Subversion需要连接到中央服务器来获得完整的版本控制。这使得Git更适合大型开发团队和开源项目。

2. 分支管理:Git在分支管理方面比Subversion更强大和灵活。Git的分支非常轻量级,创建和合并分支比Subversion更容易。在Subversion中,分支是完整的目录副本,因此更加笨重。

3. 性能:由于Git的分布式设计,其网络性能比Subversion更好。Git允许在本地缓存一些文件和历史记录,因此在大型项目中比Subversion快得多。

4. 文件名大小写敏感:Git对待文件名的大小写敏感,而Subversion在某些平台上对待文件名的大小写不敏感。

5. 描述性提交:Git鼓励编写清晰、易于理解的提交注释,而Subversion则没有这样的要求。在Git中,提交注释非常重要,因为它们可以用来描述项目中的重要变更。

总之,Subversion和Git都是很好的版本控制系统,但它们在一些方面有所不同。选择哪种系统取决于您的项目需求和个人偏好。

以下是Subversion的安装配置步骤:

1、安装apr-util

#yum install apr-util apr-util-devel

2、安装sqlite

#yum install sqlite sqlite-devel

3、安装zlib

#tar zxf zlib-1.2.8.tar.gz
#cd zlib-1.2.8
#./configure
#make && make install

4、解压subversion

#tar -xvzf  subversion-1.9.3.tar.gz
#cd subversion-1.9.3/
#./configure --prefix=/usr/local/subversion --with-zlib=/usr/local/src/zlib-1.2.8
#make
#make install

5、添加到环境变量

vi /etc/profile
source /etc/profile

6、创建库

#svnadmin create /usr/local/subversion
#cd /usr/local/subversion/conf
#vi svnserve.confanon-access = none      //改成none
auth-access = write
password-db = passwd
realm = my_dev           //改成组#vi authz     //文件,创建svn组和组用户的权限
my_dev = admin#vi passwd
admin= admin@123

启动svn:

svnserve -d -r /hisc/local/subversion
然后要设置自启动
vi /etc/rc.local    打开自启动文件添加
/usr/local/subversion/bin/svnserve -d -r /hisc/local/subversion

svn命令:

netstat -tnl |grep :3690   查看svn是否启动
ps aux |grep 'svn'  查找所有svn启动的进程

备份svn库(在旧环境上操作)

#svnadmin dump /mnt/svnrepos/ > /mnt/svn_bak20150921
http://www.lryc.cn/news/192774.html

相关文章:

  • 微信小程序入门讲解【超详细】
  • AtCoder ABC239G 最小割集
  • Simple RPC - 01 框架原理及总体架构初探
  • VScode运行C/C++
  • #智能车项目(三)串口初始化
  • 网络通信错误代码列表 HTTP 、FTP
  • 最新开源ThinkPHP6框架云梦卡社区系统源码/亲测可用(全新开发)
  • [ROS2系列] ubuntu 20.04测试rtabmap
  • 【Java学习之道】JavaFx 框架与组件介绍
  • Windows bat 脚本设计-开机自启动服务的方法、bat 调用另外的 bat 脚本 -没有java环境也能运行jar,在不安装jdk下如何运行jar包
  • zabbix触发器与动作
  • 华纳云:Nginx服务器可视化配置问题怎么解决
  • C指针与一维二维数组、数组指针与指针数组、函数指针_数组的理解使用
  • 安装运行vue-element-admin的报错问题-解决办法
  • 高数笔记03:几何、物理应用
  • js + selenium 获取chatgpt的accessToken
  • Spring MVC 十一:中文乱码
  • Excel恢复科学技术法显示的数据
  • springboot 志同道合交友网站演示
  • 如何理解BFC、开启BFC、BFC解决哪些问题
  • 3D包容盒子
  • 用 Three.js 创建一个酷炫且真实的地球
  • 【数据结构】线性表与顺序表
  • ChatGPT
  • 矿区井下智慧用电安全监测解决方案
  • 网站列表页加密:三次请求后返回内容多\r
  • 12.JVM
  • 关于网络协议的若干问题(四)
  • opencv图像卷积操作和常用的图像滤波函数
  • 习题1. 31