我的java天地

svn服务器安装配置

1.安装svn-1.3.0-setup.exe(可以在http://subversion.tigris.org/下载得到)
2.安装成功后,在命令行输入svnadmin create D:\svnhome\workflow,建立工程,svn自动会
在该目录下建立若干文件
3.在该目录下有password文件,在此文件中增加用户和密码格式如下
[users]
admin = 123
在svnserve.conf文件中增加
[general]
anon-access = read
auth-access = write
password-db = passwd
realm = svnhome
到这一步svn服务器已经配置完成了,下面是导入需要版本控制的工程
4.在命令行执行import命令
例如:D:\svnhome\workflow>svn import D:\eclipse\workspace\Workflow
file:///D:/svnhome\workflow -m "initial import"
回车后命令窗口显示
新增           D:\eclipse\workspace\Workflow\.classpath
新增           D:\eclipse\workspace\Workflow\.project
新增           D:\eclipse\workspace\Workflow\src
新增           D:\eclipse\workspace\Workflow\src\com
新增           D:\eclipse\workspace\Workflow\src\com\bright
新增           D:\eclipse\workspace\Workflow\src\com\bright\sw
......
......
提交后的修订版为 1。
说明工程引入svn控制成功
5.最后在命令行执行svnserve -d命令,启动svn服务


FeedBack:
 
创建仓库 svnadmin create /home/svnroot/repository
修改配置文件/home/svnroot/repository/conf/svnserve.conf
[general]
#匿名访问的权限,可以是read,write,none,默认为read
anon-access = none
#认证用户的权限,可以是read,write,none,默认为write
auth-access = write
#密码数据库的路径,去掉前面的#
password-db = passwd
#用户操作权限#
authz-db = authz
修改配置文件passwd
[users]
user = passwod
user1 = password1
修改配置文件authz
[test1:/]
user = rw
[test1:/doc]
user1 = rw
对于单个代码仓库
启动命令 svnserve -d -r /home/svnroot/repository/test1 --listen-host 192.168.1.18
其中-d表示在后台运行,-r指定服务器的根目录,这样访问服务器时就可以直接用svn://服务器ip来访问了。如果服务器有多ip的话--listen-host来指定监听的ip地址。
我们可以在svn客户端中通过svn://192.168.1.18来访问svn服务器。
对于多个代码仓库,我们在启动时也可以用-r选项来指定服务器根目录,但访问时需要写上每个仓库相对于svn根目录的相对路径。
比如,我们有两个代码仓库/home/svnroot/repository/test1 和/home/svnroot/repository/test2,我们用svnserve -d -r /home/svnroot/repository --listen-host 192.168.1.18来启动,那么在客户端访问时可以用svn://192.168.1.18/test1和svn://192.168.1.200/test2来分别访问两个项目
启动完成以后,我们可以用ps aux|grep svnserv来查看是否存在svnserve进程。
开放服务器端口
SVN默认端口是3690,你需要在防火墙上开放这个端口。
/sbin/iptables -A INPUT -i eth0 -p tcp --dport 3690 -j ACCEPT
/sbin/service iptables save
你也可以通过svnserve的--listen-port选项来指定一个已经开放的其他端口,不过这样的话客户端使用也必须加上端口,如svn://192.168.1.18:9999/。 
 
1.下载文件
下载最新版本subversion,我这里选择svn-1.3.2-setup.exe
下载 "Subversion Windows Service" 软件包
下载 TortoiseSVN shell integration utility
2.安装Subversion 服务器
由于我下载的是setup.exe版本,安装程序安装后会自动设置系统变量.如果你下载的是zip版就需要手动设置系统变量.
setup.exe版直接安装就可以了.安装到D:\Program Files\Subversion
首先创建SVN储存库(repository)
svnadmin create F:\lava\svn\
repository创建完毕后会在目录下生成若干个文件和文件夹,dav目录是提供给Apache与mod_dav_svn使用的目录,让它们存储内部 数据;db目录就是所有版本控制的数据文件;hooks目录放置hook脚本文件的目录;locks用来放置Subversion文件库锁定数据的目录, 用来追踪存取文件库的客户端;format文件是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号;
3.配置SVN服务器
打开/conf/目录,打开svnserve.conf找到一下两句:
# [general]
# password-db = passwd
去之每行开头的#,其中第二行是指定身份验证的文件名,即passwd文件
同样打开passwd文件,将
# [users]
# harry = harryssecret
# sally = sallyssecret
这几行的开头#字符去掉,这是设置用户,一行一个,存储格式为“用户名 = 密码”,如可插入一行:admin = admin888,即为系统添加一个用户名为admin,密码为admin888的用户
4.运行SVN服务器
运行SVN服务
在命令行执行
svnserve --daemon --root F:\lava\svn
服务启动,--daemon可简写为-d,--root可简写为-r,可以建立一个批处理文件并放在windows启动组中便于开机就运行SVN服务,或者在这个地址http://clanlib.org/~mbn/svnservice/下载那个svnservice.exe文件,拷贝到E:\svn\bin目录下,再从命令行下执行:
svnservice -install --daemon --root "E:\svn\Repository"
sc config svnservice start= auto
net start svnservice 
# re: svn服务器安装配置 2007-10-12 15:19 toby
一 需要资源:
1 apache server 。下载地址:www.apache.org
这里我们选择2.0版
2 subversion 服务器包。下载地址:http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91
这里我们选择1.4.3版
3 Subversion 客户端。下载地址:http://sourceforge.net/projects/tortoisesvn/
这里我们选择1.4.3版

二 创建和配置存储仓库:
1 解压subversion服务器服务器包到本地任何目录,打开CMD 命令框,cd 目录到 subversion root/bin。
使用命令svnadmin :
svnadmin create D:\repository\subversion\projectname
(D:\repository\subversion 存储库根目录. Projectname 工程名 )
如果执行成功,上述命令会在D:\repository\subversion\projectname 中自动生成多个文件和文件夹。

2 安装apache server,所有的配置按照安装程序提供的默认选项即可。
默认的安装文件根路径一般为:系统盘:\Program Files\Apache Group\Apache2
修改apache server root/conf/httpd.conf 文件
A 将LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule dir_module modules/mod_dir.so
之前的# 去掉
B 在LoadModule list 的最后加入
如下内容:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
将subversion root/bin目录下的.dll 和 .so文件Copy到apache server root/modules文件夹下
C 在文件最后 加入如下信息
<Location /svn>
DAV svn
SVNParentPath d:\svn\repository
AuthType Basic
AuthName "Subversion repositories"
AuthUserFile passwd
#AuthzSVNAccessFile svnaccessfile
Require valid-user
</Location>
加入上述配置信息后
http根目录:http://yourServer/svn/">http://yourServer/svn/
subversion本地存储库根目录: d:\svn\repository
使用“passwd”文件中username/password(用户名/密码)列表访问http://yourServer/svn/">http://yourServer/svn/
此passwd密码文件位于apache server root目录下
可以通过apache server root/bin 目录下的htpasswd.exe 命令生成
命令使用方式:htpasswd -c passwd <username>
-c 参数表示重新创建密码文件,如果不需重新创建passwd文件而只增加用户,将-c参数去掉。
注意:密码文件生成后,确保passwd文件位于apache server root目录下,如果不在直接Copy过去

3 安装Subversion 客户端
安装完成后,系统的右键菜单会多出Subversion的控制选项,

三引入控管源码
在需要控管的源码文件夹上点击右键,在菜单中顺序选择 TortoiseSVN--》Import
弹出一个对话框,在对话框的上部URL of repository:框中输入前面创建的存储库
Http URL 本例为:http://yourServer/svn/">http://yourServer/svn/projectname
然后点击OK按钮即可。

整个过程就这样简单的做完了,现在你就可以和你的团体合作开发而不必要再为修改冲突担心了 
# re: svn服务器安装配置 2007-10-12 15:21 toby
前一阵子项目开发的时候用到版本管理,以前用的是VSS,现在准备用一下SVN,摸索了一阵子,大概搞清了怎么配置和使用。与VSS相比,我个人觉得SVN使用起来方便些。
首先是软件的安装,我们这里要用到两个软件,一个是服务器端软件subversion,一个是客户端TortoiseSVN。两个都是免费软件。下载的地址在网上有很多地方介绍,但对可怜的教育网或没有上国际网的同胞来说,那是一个比较困难的事实。因为网上给出的地址绝大部分是软件的官方网址,是国外网。而在国外,本人几乎很难搜到顺利下载的地址。直到利用迅雷搜索,才顺利解决软件下载问题。服务器端和客户端版本理论上应该配套,但客户端版本比服务器端新也是没问题的。

服务器软件可能是不需要安装的,那就更好。客户端应该是属于安装形式。如果不懂无需安装的软件要进行一系列烦琐的命令配置,最好是下载那些安装型的,这样,它会在安装过程中自动进行一些必须的配置。服务器端和客户端安装的顺序无关紧要。

服务器应该安装服务器和客户端,客户机只需要安装客户端。事实上,如果服务器机不安装服务器端软件也行,客户端TortoiseSVN自带有服务器,但是在本人使用的过程中,远程客户端不方便访问,并且提交的速度慢得难以忍受。如果进行单机版本管理的话,无需安装服务端,也没有问题。

服务器端:服务器端软件subversion是属于命令行式的,没有图形化操作界面,这对于生手来说有点麻烦,不过所幸的是,我们只需记住一条命令即可。其余的都可以通过客户端来控制。这条命令是svnserve -d -r 版本存放地址。在这之前,使用右键的方式,创建一个版本存放仓库等等,进行一些必要的操作(这里不再说明,这完全是得用客户端软件进行的,网上有很多说明,搜索TortoiseSVN的使用方法就可以得到完整说明)。虽然利用客户端软件,但进行地却服务器软件的操作同样的效果。不妨假设先在E盘创建文件夹:E:\svnServer。并在此文件夹创建一版本存放仓库。此时开始-运行-cmd,在出现的窗口中,利用上面提到的命令svnserve -d -r e:\svnServer。这样就启动了版本服务器了。注意不能关闭些窗口,否则版本服务器也随之关闭。如果你使用的不是安装型的软件,那么这条命令会报错。因为没有进行环境变量的设置。

客户端:对客户端的操作不准备多说,网上随处可见。只是在checkout或commit ,update等操作的时候,在URL of repository(版本仓库地址)中输入格式为svn://服务器ip/文件夹名。如svn://245.38.100.245/che。这里che是建在服务器文件夹e:\svnServer\che\。因为e:\svnServer是一个总仓库,里面可管理多个项目,每个项目存放一个不同的文件夹。至于用户密码管理等等,这些网上都有很多说明。可以自己去找找。

最后附上SVN在linux下的注意事项和常用的命令

发生冲突时:
svn revert 扔掉自己的修改,使用仓库中的文件版本
如果保留自己的改动,丢掉其它人的改动,则:
cp number.txt.mine number.txt
svn resolved number.txt
如果想用另外方式修改一下用svn resolved number.txt
svn log [-r 16:24] clock.java [|more]查看日志
svn blame number.txt 显示一个或多个文件的内容。对于每个文件的每一行,显示改动了那行的最后版本以及作出改动的人。
svn diff [-r 27:26] number.txt 查看(版本27与版本26之间)的差异
svn merge -r 27:26 number.txt 移除版本27中对number.txt的改动
svn merge -r 27:26 . 撤销版本27对当前目录的所有改动,点表示当前目录
svn status [--show-updates] 查看工作版本的状态(与服务器对照)
当锁住文件的用户对文件进行提交后,文件即被解锁
svn add number.txt , svn commit 添加文件
svn co 签出文件co即为checkout
svn info number.txt查看文件number.txt信息
svn move 移动文件或重命名
创建分支(发布或修正BUG):
svn mkdir -m "msg" svn://ip/sesame/branches 可以同时创建多个目录,用空格分开即可
svn copy -m "msg" svn://ip//sesame/trunks svn://ip/sesame/branches/RB-1.0
svn commit
访问发布分支,从分支签出即可。
签出到当前目录的rb1.0文件夹 svn co svn://ip/ rb1.0

posted on 2008-12-13 14:43 tobyxiong 阅读(5218) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航:
 
<2008年12月>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

导航

统计

常用链接

留言簿(3)

随笔分类(144)

随笔档案(157)

相册

最新随笔

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜