SVN 配置
一.安装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出来的版本库资源,此时该资源路径已经与服务器上的路径绑定在一起,现在我们要做的就是提交和更新,方法如下:
选择你所要提交的文件或代码,点击右键,选择小组,然后选择提交和更新功能,就可以完成版本的提交和更新。