热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

Centos6.5安装subversion使用svn版本库

1、下载、解压subversion:cd~wgethttp://apache.fayea.com/subversion/subversion-1.9.3.tar.gztarzxvfsubversion-1.9.3.tar.gz2、安装subversion需要sqlite的支持,所以先下载sqlite:wgethttp://www.sqlite

1、下载、解压subversion:

cd ~ 
wget http://apache.fayea.com/subversion/subversion-1.9.3.tar.gz
tar zxvf subversion-1.9.3.tar.gz

2、安装subversion需要sqlite的支持,所以先下载sqlite:

wget http://www.sqlite.org/snapshot/sqlite-amalgamation-201511301915.zip
unzip sqlite-amalgamation-201511301915.zip -d ~/sqlite-amalgamation
mv ~/sqlite-amalgamation ~/subversion-1.9.3
cd subversion-1.9.3

3、编译、安装subversion:

./configure --prefix=/usr/local/subversion -with-apxs=/usr/local/apache2/bin/apxs --with-apr=/usr/local/apr --with-apr-util=/root/apr-util-1.5.4/ --with-zlib
make && make install

4、将svn的操作命令放至/usr/bin下:

ln -f -s /usr/local/subversion/bin/svn* /usr/bin

使用svnserve --version来查看subversion的版本,如果显示的是1.9.3表示安装成功

5、为了方便以后操作,把svn的安装目录加入到环境变量:

/etc/profile结尾加上svn的环境变量:

echo -e 'export PATH=/usr/local/subversion/bin:$PATH\n' >> /etc/profile && source /etc/profile

6、安装成功,创建版本库:

mkdir -p /svn/repos  #创建版本库目录,repos目录名可以自定义
svnadmin create /svn/repos #创建版本

7、修改版本库控制:

编辑/svn/repos/conf/svnserve.conf,内容修改为:

[general]
anon-access = none
auth-access = write
password-db = passwd  #用户密码文件
authz-db = authz  #授权登录文件

PS.所有代码前面不能用别的字符,空格也不可以。

8、添加版本库访问的用户:

编辑/svn/repos/conf/authz,添加group和用户:

[groups]
admin = test
[/]
@admin = rw
### 注意:
### * 权限配置文件中出现的用户名必须已在用户配置文件中定义。
### * 对权限配置文件的修改立即生效,不必重启svn。
### 用户组格式:
### [groups]
### = ,
### 其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔。
### 版本库目录格式:
### [<版本库>:/项目/目录]
### @<用户组名> = <权限>
### <用户名> = <权限>
### 其中,方框号内部分可以有多种写法:
### [/],表示根目录及以下,根目录是svnserve启动时指定的,我们指定为/home/svndata,[/]就是表示对全部版本库设置权限。
### [repos:/] 表示对版本库repos设置权限;
### [repos:/abc] 表示对版本库repos中的abc项目设置权限;
### [repos:/abc/aaa] 表示对版本库repos中的abc项目的aaa目录设置权限;
### 权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。
### 权限可以是w、r、wr和空,空表示没有任何权限。

9、添加用户对应的密码:

编辑/svn/repos/conf/passwd,设置用户的密码:

[users]
test = test

这样,就设定了一个用户名和密码都是test的具有读写权限的账户。

10、启动SVN:

/usr/local/subversion/bin/svnserve -d --listen-port 8888 -r /svn
###-d :表示以daemon方式(后台运行)运行;
###--listen-port 9999 :表示使用9999端口,可以换成你需要的端口。但注意,使用1024以下的端口需要root权限;
###-r /home/svndata :指定根目录是/svn

11、将SVN添加到开机启动:

echo -e &#39;/usr/local/subversion/bin/svnserve -d --listen-port 8888 -r /svn\n&#39; >> /etc/rc.local

如果想要停止SVN,可用以下命令:

killall svnserve

客户端使用svn导出、上传这些就不在此记录了,如果需要将别的svn版本库导入到新的svn版本库中,需要进行如下操作:

2.1、将需要移动的版本库完整地导出为一个单独文件:

svnadmin dump local_old_repositories_path > dumpfile_path

PS.导出来的文件是二进制格式,一般的非二进制处理方式的文档编辑器打开、保存后,会破坏格式,导致后续导入时某些提交校验出错。如果仅是完整移动版本库,则不需要编辑dump文件,直接在后面load导入即可。但是想修改其中的字段,建议使用WinHex以16进制方式编辑。

2.2、重新创建一个新的版本库:

svnadmin create new_repositories_path

2.3、将之前的dump文件导入到新的版本库:

svnadmin load new_repositories_path 

2.4、其他操作

svndumpfilter
该命令用于过滤dump文件中的某些文件夹,以得到所需要的工程文件。在我们当前版本库中还不需要这个操作。
经以上操作,已将旧版本库导入到新版本库的目录下。经对比验证,新库跟旧版本库工程内容完全一致,操作成功!

推荐阅读
  • 本文详细探讨了在Web开发中常见的UTF-8编码问题及其解决方案,包括HTML页面、PHP脚本、MySQL数据库以及JavaScript和Flash应用中的乱码问题。 ... [详细]
  • 最适合初学者的编程语言
    本文探讨了适合编程新手的最佳语言选择,包括Python、JavaScript等易于上手且功能强大的语言,以及如何通过有效的学习方法提高编程技能。 ... [详细]
  • Maven + Spring + MyBatis + MySQL 环境搭建与实例解析
    本文详细介绍如何使用MySQL数据库进行环境搭建,包括创建数据库表并插入示例数据。随后,逐步指导如何配置Maven项目,整合Spring框架与MyBatis,实现高效的数据访问。 ... [详细]
  • 流处理中的计数挑战与解决方案
    本文探讨了在流处理中进行计数的各种技术和挑战,并基于作者在2016年圣何塞举行的Hadoop World大会上的演讲进行了深入分析。文章不仅介绍了传统批处理和Lambda架构的局限性,还详细探讨了流处理架构的优势及其在现代大数据应用中的重要作用。 ... [详细]
  • Bootstrap Paginator 分页插件详解与应用
    本文深入探讨了Bootstrap Paginator这款流行的JavaScript分页插件,提供了详细的使用指南和示例代码,旨在帮助开发者更好地理解和利用该工具进行高效的数据展示。 ... [详细]
  • HTML前端开发:UINavigationController与页面间数据传递详解
    本文详细介绍了如何在HTML前端开发中利用UINavigationController进行页面管理和数据传递,适合初学者和有一定基础的开发者学习。 ... [详细]
  • 解决Jenkins编译过程中ERROR: Failed to Parse POMs的问题
    在使用Jenkins进行自动化构建时,有时会遇到“ERROR: Failed to parse POMs”的错误。本文将详细分析该问题的原因,并提供有效的解决方案。 ... [详细]
  • Vim 编辑器功能强大,但其默认的配色方案往往不尽如人意,尤其是注释颜色为蓝色时,对眼睛极为不友好。为了提升编程体验,自定义配色方案显得尤为重要。通过合理调整颜色,不仅可以减轻视觉疲劳,还能显著提高编码效率和兴趣。 ... [详细]
  • 为了在Hadoop 2.7.2中实现对Snappy压缩和解压功能的原生支持,本文详细介绍了如何重新编译Hadoop源代码,并优化其Native编译过程。通过这一优化,可以显著提升数据处理的效率和性能。此外,还探讨了编译过程中可能遇到的问题及其解决方案,为用户提供了一套完整的操作指南。 ... [详细]
  • 分布式开源任务调度框架 TBSchedule 深度解析与应用实践
    本文深入解析了分布式开源任务调度框架 TBSchedule 的核心原理与应用场景,并通过实际案例详细介绍了其部署与使用方法。首先,从源码下载开始,详细阐述了 TBSchedule 的安装步骤和配置要点。接着,探讨了该框架在大规模分布式环境中的性能优化策略,以及如何通过灵活的任务调度机制提升系统效率。最后,结合具体实例,展示了 TBSchedule 在实际项目中的应用效果,为开发者提供了宝贵的实践经验。 ... [详细]
  • 最近,我在CentOS 5服务器上成功部署了GForge 5.7 Community Edition。与Advanced Server版本相比,虽然功能略有简化,但仍然能够满足大多数开源项目管理的需求。为了确保数据安全,我开发了一套全自动备份脚本,该脚本能够定期备份GForge的数据和配置文件,并将其存储在远程服务器上,以防止数据丢失。此外,该脚本还具备错误检测和日志记录功能,便于故障排查和维护。 ... [详细]
  • 如何配置VisualSVN以确保提交时必须填写日志信息
    在软件开发团队中,成员们有时会忘记在提交代码时添加必要的备注信息。为了规范这一流程,可以通过配置VisualSVN来强制要求团队成员在提交文件时填写日志信息。本文将详细介绍如何设置这一功能。 ... [详细]
  • Subversion 可执行文件路径配置错误的问题
    在公司项目的前后端分离环境中,Subversion 可执行文件的路径配置可能出错,主要原因是 SVN 安装时未包含命令行工具。 ... [详细]
  • 在与团队成员合作进行大学项目时,遇到了一个常见问题:.project 文件被从 SVN 存储库中删除,导致 Eclipse 项目配置损坏。本文将探讨这一问题的原因及解决方案。 ... [详细]
  • 本文深入解析了Spring Cloud路由网关Zuul的核心功能及其典型应用场景。通过对方志朋老师教材的学习和实践,详细探讨了Zuul在微服务架构中的重要作用,包括请求路由、过滤器链管理以及服务动态扩展等关键特性。同时,结合实际案例,展示了Zuul在高并发和复杂业务场景下的应用优势,为读者提供了全面的技术参考。 ... [详细]
author-avatar
关于快乐的秘密_473
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有