Linux 搭建SVN 服务器Word文档下载推荐.docx

上传人:b****5 文档编号:21645826 上传时间:2023-01-31 格式:DOCX 页数:11 大小:170.19KB
下载 相关 举报
Linux 搭建SVN 服务器Word文档下载推荐.docx_第1页
第1页 / 共11页
Linux 搭建SVN 服务器Word文档下载推荐.docx_第2页
第2页 / 共11页
Linux 搭建SVN 服务器Word文档下载推荐.docx_第3页
第3页 / 共11页
Linux 搭建SVN 服务器Word文档下载推荐.docx_第4页
第4页 / 共11页
Linux 搭建SVN 服务器Word文档下载推荐.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

Linux 搭建SVN 服务器Word文档下载推荐.docx

《Linux 搭建SVN 服务器Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《Linux 搭建SVN 服务器Word文档下载推荐.docx(11页珍藏版)》请在冰豆网上搜索。

Linux 搭建SVN 服务器Word文档下载推荐.docx

作出自己的修改并调试成功 

-->

Commit(大家就可以看到你的修改了) 

如果两个程序员同时修改了同一个文件呢, 

SVN可以合并这两个程序员的改动,实际上SVN管理源代码是以行为单位的,就是说两个程序员只要不是修改了同一行程序,SVN都会自动合并两种修改。

如果是同一行,SVN会提示文件Confict, 

冲突,需要手动确认。

客户端软件:

(1)Windows下常用的客户端软件常用TortoiseSVN。

它是一个免费的开源的客户端。

下载地址:

(2)向Myeclipse,也有一些SVN的插件。

Subversion提供以下主要功能:

(1)目录版本控制

CVS 

只能跟踪单个文件的历史, 

不过 

实作了一个 

“虚拟” 

的版本控管文件系统, 

能够依时间跟踪整个目录的变动。

目录和文件都能进行版本控制。

(2)真实的版本历史

自从CVS限制了文件的版本记录,CVS并不支持那些可能发生在文件上,但会影响所在目录内容的操作,如同复制和重命名。

除此之外,在CVS里你不能用拥有同样名字但是没有继承老版本历史或者根本没有关系的文件替换一个已经纳入系统的文件。

在Subversion中,你可以增加(add)、删除(delete)、复制(copy)和重命名(rename),无论是文件还是目录。

所有的新加的文件都从一个新的、干净的版本开始。

(3)自动提交

一个提交动作,不是全部更新到了档案库中,就是完全不更新。

这允许开发人员以逻辑区间建立并提交变动,以防止当部分提交成功时出现的问题。

(4)纳入版本控管的元数据

每一个文件与目录都附有一組属性关键字并和属性值相关联。

你可以创建, 

并儲存任何你想要的Key/Value对。

属性是随着时间来作版本控管的, 

就像文件內容一样。

(5)选择不同的网络层

有抽象的档案库存取概念, 

可以让人很容易地实作新的网络机制。

可以作为一个扩展模块嵌入到ApacheHTTP 

服务器中。

这个为Subversion提供了非常先进的稳定性和协同工作能力,除此之外还提供了许多重要功能:

举例来说, 

有身份认证, 

授权, 

在线压缩, 

以及文件库浏览等等。

还有一个轻量级的独立Subversion服务器, 

使用的是自定义的通信协议, 

可以很容易地通过 

ssh 

以 

tunnel 

方式使用。

(6)一致的数据处理方式

使用二进制差异算法来异表示文件的差异, 

它对文字(人类可理解的)与二进制文件(人类无法理解的) 

两类的文件都一视同仁。

这两类的文件都同样地以压缩形式储存在档案库中, 

而且文件差异是以两个方向在网络上传输的。

(7)有效的分支(branch)与标签(tag)

在分支与标签上的消耗并不必一定要与项目大小成正比。

建立分支与标签的方法, 

就只是复制该项目, 

使用的方法就类似于硬连接(hard-link)。

所以这些操作只会花费很小, 

而且是固定的时间。

(8)Hackability

Subversion没有任何的历史包袱;

它主要是一群共用的 

程序库, 

具有定义完善的API。

这使得 

便于维护, 

并且可被其它应用程序与程序语言使用。

二. 

SVN 

服务器搭建

2.1 

使用yum 

安装SVN包

关于YUM 

服务器的配置参考:

Linux 

搭建 

YUM 

服务器

[root@singledb~]#yuminstall-ysubversion

Loadedplugins:

rhnplugin,security

ThissystemisnotregisteredwithRHN.

RHNsupportwillbedisabled.

SettingupInstallProcess

ResolvingDependencies

Runningtransactioncheck

--->

Packagesubversion.i3860:

1.4.2-4.el5_3.1settobeupdated

FinishedDependencyResolution

DependenciesResolved

====================================================================================================

Package 

Arch 

Version 

Repository 

Size

Installing:

subversion 

i386 

1.4.2-4.el5_3.1 

rhel-base 

2.3M

TransactionSummary

Install 

1Package(s) 

Update 

0Package(s) 

Remove 

Totaldownloadsize:

2.3M

DownloadingPackages:

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

|2.3MB 

00:

00 

Runningrpm_check_debug

RunningTransactionTest

FinishedTransactionTest

TransactionTestSucceeded

RunningTransaction

Installing 

subversion 

1/1

Installed:

subversion.i3860:

Complete!

[root@singledb~]#

验证安装版本:

[root@singledb~]# 

svnserve--version

svnserve,version1.4.2(r22196)

compiledAug 

52009,19:

03:

56

Copyright(C)2000-2006CollabNet.

Subversionisopensourcesoftware,seehttp:

//subversion.tigris.org/

ThisproductincludessoftwaredevelopedbyCollabNet(http:

//www.Collab.Net/).

Thefollowingrepositoryback-end(FS)modulesareavailable:

*fs_base:

ModuleforworkingwithaBerkeleyDBrepository.

*fs_fs:

Moduleforworkingwithaplainfile(FSFS)repository.

2.2 

创建SVN 

版本库

[root@singledb~]#mkdir/u02/svn

[root@singledb~]#svnadmincreate/u02/svn/davesvn 

--davesvn为版本库名称

2.3 

配置

创建版本库后,在这个目录下会生成3个配置文件:

[root@singledbconf]#pwd

/u02/svn/davesvn/conf

[root@singledbconf]#ls

authz 

passwd 

svnserve.conf

(1)svnserve.conf:

svn服务配置文件下。

(2)passwd:

用户名口令文件。

(3)authz:

权限配置文件。

svnserve.conf 

文件, 

该文件配置项分为以下5项:

anon-access:

控制非鉴权用户访问版本库的权限。

auth-access:

控制鉴权用户访问版本库的权限。

password-db:

指定用户名口令文件名。

authz-db:

指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制。

realm:

指定版本库的认证域,即在登录时提示的认证域名称。

若两个版本库的认证域相同,建议使用相同的用户名口令数据文件

Passwd 

文件 

我们在svnserve.conf文件里启用这个文件。

然后配置如下:

[root@singledbconf]#catpasswd

###Thisfileisanexamplepasswordfileforsvnserve.

###Itsformatissimilartothatofsvnserve.conf.Asshowninthe

###examplebelowitcontainsonesectionlabelled[users].

###Thenameandpasswordforeachuserfollow,oneaccountperline.

[users]

#harry=harryssecret

#sally=sallyssecret

dave=davepwd

tianlesoftware=tianlesoftwarepwd

在网上找到一个很好的配置例子:

[groups]

admin=john,kate

devteam1=john,rachel,sally

devteam2=kate,peter,mark

docs=bob,jane,mike

training=zak

--这里把不同用户放到不同的组里面,下面在设置目录访问权限的时候,用目录来操作就可以了。

为所有库指定默认访问规则

所有人可以读,管理员可以写,危险分子没有任何权限

[/] 

--对应我测试里的:

/u02/svn 

目录

*=r

@admin=rw

dangerman=

允许开发人员可以完全访问他们的项目版本库

[proj1:

/]

@devteam1=rw

[proj2:

@devteam2=rw

[bigproj:

trevor=rw

文档编写人员对所有的docs目录有写权限

[/trunk/doc]

@docs=rw

培训人员可以完全访问培训版本库

[TrainingRepos:

@training=rw

下面我们来配置我们的authz文件:

[root@singledbconf]#catauthz

admin=dave

dev=tianlesoftware

[davesvn:

@dev=rw

[root@singledbconf]#

2.4 

启动和停止SVN服务

(1)启动SVN服务:

[root@singledbconf]# 

svnserve-d-r/u02/svn

-d表示后台运行

-r 

指定根目录是 

/u02/svn

ps-ef|grepsvn

root 

4592 

018:

04?

00svnserve-d-r/u02/svn

4594 

3709 

04pts/1 

00grepsvn

(2)停止SVN服务:

ps-aux|grepsvn

kill-9 

进程杀掉

三. 

客户端连接SVN 

3.1 

安装TortoiseSVN 

客户端

下载地址在第一节已说明。

3.2 

找到自己项目的目录,右击,进行SVN 

操作

(1)新建测试目录svn,进入后右键,点checkout:

 

服务器的IP地址和版本库名称。

新建个文件svn.txt.把这个文件上传到SVN服务器(add):

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 工作计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1