SVN的搭建和部署<转>
一,安装服务器端 svn 和客户端 svn
1, 首先安装服务器端软件“svn-1.4.5-setup.exe”(附件可以下载),这个安装就很简单,下一
步,下一步就行了。
(我这里安装到目录:D:\Program Files\Subversion)
2, 其次安装客户端软件“TortoiseSVN-1.4.5.10425-win32-svn-1.4.5”
这个安装也很简单,下一步就行了。客户端软件安装好以后,它会要求你重新启动电脑 。
重启一下。
二,建立 svn 版本控制的服务目录
1, 这里就是把“D:\svn_service_root” 这个目录指定为 SVN 版本控制的服务目录(网上很多
帖子把上面这个命令称作建立仓库是不对的)其实这个目录应该称作仓库所在的目录,
假如我有三个仓库: repository_1,repository_2,repository_3 他们的位置应该是:
d:\svn_service_root\repository_1,
d:\svn_service_root\repository_2,
d:\svn_service_root\repository_3。
2,建立了一个仓库:有 2 中办法如下
2.1)命令行模式进入”C:\Program Files\Subversion\bin\“
再打入命令:svnadmin create d:\svn_service_root\repository_1,这样第一个仓库就建
立好了。以后你的项目就可以
导入到这个仓库中。(其他仓库的建立类似)此时进入目录:桌面--我的电脑--
本地磁盘 E:
--svn_service_root-- repository_1 。你会看到文件夹 conf,dav,db 等等
2.2)打开目录:我的电脑--本地磁盘 E:--svn_service_root。在这个目录下新建文件
夹,取名“repository_1”,右击刚才新建的文件夹-->TortoiseSVN Create Repository Here.
效果同第一种方法一样。
3,打开 svn 的服务
在命令行上转到 subversion 目录下输入(就是刚才安装 svn 服务器的目录):
svnserve -d -r D:\svn_service_root
该命令解释:
这一步是建立开启客户端访问服务器端仓库目录下指定的文件
执行完这步,需要测试以下:
右键 TortoiseSVN -> Repo-browser 来查看版本库。在弹出的 URL 对话框中输入:
svn://localhost/repository_1
访问成功后,会看到一个空的文件目录。(因为现在你还没有放任何东西在里面)
4,配置用户和权限
用文本编辑器打开 d:\svn_service_root\repository_1\conf 目录,修改 svnserve.conf:
将:
# password-db = passwd
改为:
password-db = passwd
注:
-d 参数效果同于--daemon
-r 参数效果同于--root
svnserve 将会在端口 3690 等待请求,
--daemon(两个短横线)选项告诉 svnserve 以守护进程方式运行,这样在手动终止之
前不会退出。不要关闭命令行窗口,关闭窗口会把 svnserve 停止。
可直接创建.bat 文件来处理当做系统服务 如下内容
sc create svnserve binpath= "C:\Program Files\CollabNet\Subversion
Server\svnserve.exe --service -r e:\svn" depend= Tcpip start= auto
sc start svnserve
pause
--root 选项设置根位置来限制服务器的访问目录,从而增加安全性和节约输入 svnserve
URL 的时间
如果不加 root 参数,服务 url 为:svn://localhost/svn/repos
而如果加上 root 参数,服务 url 为:svn://localhost/repos
此处的启动配置会影响服务 url,如果输入 url 错误,会导致访问的时候出现异常 。
为了验证 svnserve 正常工作,使用 TortoiseSVN -> Repo-browser 来查看版本库。在弹出
的 URL 对话框中输入:
svn://localhost/repos
成功访问后可看到空的文件目录!
即去掉前面的 # 注释符,注意前面不能有空格。
然后修改同目录的 passwd 文件,增加一个帐号:
将:
[users]
# harry = harryssecret
# sally = sallyssecret
增加帐号:
[users]
#harry = harryssecret
#sally = sallyssecret
admin= admin
如此就可以用客户端 Tortoise 进行操作了
SVN 安装和服务开启全部结束!!!距离在eclipse 中使用已经完成一大半了!
关于 svn://localhost/repository_1路径问题多说一句:
如果你的服务端装在本机就可以这样访问:右击--SVN checkout .此时会打开一个对话框。
在 URL of repository 下面输入 svn://localhost/repository_1
如果是其他电脑访问这个仓库:
svn://10.1.246.68/repository_1,其中 10.1.246.68 是我的 IP 地址,到时候大家可以自己替换 。
其实这里的 svn://10.1.246.68 地址对应 D:\svn_service_root 目录
【原因:因为我在第三步中使用的命令: svnserve -d -r D:\svn_service_root ,
把 D:\svn_service_root 目录安装成可以通过 SVN 协议来访问】
运行svn容易出现Cann'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端口打开了