SVN安装使用手册[转]

上一篇 / 下一篇  2009-02-23 18:09:19 / 个人分类:配置管理

一、           Subversion介绍

Subversion 是一个自由/开源的,专门针对CVS的不足而开发的版本控制系统。Subversion是版本管理的后台系统,其核心是保存数据的档案库-repository。档案库用分层的“文件-目录”文件系统数来存储数据。连接到档案库的客户能读写数据。档案库记录了用户的每一次修改!客户端可以从档案库中提取到过去的版本。

体系结构:采用了B/S与C/S相结合的方式。

B/S结构:可以通过浏览器访问仓库。

C/S结构:安装TortoiseSVN后访问仓库。

从某种程度上来说,允许用户在各自的空间里修改和管理同一组数据可以促进团队协作。因为修改不再是单线进行,开发进度会进展迅速。此外,由于所有的工作都已版本化,也就不必担心由于错误的更改而影响软件质量—如果出现不正确的更改,只要撤销那一次更改操作即可。

二、           安装准备工作

要完全安装一个TortoiseSVN版本控制器,我们可能需要分别安装下面几个程序

     1、subversion 的服务端程序

     2、TortoiseSVN 或者eclipse的客户端插件

     3、配置svn服务成window service自动运行的工具

     4、语言包(可以省略)

三、           安装过程

1.Subversion的安装是一个具有向导的简单安装过程。我们只要根据提示默认安装即可。

2.建立服务器的根版本控制库,运行CMD程序,输入svnadmin create D:\SVNRoot(具体位置可以自己定义)。完成后自动在指定目录创建版本库根目录。

3.安装SVN服务,因为WINDOWS默认是没有的,需要自己安装,把安装准备中提到的SVNService工具解压到SVN安装文件的BIN目录下,在运行命令行中输入:

    svnservice -install -d -r D:\SVNRoot

再运行启动SVN服务命令,输入:

    net start svnservice

SVN在默认的情况下是不会自动启动的,需要windows自动启动的可以通过以下实现:

右键点击桌面的“我的电脑”,左键选择“管理”,进入windows的计算机管理窗口。选择“服务和应用程序”-“服务”,将SVNSERVER设为自动启动。

4.安装SVN客户端,直接运行TortoiseSVN安装文件,也无须特殊设置,安装完毕后会提示你重启(不重启也可以用)(客户端机器只需要安装TortoiseSVN即可)。

四、           配置SVN服务器认证

4.1 找到配置文件

找到D:\SVNRoot文件下的conf目录,把passwd 和authz两个文件剪切到D:\SVNRoot目录下,然后对svnserver.conf中的passwd和authz进行配置

svnserve.conf

[general]

anon-access = read

auth-access = write

password-db = ../passwd

authz-db = ../authz

含义是:

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

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

     密码数据存放到上级目录的passwd文件中

     授权设置存到上级目录的authz文件中

如果在D:/SVN根目录下建立名为project1的版本库,那么在这里需要把project1的conf目录下的sunserve.conf文件指向根目录下的sunserve.conf文件,加入代码如下:

anon-access = none

auth-access = write

password-db = ../../passwd

authz-db = ../../authz

注:如果要对含有中文的目录或文件进行管理或分配时,需要将该文件保存为UTF-8格式,微软的记事本保存为UTF-8格式无效,所以不要用。可用如UltraEdit或EditPlus等软件完成,保存时,格式应选择UTF-8 NO BOM。

4.2 用户名密码配置

passwd文件打开

[users]

#harry = harryssecret

#sally = sallyssecret

admin=admin999

user=user999

含义是:

     增加了admin这个用户,密码为admin999

     增加了user这个用户,密码为user999

4.3 用户组配置

Author文件打开

[groups]

# harry_and_sally = harry,sally

进行用户组的配置

比如:

[groups]

group_admin = admin

group_user = user

含义是将admin加入到组group_admin中,user加入到组group_user中去

4.3 文件权限设置

# [repository:/baz/fuz]

# @harry_and_sally = rw

# * = r

进行文件权限的设置

比如存在版本库根目录下libs这个文件夹,而我只希望admin可以读写,user有读权限,未授权的无法访问,则可以这样写

[/libs]

@g_admin = rw

@g_user= r

* = r

注:*表示匿名用户

4.4其他方式认证

     路径为基础的授权路径维护繁琐、服务器路径权限检查耗资源

     Windows 域认证 方便用户周期性的密码变更

     SSL数字认证 使服务器更安全

五、           版本库创建

5.1 使用命令行工具创建版本库

     1.在D:\SVNRoot\里创建另一个目录project1。

     2.打开命令行窗口(或DOS窗口),进入D:\SVNRoot\目录,输入

svnadmin create --fs-type bdb project(不推荐此类型)

svnadmin create --fs-type fsfs project

现在你在D:\ SVNRoot\project创建了一个新的版本库。

注:project1目录非空并且没有写保护,否则不能建立版本库

5.2 使用 TortoiseSVN 创建版本库

未纳入版本控制文件夹的 TortoiseSVN 菜单

1. 打开目录D:\SVNRoot

2. 创建一个新的文件夹,命名为project1

3. 右键点击新创建的目录,选择TortoiseSVN在此创建版本库。

之后就会在新文件夹创建一个版本库,不要手工编辑任何文件,如果创建时得到警告,一定要先确定此目录非空并且没有写保护。

4.

5.3初始化建立版本文件

来到我们想要建立的项目根目录,比如地址D:\WebDemo,右键->TortoiseSVN->Import...

URL of repository输入“svn://localhost/project1”

输入用户名密码确定即可。

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

  想要查看版本库中的内容,可以右键点击该版本目录project1->TortoiseSVN->Reopo-browser,

窗口如下

当然,建立版本库项目的导入需要先分配好目录,方便日后版本库资源的管理。我们可以先建一个临时库TEMP,临时库中间放如需要导入的工程。推荐工程目录结构如下:

Temp               ###临时目录,版本库建立以后可删除。

├─Project1      ###第一个项目目录。

   ├─Branches   ### 推荐建立的分支目录。

   ├─Tags       ### 推荐建立的标签目录。

   └─Trunk      ### 必须的主分支目录,所有初始版本的项目文件放于该目录下。

       └─01Doc      ### 下面为你自己的项目目录,根据需要自己创建。

       └─02Source

       └─03Release

       └─…

└yProject2     ###第二个项目目录。

   ├─Branches

   ├─Tags

   └─Trunk

       └─…

└─…            ###其他项目目录。

 

六、            客户端安装使用

6.1  TortoiseSVN 客户端

安装之前,我们需要指定一个文件夹存放版本库的副本。

6.1.1 检出(checkout)

右键->SVN Checkout...

     版本路径可以选择某个版本库的路径,或者直接输入svn://url直接导入所有最新版本库

     点击Revision,可以选择版本号选择下载

成功后,文件夹改变图标成

注:checkout会形成工作拷贝,里面有最后的版本等信息,该拷贝处于受控状态,Export(导出)出来的,只是把文件导出来,不带版本信息,不受控

6.1.2 导出(Export)

Export出来的,只是把文件导出来,不带版本信息,不受控。文件夹中没有.svn目录,这样方便诸如源代码打包的操作,省去了需要手工逐个文件夹删除.svn目录的烦恼。

6.1.3 更新(update)

右键->SVN Update...更新所选文件夹或者文件。需要更新的文件图标为

注:如果不想全部更新,可以先选择Check for Modifications看看在本地或在服务器上哪些文件修改过,然后选择更新需要的文件。

6.1.4 提交(commit)

右键->SVN Commit...提交修改过的文件或者文件夹。

注:更改公共修改文件,可以先选择Check for Modifications检查版本仓库文件并且显示出你的工作副本中修改过的每一个文件,没有在版本控制下的文件也会被显示出来,确认副本是最新的并且没有冲突(图标为的文件)之后再提交。

6.1.5 比较(Diff)合并(Merge)

      Diff用比较查看器,它对本地的文件和仓库中最新版本的内容进行详细的对比。

     合并(Merge)的应用

     解决冲突

Subversion和CVS等采用拷贝-修改-合并模型。此模型解决了锁定-修改-解锁模型引起的管理、安全、修改串行的问题。项目成员从版本库读取个人的工作副本,所有项目成员并行地在工作副本上工作,然后合并在一起形成新的版本。如果修改不重叠,TortoiseSVN可自动合并。修改重叠则引起冲突。

冲突区域部分被“<<<<<<<”标注,通过沟通修改,合并文件,重新提交。

     分支(branch)

版本控制的一个重要特性是能将变更隔离成独立的开发线路。分支常用来测试新功能,但又不会因为编译错误或BUG干扰开发主线。一旦分支稳定下来,就可以把分支合并(merge)回主线(the trunk)。

6.2 Eclipse中SVN的安装和使用

Eclipse默认只有CVS而没有集成SVN,所以要想使用SVN做版本控制需要装一个Eclipse插件Subclipse。

6.2.1 安装插件

1.   Eclipse菜单中选择更新插件.

2.   寻找新的功能来安装

3.   左侧列表是选择下载站点,右侧选择”New Remote Sote...”如果你是通过代理联网,需要在外部下载一个插件包,点击”New Local Site...” 下载地址http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91

4.   新站点的信息

填写正确的信息,以便完成插件的更新。

Name: Subclipse 1.2.x (Eclipse 3.2+)

   URL: http://subclipse.tigris.org/update_1.2.x

   或者

   Name: Subclipse 1.0.x (Eclipse 3.0/3.1)

   URL: http://subclipse.tigris.org/update_1.0.x

5.   添加完成后你刚加的站点并不会被选中,请确定选中后再操作。

6.     这里显示站点里所有可以更新的功能。

7.     点击接受协议

8.   确认安装位置

9.   功能验证

10.            安装进程

11.            安装完成后Eclipse 需要重启。

12.            最后打开定义版本库Subclipse Repository perspective. 确定锁定在 Team -> SVN.

卸载Subclipse的方法很简单,也是点击 Help => Software Updates => Manage Configuration卸载。

6.2.2 使用Subclipse

先向版本库中加入一个Eclipse工程SVNtest ,将它导入版本库svn://localhost/project1导入后用版本库浏览器找到你导入的工程目录,把其下WebRoot\WEB-INF\classes目录删掉(注意:不删出以后会报错)这些初始化的操作都用客户端工具完成的。然后打开Eclipse编译器,点击编译器右上角的Open Perspective 打开SVN资源库界面,新建一个资源库

    选择资源库的位置,这里我们就用刚才搭好的 svn://localhost/project1 作为工程目录,点击Finish后如果成功则会看到版本服务器中工程的树形结构了。在svn://localhost/project1根目录上点右键,选择Check Out,在弹出窗口中选择“作为空间的项目验出”,填写项目名称。

      一切没有问题了点击Finish。之后它就会从服务器上把工程下到本地,Eclipse编辑栏会发现刚才下的工程文件都会带有SVN版本控制标记了, Workspace的工程文件夹,并且也有控制标记。在SVN控制下的文件有Team选单,就是客户端工具,提交,更新,同步,合并,切换……


TAG:

浮宫月影 引用 删除 fy_fuying   /   2012-10-29 09:26:21
有帮助
浮宫月影 引用 删除 fy_fuying   /   2012-10-29 09:25:55
5
 

评分:0

我来说两句

我的栏目

日历

« 2024-04-07  
 123456
78910111213
14151617181920
21222324252627
282930    

我的存档

数据统计

  • 访问量: 2088
  • 日志数: 2
  • 建立时间: 2009-02-23
  • 更新时间: 2009-02-23

RSS订阅

Open Toolbar