怎样搭建本地svn服务器环境

怎样搭建本地svn服务器环境,第1张

搭建SVN服务器端:

1 解压缩svn到一个目录, 例如c:\svn

2 解压缩svnservice的压缩包, 将svnserviceexe放入c:\svn\bin

3 安装TortoiseSVN, 安装完毕时会提示重新启动计算机, 重启完毕后安装简体中文语言包, 然后在随便一个目录右击, 就会发现多出了一些SVN相关菜单, 选择其中的TortoiseSVN, 再选择子菜单"Settings", 设置Language为"中文(简体)"

4 打开"我的电脑", 建立一个存放svn信息的目录, 例如c:\svnhome, 然后返回在c盘, 右击这个svnhome目录, 在出现的菜单中选择TortoiseSVN, 再选择子菜单"在此创建文件库", 选择fsfs方式即可 (注: 这里选择创建文件库实际上就相当于让TortoiseSVN代替你进行了svnadmin create c:\svnhome的操作)

5 在dos控制台状态下cd c:\svn\bin 然后svnservice -install -d -r c:\svnhome 再net start svnservice来将其作为服务运行, 建议你再到控制面板-管理工具-服务中找到SVNService, 右击选择"属性", 再将其启动类型设置为"自动"

6 打开c:\svnhome, 你会发现已经多了一些目录和文件, 打开conf子目录, 打开svnserveconf文件, 这里行前凡是有#的都等于是被注释忽略了, 你可以把#去掉让那一行生效, 或者自己新添加行 里面的英文注释已经详细说明了各种设置的含义, 最后你设置[general]小节中行前没有#号的内容为:

anon-access = none

auth-access = write

password-db = passwd

含义是:

未验证用户无任何权限 (如果把none修改为read就是给予读权限)

已验证用户给予写权限 (当然也能读)

密码数据存放到passwd文件中

然后打开同目录的passwd文件来设置帐户:

同样, 设置[users]小节中行前没有#号的内容, 例如:

snowman=abc123

含义是:

用户snowman的密码为abc123

6 打开"我的电脑", 在你需要进行版本控制的目录上右击, 选择TortoiseSVN, 再选择子菜单"导入", 设置"文件库url"为svn://localhost 点确定后就会提示文件正在导入 (注: 这里是svn文件库与svn服务是同一台计算机的情况, 所以可用localhost, 其它机器如果要访问svn服务, 应该用svn://svn服务器的IP地址, 例如svn://100052)

至此, SVN服务器配置完成

客户端配置:

1 没安装TortoiseSVN的计算机先安装它并重启计算机 (注: 具体步骤参照前面搭建服务器端的第3步)

2 创建一个准备用来存放版本控制工程的目录, 例如d:\project, 然后在"我的电脑"中右击这个目录, 选择"SVN取出", 设置"文件库url"为svn://svn服务器的IP地址, 接下来会问你用户名和帐号, 你就填写前面搭建服务器端所设置的用户snowman密码abc123

(文件库url可参照前面搭建服务器端第6步的注解)

点确定后就会提示文件正在取出到d:\project

至此, SVN客户端配置完成, 你会看到d:\project及其下面的文件都被标记了绿色对勾

客户端的简单日常使用:

1 要取得工程的当前的最新版本, 右击d:\project, 选择"SVN更新"

2 你更改工程后, 要将你的修改更新到SVN, 右击d:\project, 选择"SVN提交" (谨慎的话请先更新到SVN最新版本后再提交)

svn(subversion)是近年来崛起的版本管理工具,是cvs的接班人。目前,绝大多数开源软件都使用svn作为代码版本管理软件。如何快速建立Subversion服务器,并且在项目中使用起来,这是大家最关心的问题,与CVS相比,Subversion有更多的选择,也更加的容易,几个命令就可以建立一套服务器环境,

本文是使用Subversion最快速的教程,在最短的时间里帮助您建立起一套可用的服务器环境,只需略加调整就可以应用到实际项目当中。

本教程分为以下几个部分,为了说明简单,教程是在windows下使用的方式,以方便资源有限的项目使用。在UNIX环境下,只是安装方式不同,命令执行并无太大区别。

工具/原料

Subversion服务器程序安装包

Subversion的Windows客户端TortoiseSVN安装包

方法/步骤

1软件下载

<1>、下载Subversion服务器程序

到官方网站的下载二进制安装文件,来到二进制包下载部分,找到 Windows NT, 2000, XP and 2003部分,然后选择Apache 20 或者 Apache 22,这样我们可以看到许多下载的内容,目前可以下载Setup-Subversion-1712msi 。

<2>、下载Subversion的Windows客户端TortoiseSVN。

TortoiseSVN是扩展Windows Shell的一套工具,可以看作Windows资源管理器的插件,安装之后Windows就可以识别Subversion的工作目录。

官方网站是TortoiseSVN ,下载方式和前面的svn服务器类似,在Download页面的我们可以选择下载的版本,目前的最高稳定版本的安装文件为TortoiseSVN-15514361-win32-svn-154msi。

2svn服务器和客户端安装

<1>、安装Subversion,直接运行Setup-Subversion-153msi ,根据提示安装即可,这样我们就有了一套服务器可以运行的环境。

<2>、安装TortoiseSVN,同样直接运行TortoiseSVN-15514361-win32-svn-154msi按照提示安装即可,不过最后完成后会提示是否重启,其实重启只是使svn工作拷贝在windows中的特殊样式生效,与所有的实际功能无关,这里为了立刻看到好的效果,还是重新启动机器。

<3>、安装svn的客户端程序,需要的话还可以安装svn的语言包,注意语言包的版本也必须与客户端程序的版本一致

3建立版本库(Repository)

运行Subversion服务器需要首先要建立一个版本库(Repository),可以看作服务器上存放数据的数据库,在安装了Subversion服务器之后,可以直接运行,如:

svnadmin create E:\svndemo\repository

就会在目录E:\svndemo\repository下创建一个版本库。

我们也可以使用TortoiseSVN图形化的完成这一步:

在目录E:\svndemo\repository下"右键->TortoiseSVN->Create Repository here“, 然后可以选择版本库模式, 这里使用默认即可, 然后就创建了一系列目录和文件。

步骤阅读 4SVN配置用户和权限

来到E:\svndemo\repository\conf目录,修改svnserveconf:

# [general]

# password-db = passwd

改为:

[general]

password-db = passwd

然后修改同目录的passwd文件,去掉下面三行的注释:

# [users]

# harry = harryssecret

# sally = sallyssecret

最后变成:

[users]

harry = harryssecret

sally = sallyssecret

在passwd文件中,“=”前的字符就是用户名,后面的就是密码。还要注意“[users]”前面的注释“#”一定要删除掉。

步骤阅读 5运行独立服务器

在任意目录下运行:

svnserve -d -r E:\svndemo\repository 我们的服务器程序就已经启动了。注意不要关闭命令行窗口,关闭窗口也会把svnserve停止。

6初始化导入

来到我们想要导入的项目根目录,在这个例子里是E:\svndemo\initproject,目录下有一个readmetxt文件:

右键->TortoiseSVN->Import

在URL of repository输入“svn://localhost/trunk”

在Import Message中输入你的日志信息

完成之后目录没有任何变化,如果没有报错,数据就已经全部导入到了我们刚才定义的版本库中。

需要注意的是,这一步操作可以完全在另一台安装了TortoiseSVN的主机上进行。例如运行svnserve的主机的IP是1339612122,则URL部分输入的内容就是“svn://1339612122/trunk”。

步骤阅读 7基本客户端操作

取出版本库到一个工作拷贝:

来到任意空目录下,在本例中是E:\svndemo\wc1,运行右键->Checkout,在URL of repository中输入svn://localhost/trunk,这样我们就得到了一份工作拷贝。

在工作拷贝中作出修改并提交:

打开readmetxt,作出修改,然后右键->Commit,这样我们就把修改提交到了版本库,我们可以运行。

察看所作的修改:

readmetxt上右键->TortoiseSVN->Show Log,这样我们就可以看到我们对这个文件所有的提交。在版本1上右键->Compare with working copy,我们可以比较工作拷贝的文件和版本1的区别。

最后,所有的内容都已经录制为动画文件,大家可以参考。

关于本教程大家有什么意见,可以这里讨论 。

如果更新文件以后,有两个人或者多个人同时修改了某个文件的某个位置,是否冲突,(一般不会这样子,因为上传的版本是可以编译通过的,而且每个人负责自己的模块,不会多人独立修改同一个文件,别人也是先更新,后上传修改,,,,)

开发者习惯性动作。早上上班第一件事就是更新svn版本库,再开始一天的工作。

晚上下班,或者其他时候要上传东西可以直接上传因为你负责的东西没人去修改。

冲突是怎么产生的呢:因为不同的人,同时修改了同一个文件的同一个地方,这个时候,他提交了,你没有提交,你就提交不了,这个时候,你要先更新,更新就会出现代码冲突问题。最好不要多人同时修改一个文件,公用的文件,更改之前要和大家沟通一下,或者解决冲突 呵呵

先更新,没有冲突,再提交。有冲突,解决冲突再提交。否则也提交不了。

对于一些处于冲突状态下的文件 ,右键TortoiseSVN ->Resolved,解决冲突。解决冲突: http://wwwblogjavanet/jasmine214--love/archive/2011/04/07/347769html

更新-解决冲突-删掉以下三个文件-提交(如果自己没有修改的文件有冲突,删除再更新即可,自己修改的文件解决冲突)

testphpmine 是冲突前自己的文件

testphp版本号 是冲突前本地的版本文件

testphp服务器的版本号 是冲突后服务器版本文件

END注意事项

如果修改文件后提交不了,大多是因为版本不一致造成的。更新一下,不产生冲突的情况,就可以提交了。

更新文件,如果出现冲突的情况,打开冲突文件testphp会看到类似以下的内容

<<<<<<<<<<<<<<<

asdfadfadfadf

11111111111111

=======

asdfadfadfadf

111111111111111

222222222222

>>>>>>>>>>>>>>>>

结合别人修改的内容和自己修改的内容,然后把文件中的<<<<<,=====,>>>>>>>这类冲突符号去掉。去掉后,还是不能提交的,为什么?因为冲突时会产生三个文件,有这三个文件存在肯定提交不了。

客户端用的tortoisesvn(这个估计程序员用的最多),冲突时会多产生,三个文件

testphpmine 是冲突前自己的文件

testphp版本号 是冲突前本地的版本文件

testphp服务器的版本号 是冲突后服务器版本文件

提交的时候,把这三个文件删除掉就可以提交了。

产生覆盖的原因。

a),在修改冲突文件testphp时,把别人代码都删除掉了,只留下了自己的代码。这样就会产生覆盖了。

b),把testphpmine中的内容直接copy到testphp文件,这样也会产生代码覆盖。

上面二种情况都是我亲眼看到新手这样操作的,要避免这二种操作方法。

1首先,假设你的电脑是win7 64位的,你要准备的东西:VisualSVN-Server-301-x64msi和TortoiseSVN-18825755-x64-svn-1810msi

2安装完之后

3打开VisualSVN Server Manager,直接右键Repositories,Create New Repository,输入Repository Name,假设输入的是testsvn,OK

4那么现在在Repositories下就会有一个资源名称叫testsvn

5那么我们现在右键Users,Create User,输入名称密码都是testsvn,OK,我们这就创建了一个叫testsvn的用户了,以后可以用它检入检出数据了

6现在我们要检出这个资源的东西,右键Repositories下的testsvn,Copy Url to ClipBoard,这样就选中了它的url了

7我们在C盘右键,选择SVN Checkout,在URL of repository粘贴,OK

8经过以上步骤之后,你可以检出你的项目了,请尝试在里面新建修改文件提交就行了

9如果你要在eclipse里面使用也可以,因为你已经有了url和用户名密码

10如果我重装系统之后,资源是不是消失了?没关系,在菜单栏的操作(A)-Properties里面设置你的Repositories Root,这样,无论你怎么重装,都没有关系了,自己的svn,局域网的svn就这么配置好了。

在windows上搭建SVN很简单,但是效能却不高,这当然是和linux相比了然而在linux上搭建SVN却非常繁琐,这篇文章就来一步一步教您如何在Centos上搭建SVN

源码目录:/home/user/project

工程名:project

工程目录:/source/svn/project

访问地址:svn://ip/project

一、 安装svn

yum install subversion

二、 svn服务器配置

1 创建svn根目录

mkdir /source/svn

2 添加工程

svnadmin create /source/svn/project

3 导入工程初始文件(可省)

svn import /home/user/project/ file:///source/svn/project -m "init project"

4 配置工程用户

进入工程的配置目录:

cd /source/svn/project/conf

下面一共三个文件:authz passwd svnserveconf

passwd: 里面保存用户信息,基本格式为:user = passwd

authz: 里面保存用户的分组信息,以及每个组的访问权限

svnserveconf: 里面保存服务器的基本配置(下面介绍)

针对该例子的配置如下:

41 passwd里面添加用户

[users]

pm = pm123

42 authz配置用户权限

复制代码

[grouPS]

#添加一个分组(实际当中可以添加多个,每个组可以有多个用户以,隔开)

pm_g = pm

# 该项目的权限配置

[project:/]

# pm_g分组配置读写权限(实际中可以增加只读分组)

@pm_g = rw

43 svnserveconf配置(可默认)

# 匿名用户权限(none:拒绝, write:读写, read:只读权限)

anon-access = none

# 鉴权用户访问

auth-access = write

# 用户信息配置文件(也可以是绝对路径)

password-db = passwd

# 权限配置文件

authz-db = /source/svn/project/conf/authz

三、 启动svn服务器

svnserve -d -r /source/svn

四、 拉取代码

svn co svn://ip/project

一,安装svn服务器

在Linux中安装了服务端,

$ yum install subversion

二,在Windows中安装客户端(TortoiseSVN-19427285-x64-svn-194msi)

三,基本的SVN服务器配置

1,新建一个目录用于存储SVN所有文件

$ mkdir /svn

2,新建一个版本仓库$ svnadmin create /svn/project

3,添加用户

要添加SVN用户非常简单,只需在/svn/project/conf/passwd文件添加一个形如“username=password”的 账号为username和密码为password

[users]

mysj = mysj

test = test

5,修改用户访问策略

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

[groups]

admin=mysj //将用户进行分组

user=test

[project:/] //进行授权

@admin = rw //r表示读,w表示写

@user = r

=

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

svnserveconf内容如下:

此处切记要注意空格,不然会导致svn配置不成功

[general]

anon-access = none

auth-access = write

password-db = /svn/project/conf/passwd

authz-db = /svn/project/conf/authz

7,启动服务器

# svnserve -d -r /svn

注意:如果修改了svn配置,需要重启svn服务,步骤如下:

$ ps -aux|grep svnserve

$ kill -9 ID号 杀死服务

$ svnserve -d -r /svn

四,在Windows系统中检出svn的文件,此时的地址也应该为 svn://Linux的ip地址/project/文件夹名(你自己创建的)。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 怎样搭建本地svn服务器环境

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情