安装和使用SVN nebula.fortune by beijing

来源:百度文库 编辑:神马文学网 时间:2024/04/19 19:18:44

                              安装和使用SVN    nebula.fortune by beijing

一、安装 Apache 略  不用网络版的话,可不需要。

    注意看SVN中编译的Apache的版本,选择合适的版本安装,否则可能不能用。

二、安装Subversion 服务器

可以在系统变量里面看到PATH里面已经有路径了.

三、安装TortoiseSVN 客户端

    

   

可在装完语言包后重启机器。

四、安装语言包

五、创建SVN存储库

命令行方式:svnadmin create C:\svn\

图形菜单:

repository创建完毕后会在目录下生成若干个文件和文件夹,dav目录是提供给Apachemod_dav_svn使用的目录(未创建),让它们存储内部数据;db目录就是所有版本控制的数据文件;hooks目录放置hook脚本文件的目录;locks用来放置Subversion文件库锁定数据的目录,用来追踪存取文件库的客户端;format文件是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号;

六、设置客户端语言

七、配置SVN服务器

(这个位置就是在你建储存库的地方C:\svn

打开/conf/目录,打开svnserve.conf找到一下两句:

# [general]

# password-db = passwd

# anon-access = none

# auth-access = write

去之每行开头的#,其中第二行是指定身份验证的文件名,即passwd文件.anon-access = none 是匿名用户不能访问,必须要有用户名和密码。(注意:问题就出在这,一定要注意格式去掉注释后要顶格不能有空)

同样打开passwd文件,将

# [users]

# harry = harryssecret

# sally = sallyssecret

      格式为用户名 密码,如可插入一行:admin = admin888,即为系统添加一个用户名为admin,密码为admin888的用户

八、运行SVN服务

命令行方式:  svnserve --daemon --root C:\svn

服务启动,--daemon可简写为-d--root可简写为-r,可以建立一个批处理文件并放在windows启动组中便于开机就运行SVN服务(注意:这是临时打开的服务,命令执行后不能关闭窗口)

 用后台服务的方式可以设置开机自动执行。

C:\Program Files\Subversion\bin>sc create svnservice binpath= "c:\Program Files\

Subversion\bin\svnserve.exe --service -r c:\SVN"

就可以用net svnservice stop 或者start来启动服务了 也可以在Sevices.msc来启动了。

启动类型改为自动,并且启动.

九、设置Apache

1C:\Program Files\Subversion\bin(svn服务器中的安装目录)中的 mod_authz_svn.so 和 mod_dav_svn.so 复制到 Apache 安装目录 modules\目录下,再将 Subversion\bin 安装目录下面所有的 .dll 文件复制到 Apache\Bin 目录下(注意,这一步非常重要,如果提示覆盖操作,表示版本有问题,选择否)
    2、配置SVN网络访问

找到Apache Group\Apache2\conf\httpd.conf文件,然后去掉如下几行的注释(删除 ''#''标记):

#LoadModule dav_fs_module modules/mod_dav_fs.so

#LoadModule dav_module modules/mod_dav.so

将下面两行添加到LoadModule部分的最后。

LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
或者 

LoadModule dav_svn_module "c:/program files/Subversion/bin/mod_dav_svn.so"

LoadModule authz_svn_module "c:/program files/Subversion/bin/mod_authz_svn.so"

3在这个文件的最后,追加如下语句:

    DAV svn

    SVNParentPath c:/svn_web

根目录新建svn_web目录,在里面新建TEST目录测试,右键在此创建版本库。

Svn权限设置

1 #资源库的根位置,多库模式。实际的资源库路径为:D:\svnrepos\testrepo  

  

3     DAV svn  

4     SVNParentPath D:\svnrepos       #AuthzSVNAccessFile svnaccessfile  

5         AuthType Basic  

6         AuthName "Subversion repositories"  

7         AuthUserFile "D:\Program Files\Apache Software Foundation\Apache2.2\conf-svn\passwd"

8         Require valid-user

10   

11 #单库模式配置方法,根据实际需要选择一种配置方法就行。

12 

13     DAV svn  

14     SVNPath D:\svnrep\test

15         AuthType Basic  

16         AuthName "Subversion repositories"

17         AuthUserFile "D:\Program Files\Apache Software Foundation\Apache2.2\conf-svn\passwd"

18         Require valid-user

19 

htpasswd工具创建apache_authz 文件,

建立保存用户名和密码的文件

Program Files\Apache Software Foundation\Apache2.2\bin>htpasswd -cm  D:\Subversion\apache_authz  username1

-c 表示创建文件,-m表示对密码用md5加密

然后,会提示输入两次密码,以后再加用户就不需要用-c了,直接用-m即可。

下面建立控制用户访问权限的文件svn_authz

在C:\Subversion中新建一个记事本文件,输入下面的内容:

[groups]

test-developers = zxm

everyone = @test-developers

[test:/]                     //这表示,仓库test的根目录下的访问权限

@test-developers = rw

[test:/test]             //test仓库下test目录的访问权限

@test-developers = rw         // 如果在前面加上@符号,则表示这是个群组权限设置

r  表示读权限

表示写权限

好,配置完成,重新启动Apache server

在浏览器地址栏中再次输入:http://localhost/svn/test/

这次要输入密码才能进入,赶快试试吧。

 保存httpd.conf文件,重启Apache,就能访问了。注:多库模式下的访问地址:http://localhost/svn /test;单库模式的访问地址:http://localhost/svn,第一次访问时提示输入用户名密码。使用htpasswd命令中设置的用户名 密码访问。



十、访问

   1、客户端访问 浏览器输入: svn:\\SVN服务器地址,输入用户名和密码

2、其它几种方法

file:///磁盘驱动器|/repository所在目录/子目录

http://账号@服务器名称/ repository所在目录/子目录(网络配置失败,未测试)

https://账号@服务器名称/ repository所在目录/子目录(网络配置失败,未测试)

svn+ssh://账号@服务器名称/ repository所在目录/子目录

十一、建立一个Working目录

所谓的Working目录其实就是您平时用来存放工作档案的地方。通常我们会等到自己的工作做到一个段落的时候再进行备份。所以我们平常都是在Working目录下面工作,等到适当时机在CommitRepository中。举例来说,我们在C盘下面建立一个名为Working的目录。首先建立这个目录,然后CHECKOUT,即鼠标右键SVN Checkout

首先我们要填入的是repository的位置,对于SVN来说,repository的位置都是URL。由于我们前面已经在C盘上建立了一个repository,因此,我们现在要在版本库(URL of repository)这一栏填入file:///C:/SVN/,接着,稍微看一下 检出至该目录(Checkout directory),这个字段应该要指向您的Working目录。确认后,按下OK按钮,您应该可以看到以下的信息窗口。这样就表示动作完成。

按下OK按钮后,再到您刚刚建立的目录下,您将看到Working目录下面多了一个名为.svn的目录(这个目录是隐藏的)。切记不应该更动这个目录下任何内容,否则会影响SVN的运行。

十二、新增目录和相关文件到Repository

如果您前面的动作无误,现在您开始开发一个新的程序。比如您开发的程序将放在前面建立的Working目录下面的my_prj子目录,并做了第一次修改。

在my_prj目录的icon上面,按鼠标右键,并且选择TortoiseSVN->Add

接着,TortoiseSVG会把准备要加入的档案及目录,显示给您看。打勾的就是等下要加入到Repository中的。如果有不想这次加入的,不要勾选即可。

按下OK后,您将看到以下信息窗口:

目前仅记录你将进行的操作,并未真正提交,需要点击提交才会将制定的目录和文件真正的放入到Repository中。鼠标右键选择SVN提交(SVN commit)

紧接着,您将会看懂如下的窗口出现:

在这个窗口中,下半部会列出一个清单,让您清楚的了解到哪些档案要被CommitRepository中,同样的,你不想有些档案不Commit,不打勾即可。在信息栏,您可以输入本次Commit的目的。这个非常重要,特别是Commit多了的话,需要通过这个信息得知各部分的差异。按下OK之后,通知您已经将制定的档案送到Repository中。

可以看到该目录已经是绿色勾了,表示您的档案都正确无误的到Repository中。

十三、更新档案及目录

为何需要更新?因为版本控制系统多半都是由许多人共同使用。所以,同样的档案可能还有人会去编辑。为了确保您工作目录中的档案与Repository中的档案同步的。建议您在编辑前都先进行更新的动作。在此,我们都先假设您已经将档案Checkout过一次.现在要说明的是如何在一个Check out过的目录进行update.在想要更新的档案或目录icon上面按下鼠标右键,选择 SVN 更新(SVN Update).

正常状况下,您可以看到如上的窗口。在这个窗口中会显示哪些文件更新了。

十四、更新至特定版本

有时候我们需要回溯至特定的日期或版本,这时就可以利用SVNUpdate to revision的功能。在想要更新的档案或目录icon上面按下鼠标右键。并且选择TortoiseSVN->Update to revision

Show log后可以回顾历史了。

可以看到指定文件或文件夹回到指定版本。

再使用SVN更新,又回到最后最新状态。

其他请看文档。