Centos系统下安装SVN服务器方法介绍(非常详细)

分支开发的意义:

场景一,有客户想对产品做定制,但是我们并不想修改原有的svn中trunk的代码。
场景二,我们正在开发产品下阶段的任务,但上阶段的工作发现问题
以场景二为例,项目某一阶段开发完成后,这个时候要做一个tag,tag_mfcai_V1.01.00,
然后基于这个tag发布一个新的版本,假设项目是web项目,那么基于这个tag发布一个web包。
然后trunk进入下阶段继续开发,但是很不幸发布的版本被检测出来了bug,有人会提议,把bug放到下阶段的任务中去。假设下阶段的任务才刚开始,用户可等不起.他们会认为一个小的bug解决要这么长时间,效率太低了.
那么就需要基于tag_mfcai_V1.01.00做一个branch,branch_bugfix_V1.01.00,基于这个branch进行bugfix,
等到bugfix结束,做一个tag,tag名称假设为:tag_mfcai_V1.01.01,基于这个tag再发布一个版本。
这样,又没有影响trunk(主分支)的开发。然后,根据需要决定branch_bugfix_V1.01.00是否并入trunk。
如何使用先进的分支技术

再介绍点打tag的知识。确认项目组成员的代码都commit后。

1)右击要打tag的目录—>TortoiseSVN—>branch/tag

2)再弹出来的对话框中,要求输入分支或标记的目标路径

3)创建分支或标记的时候,你有三个选项版本库中的最新版本,版本库中的指定版本,工作副本。

开始打分支第一步

1:指分支将存在的目录

2:分支的注释(不能丢呀,等分支多了!就搞坨数不清楚的拉)

3:这里分别说明三个分别是说明啥意思

     1)Head revision in the repository  –直接从版本库中最新创建,由于不需要从你的工作拷贝中传输数据,创建过程会很快。

     2)  Specific revision in repository   ——同样是从版本库中创建,不同的是你可以指定一个版本号。如果你忘了版本号,可以通过显示版本记录来找到你想要的版本号(如下图)。这种方式同样不需要从你的工作拷贝中传输数据,创建过程也很快。

     3)  Woking copy ——这种方式会依据当前工作拷贝的版本状况(无论是你做了本地的修改,或是将其中的某些文件更新到了一个历史版本)来创建分支拷贝。这种创建方式会根据工作副本中每个文件的版本情况来决定是否要从工作拷贝向版本库中传输数据。

在这里我们必需先弄明白一个合并背后的关健概念

合并的过程中发生的所有事:首先两个版本库树的比较,然后将区别应用到本地拷贝.

这个命令是包括三个参数的:

初始的版本树 2.最终的版本树 3一个接收区别的工作拷贝。
弄明白这些概念之后我们继续往下操作。

在弹出的窗口中,选择主线目录和其版本号(初始的版本树),再选择主线目录和最新的版本号(最终的版本树),这里也可以是某一个版本号但应该比初始的版本树的版本号要高,接收区默认为你右键所指的目录,这里是clientt。

在合并之前我们可以通过点击“Unified diff”,查看两版本树之间所有文件的内容的变化,“diff”显示出有发生变化的文件列表,“dry run”能显示真正合并时的状态信息,但并没有做任何的合并操作。

我们点击“Merge”。
这里选择的是合并两个不同的版本树
分支合并到主线跟从主线上合并内容到分支上类似
不同的是
1、开始的版本库是分支创建的版本

2、结束的版本库是完成所以开发工作之后的版本

3、应用的目的是主线目录
SVN服务器代建小礼包
SVN 关闭服务器 killall svnserve
SVN 开启服务器 svnserve -d -r  /SVN目录
后面的代建的全过程
系统环境
RHEL5.4最小化安装(关iptables,关selinux) + ssh + yum

一,安装必须的软件包.

yum install subversion (SVN服务器)
mysql-server (用于codestriker)

二,基本的SVN服务器配置

1,新建一个目录用于存储SVN所有文件
# mkdir /home/svn
2,新建一个版本仓库
# svnadmin create /home/svn/project
3,初始化版本仓库中的目录
# mkdir project project/server project/client project/test (建立临时目录)
# svn import project/ file:///home/svn/project -m “初始化SVN目录”

SVN服务器代建之后一定要初始化,不然根本就用不了。

4,添加用户

要添加SVN用户非常简单,只需在/home/svn/project/conf/passwd文件添加一个形如“username=password”的条目就可以了.为了测试,我添加了如下内容:

[users]
# harry = harryssecret
# sally = sallyssecret
Admin=admin

5,修改用户访问策略

/home/svn/project/conf/authz记录用户的访问策略,以下是参考:

[/]
Admin=rw
Admin 所有的目录都是读写的权限

6,修改svnserve.conf文件,让用户和策略配置升效.

svnserve.conf内容如下:

[general]
anon-access = none
auth-access = write
password-db = /home/svn/project/conf/passwd
authz-db = /home/svn/project/conf/authz

7,启动服务器

# svnserve -d -r /home/svn

8,测试服务器

# svn co svn://192.168.60.10/project
Authentication realm: <svn://192.168.60.10:3690> 92731041-2dae-4c23-97fd-9e1ed7f0d18d
Password for 'root':
Authentication realm: <svn://192.168.60.10:3690> 92731041-2dae-4c23-97fd-9e1ed7f0d18d
Username: Admin
Password for 'admin':
svn: Authorization failed ( server_group没用根目录的访问权 )
A    project/test
A    project/server
A    project/client
Checked out revision 1.  ( 测试提取成功 )
# cd project/server
# vim main.c
# svn add main.c
# svn commit main.c -m "测试一下我的C程序,看什么看,不行啊??"
Adding         main.c
Transmitting file data .
Committed revision 2.  ( 测试提交成功 )
如果你代建的SVN服务器都OK,但是小乌龟无法访问:防火墙的问题。。。简单粗暴的方法: etc/ini.d/iptables stop
当然不是好太建议直接关闭防火墙:(SVN默认是3690端口)

RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 3690 -j ACCEPT

再送一个小礼包

SVN Error: Unreadable path encountered; access denied;

解决方法:

编辑[代码仓库目录下]/conf/svnserve.conf
将[anon-access]的值设置为[none]
记得重启SVN服务器

时间: 2024-11-05 16:34:03

Centos系统下安装SVN服务器方法介绍(非常详细)的相关文章

在CentOS系统下安装SVN服务器的教程

  Subversion支持linux和windows,更多是安装在linux下. svn服务器有2种运行方式:独立服务器和借助apache.2种方式各有利弊. svn存储版本数据也有2种方式:BDB和FSFS.因为BDB方式在服务器中断时,有可能锁住数据,所以还是FSFS方式更安全一点. 一.下载相关软件 代码如下: wget http://subversion.tigris.org/downloads/subversion-1.6.1.tar.gz 代码如下: wget http://sub

centos系统下配置vsftp(ftp)方法介绍

最近购买了阿里云的云主机,自己在配置好php环境后在去配置ftp: 大致过程为: 首先安装vsftp.1安装vsftpdyum install vsftpd 按Y回车,系统自动安装 /etc/init.d/vsftpd start #启动vsftpd service vsftpd restart #重启 service vsftpd stop #停止 chkconfig vsftpd on #设置开机时自动运行2.配置vsftp服务器配置文件说明: /etc/vsftpd/vsftpd.conf

Centos系统中安装SVN服务器的教程

安装:  代码如下 复制代码 # yum install subversion 测试安装是否成功:  代码如下 复制代码 # svnserve --version 建立版本库:  代码如下 复制代码 # mkdir /data/lin/svndata [目录自己定义] # svnadmin create /data/lin/svndata/project [创建版本库] 配置svn配置文件(为了方便管理,这里多个库调用相同的配置文件.)  代码如下 复制代码 #每个版本库创建之后都会生成svns

ubuntu 12.04系统中安装SVN服务器的方法

1.安装命令 sudo apt-get install subversion(遇到报错的话 ,先更新软件源  sudo apt-get update) 2.创建项目目录 sudo mkdir /home/svn sudo mkdir /home/svn/project sudo chmod -R 777  /home/svn/project/ 3.创建svn仓库 sudo svnadmin create /home/svn/project 4.进入(create /home/svn/projec

Windows7系统下安装JDK的方法

Windows7系统下安装JDK的方法:要学习JAVA,首先要安装JDK.下面总结一下我在安装JDK时遇到的问题,主要是环境变量设置这一块. 1.首先到官网上下载了JDK的安装包,按正常步骤安装(这里不介绍具体的安装步骤) 2.配置环境变量:(我先介绍一下我开始的步骤,按照书上的步骤执行的,但是结果是失败的) (1)设置环境变量JAVA_HOME设置成你JAVA的安装路径,路径里有bin,jre等文件夹 (2)设置系统变量Path设置:在原来的变量后面直接添加;%JAVA_HOME%bin;%J

Linux(CentOS)系统下安装好apache(httpd)服务后,其他电脑无法访问的原因

原文:Linux(CentOS)系统下安装好apache(httpd)服务后,其他电脑无法访问的原因 今天试了下在虚拟机上利用CentOS系统的yum命令安装好了httpd(apache2.4.6),然后在windows系统下访问此虚拟机的ip地址,却访问不了. 因为前段时间有知道过iptable的限制,所以在想是不是因为iptable限制了80端口呢! 所以在网上找了下iptable的命令,并且把tcp的80端口设置成允许任何IP都可以访问: iptables -I INPUT -p TCP

U盘PE系统下安装xp的方法

需要用到的工具:winxp原版系统iso镜像+启动U盘 电脑店U盘制作工具 1.进入第一个PE后找到我们事先准备好的xp光盘iso镜像,右键点击加载虚拟磁盘(也可以利用虚拟光驱来加载或者直接用右键里的RAR解压到本地硬盘分区) 2.打开桌面上的windows安装工具,选择刚才加载的虚拟磁盘(如果前面是直接解压的ISO文件,点浏览的时候选择解压后的目录) 3.点击下一步,后面选择安装和引导分区,一直点击下一步开始安装后等进度条走完重启电脑拔掉U盘就可以继续系统安装了. 其它PE里安装步骤与此相似,

在Windows系统下搭建SVN服务器

通常的SVN服务器是搭建在Linux等系统下,例如用Apache+SVN配置,Linux下的SVN性能会非常好,但配置有些繁琐,如果SVN服务器只有自己使用,那么可以直接把SVN服务器搭建在个人Windows环境下使用. 前文所述SVN客户端使用的时候,用的SVN服务器通常为外部,例如Google Code的服务器,不过,做为一个程序开发人员,就算自己一个人写程序,也应该有一个SVN版本控制系统,以便对开发代码进行有效的管理.这里我就介绍一个在Windows环境下简单快速搭建SVN服务器的方法.

Linux 搭建SVN 服务器方法介绍

一. SVN 简介 Subversion(SVN) 是一个开源的版本控制系?, 也就是说 Subversion 管理着随时间改变的数据. 这些数据放置在一个中央资料档案库 (repository) 中. 这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变动. 这样你就可以把档案恢复到旧的版本, 或是浏览文件的变动历史. SVN中的一些概念 : (1). repository(源代码库) 源代码统一存放的地方 (2). Checkout (提取) 当你手上没有源代码的时候,你需要从r