现在的位置: 首页 > 综合 > 正文

SVN 配置

2011年01月02日 ⁄ 综合 ⁄ 共 7271字 ⁄ 字号 评论关闭

一.安装subversion

首先安装服务端程序subversion1.x.x和客户端程序TortoiseSVN-1.x.x.xxxx(是两个网站)。subversion在服务器端客户端都需要安装,TortoiseSVN只要在客户端安装就行。TortoiseSVN的语言包下载和TortoiseSVN的下载都在其官网的同一页

如果使用了eclipse并且用插件的话,则可以不用TortoiseSVN。

二.建立Repository(保存文档各个版本的数据库),必须建立在服务端

1)在服务器端建立一个空目录,比如“d:\svn\project1”。

2)进入dos

3)svnadmin create --fs-type bdb d:\svn\project1

   // svnadmin 是exe程序,安装时已经自动加到系统路径了。

   // 这里选择了  Berkeley Database(BDB)方式做为版本库的类型

   // 也可用TortoiseSVN这个客户端工具实现创建

   // d:\svn是版本库的位置,也可以取别的名字,别的路径,一个版本库可以包含多个项目

   // project1是某个项目名称,

三.在服务端配置Repository,主要的目的是控制访问权限和添加用户。

1)打开d:\svn\project1\conf\svnserve.conf

2)把以下行前的#去掉,保存

   # anon-access = read

   # auth-access = write

   # password-db = passwd

3)打开d:\svn\project1\conf\passwd文件

4)末尾加一行

   xy = 1

   保存

   // xy是用户名,1是密码,自行替换

5)多个用户就加多行

四.在服务端启动subversion服务器。

1)进入dos

2)svnserve.exe -d -r d:\svn

3)服务启动后,在服务器端的3690端口监听客户端的连接请求。

4)参数的作用是:当在客户端用“svn://xxx/project1”(xxx可以是服务器端主机名或ip)访问服务器的Repository时,

  服务器会知道你要访问的Repository路径是“d:\svn\project1”。

5)如果当我有两个完全不相干的项目要进行版本控制时,可以再建立一个空目录

 “d:\svn\Project2”,并在其中再建立一个Repository,

  此时客户端就可以用“svn: //xxx/project2”访问“C:\SVNProjects\Project2”下的Repository。

6)如果想要注册为window服务,

   进入dos,

   sc create svnservice binpath= "D:\Program Files\Subversion\bin\svnserve.exe --service -r d:\svn" displayname= "SVNService" depend= Tcpip

svnserve.exe --service -r c:\svnxyh

   // 请务必在一行内输入

   // SVNService是服务名,也可以替换

   // D:\Program Files\Subversion\ 是服务器安装svn的路径,要替换

7)如果想注销window服务

   进入dos  

   sc delete SVNService

五、在客户端安装eclipse的svn插件,安装好后几乎无需任何配置

    在线安装方式的url是http://subclipse.tigris.org/update

六、在客户端,首先确保服务打开,打开视图,window -> show view -> other -> svn -> svn资源库

    右键单击,新建->资源库位置-> svn://localhost/project1,出现一个资源库,

    右键单击,取出为->作为新项目取出,并用向导配置。选yes

    java->java项目,next->finish.

七、在客户端,在eclipse的左边视图项目根目录下加文件夹,加文件,然后

    在eclipse的左边视图的文件夹或根路径下提交,更新。(右键单击)

    所有的操作都在eclipse的界面内完成,工作效率极高。比TortoiseSVN方便,

    注意eclipse的配置文件不要提交上去,就是建立eclipse项目时会自动建立在项目文件夹里的两三个文件。

    因为是“作为新项目取出”。

    xieye 20080101

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

一. 安装subversion

首先安装subversion1.2.3和图形化客户端TortoiseSVN-1.2.4.4479(该版本 的TortoiseSVN针对subversion1.2.3)。subversion在服务器端和客户端都需要安装,TortoiseSVN只要在客户 端安装就行。

二 下载并安装apache服务器,一路next.只是在输入domain的时候,如果你没有正式的domain,输入你机子的ip即可.

三 .建立Repository(保存文档各个版本的数据库)

在 服务器端建立一个空目录,比如“C:\SVNProjects\Project1”。建立Repository的具体方式是:在subversion安装 目录下的\bin子目录下有一个svnadmin.exe文件,在DOS窗口下进入该\bin目录,并执行“svnadmin create --fs-type bdb C:\SVNProjects\Project1”。之后你会发现原本是空目录的“C:\SVNProjects\Project1”下多出了几个目录和 几个文件。这些目录和文件就是用来存储文档各个版本的数据库。

***除了用命令行方式建立Repository外,还可以用 TortoiseSVN建立,不过这要求在服务器端也安装TortoiseSVN。建立Repository的具体方式是:在“C:\ SVNProjects\Project1”目录上右击鼠标,TortoiseSVN->Create Repository here....,然后弹出一个对话框选择Berkeley Database(BDB),然后点OK按钮。

四 .配置Repository

建 立Repository后,还应该对Repository进行配置,主要的目的是控制访问权限和添加Repository的用户。“C:\ SVNProjects\Project1\conf\svnserve.conf”文件就是该Repository的配置文件。它是一个典型的INI文 件,虽然该文件并不是以INI作为扩展名。用文本编辑器打开它后,可以看见一些文本,该文件以“#”开始的行都是注释行。将“#[general]”行的 “#”删掉,“#anon-access = none”“#auth-access = write”“#password-db = passwd”行也删掉“#”,注意,只是删掉“#”字符,不要把整行都删了。“anon-access = none”是指不允许匿名访问Repository,不管是读操作还是写操作。“auth-access = write”表示认证的访问允许写操作,当然读操作就更允许了。“password-db = passwd”表示用户名及用户密码存在一个叫passwd的文件里,这个文件也在“C:\SVNProjects\Project1\conf”目录 下,用文本编辑器打开后,将“# [users]”的“#”字符删掉,然后在文件的最后添加一个新行,在该行写上用户名和密码,格式为“xxxx = yyyy”其中“xxxx”表示用户名,“yyyy”表示密码,一行只能设定一个用户,要设定多个用户,请再起新行。

注意的是如果你不想加身份认证,一样要去掉#[general}前边的#号,我就是没去,结果老是报错说服务器主动拒绝连接,整了两天才发现问题在这.

五 .启动subversion服务器

Subversion 提供了三种服务器模式,这里介绍其中的一种,它是subversion自带的一种轻量级的服务器,该服务器启动后,在服务器端的3690端口监听客户端的 连接请求(这是默认情况下,如果你有其他程序占用了3690端口,可以用“--listen-port”参数指定服务器监听端口)。服务器的具体启动方式 是:在subversion安装目录下的\bin子目录下有一个svnserve.exe文件,该文件运行时可带参数,常用的参数有两个一个是“-d”, 该参数表明服务器作为一个精灵进程一直运行,直到手动结束该程序。另一个参数就是“-r”,该参数指定服务器进程寻找Repository的根路径。在 DOS窗口下进入\bin目录,并执行:

“svnserve.exe -d -r C:\SVNProjects”。服务器这时就启动了。“-r C:\SVNProjects”参数的作用是:当在客户端用“svn://xxx/project1”(xxx可以是服务器端主机名,也可以是服务器端的 ip地址)访问服务器的Repository时,服务器会知道你要访问的Repository路径是“C:\SVNProjects\ Project1”。如果当我有两个完全不相干的项目要进行版本控制时,可以再建立一个空目录 “C:\SVNProjects\Project2”,并在其中再建立一个Repository,此时客户端就可以用“svn: //xxx/project2”访问“C:\SVNProjects\Project2”下的Repository。至此,服务器端就配置完毕了。

六 下面来修改apache让subversion和apache一起工作

复制subversion"httpd"下的*.so到apache 的安装目录的modules目录中,然后复制subversion"bin"目录中*.dll文件到apache"bin"目录中。

添加下面几行

LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModule authz_svn_module modules/mod_authz_svn.so

修改"/path/to/apache/conf/httpd.conf" 在最下面添加

<Location /svn>

DAV svn

SVNParentPath /absolute/path/to/repository

</Location>

如果不想让任何人都看到,要在location块内添加如下的代码

AuthType Basic

AuthName "Subversion repository"

AuthUserFile /path/to/svnpasswd.file

Require valid-user

其中svnpasswd.file是通过"htpasswd -cb /path/to/svnpasswd.file username password"来创建的

"Require valid-user"告诉apache在svnpasswd.file中所有的用户都可以访问。如果没有它,则只能第一个用户可以访问

#/path/to/apache/bin/apachectl restart

重启apache,打开浏览器访问http://localhost/svn/test/,如果有东西显示就说明成功。如果不能正确的显示,你看看您的"/absolute/path/to/repository"目录是否对apache的用户是可写的就可以了。

如果你还想更进一步对各个目录控制访问,并对访问repository进行加密的话,请参考subversion 手册启动ssl加密服务..

 

 

 

 

5 向Subversion中导入项目:现在我们需要将项目导入到Subversion的库中,只需执行一下命令: svn import d:\projectname svn://localhost/projectname -m "initial import" --username admin --password mypassword

这样项目就导入到subversion库中啦。

svn命令行如何导入?

来源:SVN中文技术网[www.svn8.com] 作者:SVN技术研究中心 时间:2008-03-29 点击: 560

(问题搜集)

配置服务器:

修改了svnserve。conf中的

anon-access = read

auth-access = write

password-db = passwd

realm = svnhome

和passwd中【user】

admin = mypassword

能够启动服务器

svnservice -install -d -r d:\svnhome

不过要先执行svnservice -remove,否则不能成功!(仅限于我的机器)

导入时

svn import D:\myproject svn://localhos

t/svnhome -m "initial import" --username admin --password mypassword

时报错:svn: 无法连接主机“localhost”: 由于目标机器积极拒绝,无法连接。

用svn import D:\myproject file:///D:/svnhome -m "initial import" --username admin --password mypassword成功

这是为什么?

问题二: 能不能在配置服务器时,设置匿名的管理 而不需要admin = mypassword?还有realm = svnhome 这条语句是必需要改的吗?为什么一定要realm=库所在文件夹名?

问题三:svn import D:\myproject file:///D:/svnhome -m "initial import" --username admin --password mypassword 这条语句中 必需要 -m ""吗?我不要的话,就不能执行。(因为很多介绍import命令的资料上都没注明这点,故有此一问)

恳请各位解答!跪谢!

用的是svn的命令行形式。

首先安装好了svn后,设置PATH,将其值设置成svn的安装目录(D:\Program Files\Subversion)+\bin,即D:\Program Files\Subversion\bin

然后将空文件夹(d:\svnhome)设置成我的版本库,使用的命令行是svnadmin create d:\svnhome.  这时在d:\svnhome文件中已经有了其他子文件,说明版本库建立成功。

下一步是将我的工程myproject这个文件夹(在D盘)导入版本库,使用的命令行是svn import d:\myproject svn://localhost/svnhome/

回车后,命令行(cmd.exe)中出现svn: ?\229?\174?\137?\229?\133?\168?\230?\149?\176?\230?\141?\174?\226?\128?\156

--?\226?\128?\157?\229?\144?\142?\233?\157?\162?\230?\152?\175?\233?\157?\158ASC

II?\229?\173?\151?\232?\138?\130 230: ?\228?\184?\141?\232?\131?\189?\232?\189?\

172?\230?\141?\162?\229?\136?\176/?\232?\135?\170 UTF-8

1你还没有启动svnserve,所以无法使用svn://协议

要么你启动svnserve ,要么使用file://协议

假设你这样启动svnserve:

svnserve -d -r d:\svnhome

那么可以使用svn://localhost来访问你的版本库,导入时的命令

svn import d:\myproject svn://localhost

 

 

 

 

 

SVN Eclipse插件Subclipse安装和配置

一、安装Subclipse

安装Subclipse的最好方法是使用Eclipse Update Manager。在Eclipse 3.1中,它位于Help -> Software Updates -> Find and Install...菜单下。

选择搜索要安装的新功能部件,点击新建远程站点,弹出图1,在URl输入框输入http://subclipse.tigris.org/update作为URL添加New Remote Site。

图1:使用Eclipse Update Manager安装Subclipse

  点击OK后,系统会自动去网站上搜索该插件

图2

在图2中选择Subclipse点击Next按钮,直到安装成功,点击完成按钮退出

然后重新启动eclipse,

点击eclipse窗体菜单,选择打开透视图,如果在里面看见SVN资源库研究,说明SVN插件已经安装成功。此时在打开透视图窗体里选择SVN资源库研究,点击确定按钮,在Eclipse左边就会出现SVN资源库的标签。

二、建立版本库

在SVN资源库的标签里点击右键,选择新建资源库位置,再添加SVN资源库窗体里URL里输入svn://192.168.0.70/techsupport/crm ,点击完成,系统提示输入用户名和密码,添加成功后,SVN资源库的标签里会显示版本库的信息

三、Check out

在SVN资源库的标签里选择资源库,点击右键,选择取出为,在从SVN取出窗体里输入项目名称,或者默认,直接点击完成按钮,版本库即被下载成功,

四、提交和更新

进入导航器标签里,我们可以看到被check out出来的版本库资源,此时该资源路径已经与服务器上的路径绑定在一起,现在我们要做的就是提交和更新,方法如下:

选择你所要提交的文件或代码,点击右键,选择小组,然后选择提交和更新功能,就可以完成版本的提交和更新。

 

抱歉!评论已关闭.