搭建subversion时候遇到的问题以及解决方案

【ZT】svn服务器的搭建

配置SVN服务器所需要的准备工具:

SubVersion   可从 http://subversion.tigris.org/ 下载。这里就是SVN服务器的程序

SVNService.exe   (非必要)这个是将你的SVN服务端程序注册成Windows系统服务的,就好比是Tomcat,当你系统启动时,该SVN服务器会自动启动并后台运行,不注册成服务的话,就要自已手动打开了。

现在工具都准备好了,动工。

下载好SubVersion后,就进行安装,如果你下载的是ZIP包,那就解压到自定的目录就可以使用了。

1.   打开CMD命令行模式,进入到SubVersion目录下的bin目录下,输入如下命令:

svnadmin create d:\svn_projects\project1   (路径可自定)

如图:

注:要先在D盘中建立 svn_projects目录 目录名称可以自已定,之后打开该目录,你可以看到,SVN帮你建立了一个project1的目录,里面生成了几个方件夹与文件,先不理它。

现在,存放项目的路径建好了,下面我们要来配置一下该项目的用户,密码等信息来打开project1/conf/文件夹下的svnserve.conf文件,以记事本打开就行了,你将会看到很多注释(都是采用Unix风格的 # 注释)将

# anon-access = read
# auth-access = write
# password-db = passwd
# realm = My First Repository

这几句的的注释符号去掉找去掉前面的空格如下:

anon-access = read
auth-access = write
password-db = passwd
realm = My First Repository

之后打开passwd文件,以记事本打开,在 [users] 下面添加你的用户名与密码

比如我要添加一个 jiang 用户,密码是 123456 那么这样写

jiang = 123456

保存后就OK了,那么现在,可以运行SVN服务器程序了。

在Cmd命令行下进入到SubVersion目录下的bin目录下,输入如下命令:

svnserve -d -r d:\svn_projects

如图所示:

这样服务器就启动了,它会一直侦听的,所以不要关闭窗口。像Tomcat一样一直挂着就行,如果你觉得这样麻烦,就可以用SVNService.exe这个工具来注册成系统后台服务运行。

注意:你现在的项目的SVN地址就是:svn://localhost/project1   内网就更换你的内网IP就行了,公网也换为你的公网IP就行了 现在服务器就启动了,之后你可以用Eclipse的svn工具等将项目文件放到该SVN服务里共享,如下图所示:

就这样,SVN的服务器端就搭建好了,现在大家可以用SVN客户端更新下载下来开发了。

以下这一部分是自的了:

上面所说的"它会一直侦听的,所以不要关闭窗口。像Tomcat一样一直挂着就行,如果你觉得这样麻烦,就可以用SVNService.exe这个工具来注册成系统后台服务运行。"

做法是这样的:

1。先到csdn去下载SVNService包,将包中的"SVNService.exe"文件拷到bin下

2.cmd进入bin 目录下,使用如下命令:SVNService -install -d -r d:\svn_projects,这里的位置路径是你上面建立的,要把版本放入的projects文件路径。

移步链接:http://hi.baidu.com/westsky/blog/item/2f5e8801e1f0ad021c9583a1.html

SVN安装日志 
1,下载
(1) svn-1.0.9-setup.exe
(2) TortoiseSVN-1.1.2-UNICODE_svn-1.1.2.msi
(3) SVNService

2,安装SVN Server
(1) 安装svn-1.0.9-setup.exe,安装目录为D:\Program Files\Subversion.
(2) 安装TortoiseSVN-1.1.2-UNICODE_svn-1.1.2.msi.安装目录为D:\Program Files\TortoiseSVN.
安装后者需要重启计算机.
(3) 将SVNService压缩包中的SVNService.exe copy到D:\Program Files\Subversion\bin中.
(4) 建立新目录E:\SVNRepo,作为Repository的主目录.
(5) 将SVN Server包装成服务运行: 开始->运行. 输入"cmd",回车,进入命令行界面.
进入D:\Program Files\Subversion\bin. 运行 SVNService -install -d -r e:\SVNRepo .将SVN Server注册成后台服务,并将Repository主目录设置到E:\SVNRepo.
(6) 进入计算机管理->服务和服务程序->服务.可以看见SVNService服务,将其启动类型从手动改为自动.(7) 启动服务.
(8) 如果安装有防火墙,则需要打开3690端口.

3,Demo
(1) 在E:\SVNRepo下新建目录"Default",点右键,TortoiseSVN->Create Repository Here,选择BDB.
(2) 进入E:\SVNRepo\Default\conf

在E:\SVNRepo\Default\conf目录下,新建users.conf文件.users.conf保存用户名和密码.格式如下:
[users]
username = password

用文本编辑器打开svnserve.conf,向其中添加
[general]
anon-access = none
auth-access = write
password-db = users.conf

(3) 点右键,TortoiseSVN->RepoBrowse,输入svn://<serverip>/Default,回车.输入users.conf中存在的用户名和密码,就可以进入Repository啦!

【ZT】
SVN的错误:Error: Can't connect to host '': 由于目标机器积极拒绝,无法连接

安装完TSVN之后,checkout时报错,并且后来在cmd命令行下,测试svn的3690端口是否打开:telnet localhost 3690 ,结果也是不成功,后来发现少执行了一步操作。

    正确的做法:安装完TSVN之后,在subversion的安装路径下,找到bin文件夹,需要完成下面几步操作:

1、在下面新建一个setupservice.bat文件,内容是

sc create svnserve binpath= "C:\Program Files\Subversion\bin\svnserve.exe --service -r d:\svnhome" depend= Tcpip start= auto
sc start svnserve
pause

保存

2、运行,这是在服务里可找到一个名为svnserve的服务。这样就不会报“由于目标机器积极拒绝,无法连接。”这个错了。

我后来找到了我是因为没有执行第二步,所以svnserve没有作为一个服务启动。

这是在cmd命令行下查看打开的端口:netstat -ano就看到3690端口打开了

=================================

(问题搜集)
配置服务器:
修改了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


【ZT】svnserve.conf:12: Option expected的问题解决方法

经常有新手配置基于svnserve的subversion服务器后,
在客户端访问subversion版本库时出现这个错误:

svnserve.conf:12: Option expected

为什么会出现这个错误呢,就是因为subversion读取配置文件svnserve.conf时,无法识别有前置空格的配置文件,如
### This file controls the configuration of the svnserve daemon, if you
### use it to allow access to this repository. (If you only allow
### access through http: and/or file: URLs, then this file is
### irrelevant.)

### Visit http://subversion.tigris.org/ for more information.

[general]
### These options control access to the repository for unauthenticated
### and authenticated users.   Valid values are "write", "read",
### and "none".   The sample settings below are the defaults.
anon-access = read
auth-access = write

像上面的配置文件中,anon-access是顶行的,没问题,而auth-access就存在前置空格,会导致这个错误。
要避免出现这个错误,应该在去掉这些行前的#时,也要顺手去掉前面的空格.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值