1、服务器端 http://subversion.tigris.org/
2、eclipse插件 http://subclipse.tigris.org/ 直接在eclipse里安装http://subclipse.tigris.org/update_1.0.x
推荐使用客户端 http://tortoisesvn.tigris.org/
3、创建仓库 svnadmin create D:svn_root
4、修改配置文件/home/svnrepo/conf/svnserve.conf
#去掉#[general]前面的#号
[general]
#匿名访问的权限,可以是read,write,none,默认为read
anon-access = none
#认证用户的权限,可以是read,write,none,默认为write
auth-access = write
#密码数据库的路径,去掉前面的#
password-db = passwd
注意:所有的行都必须顶格,否则报错。
5、修改配置文件passwd。
[users]
sxy = sxy
注意
1.一定要去掉[users]前面的#,否则svn只能以匿名用户登录,客户端不会出现登录窗口,除非你的anon不为none,否则将返回一个错误。
2.这里的密码都是没有加密的,我按照一些教程所说的用htpasswd生成的密码无法使用
6、配置SVN xinetd启动方式:
在/etc/xinetd.d/下面新建svn文件
service svn
{
disable = no
port = 3690
socket_type = stream
protocol = tcp
wait = no
user = svn
server = /usr/local/bin/svnserve
server_args = -i -r /home/svn
}
重启xinetd /etc/init.d/xinetd restart
7、停止SVN服务器:killall svnserve
8、启动SVN服务器
对于单个代码仓库
启动命令 svnserve -d -r /home/svn –listen-host 192.168.1.16
其中-d表示在后台运行,-r指定服务器的根目录,这样访问服务器时就可以直接用svn://服务器ip来访问了。如果服务器有多ip的话–listen-host来指定监听的ip地址.
我们可以在svn客户端中通过svn://192.168.1.16来访问svn服务器
对于多个代码仓库,我们在启动时也可以用-r选项来指定服务器根目录,但访问时需要写上每个仓库相对于svn根目录的相对路径.
比如,我们有两个代码仓库/home/repo1 和/home/repo2,我们用svnserve -d -r /home –listen-host 192.168.1.16来启动,那么在客户端访问时可以用svn://192.168.1.16/repo1和svn://192.168.1.16/repo2来分别访问两个项目
9、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.200:9999/
10、SVNService.exe拷贝到Subversion安装主目录的bin目录下即可,然后执行以下命令,就可以将Subversion以windows服务方式启动啦。
SVNService -install -d -r D:
epositorysubversion (库存放地址)
11、向Subversion中导入项目:现在我们需要将项目导入到Subversion的库中,只需执行一下命令: svn import d:demo svn://localhost/repo1/demo -m "initial import" –username admin –password abc123
这样项目就导入到subversion库中啦。
12、将项目导出:从Subversion项目中导出项目也很简单,只需执行以下操作:
svn co svn://localhost/repo1/demo –username admin –password mypassword
参考文献
http://dev2dev.bea.com.cn/techdoc/20060620822.html
http://svnbook.red-bean.com/ 用Subversion进行版本控制
http://blog.nona.name/archives/134.html 配置Subversion
http://www.subversion.org.cn/bbs/index.php Subversion中文站论坛
版本控制CVS使用
cvs建立:cvs -d:local:D:cvxbbc init
1、服务器端http://www.cvsnt.org/archive/
Service control panel-Repository configuration-add创建存放版本文件的目录,出现问题需要将Compatibility三个选项都勾上
登陆用户为windows登陆用户,windows添加帐号自动成为cvs用户,创建用户cvs -d c:zysoft passwd -a venlentine按回车 输入密码123456
备份只要备份zysoft目录,重新注册即可恢复
2、客户端eclipse端配置
窗口-打开透视图-其他-cvs资源库研究-右键-新建-资源库位置,路径要写绝对路径/zysoft,主机写ip
3、提交项目
项目-右键-小组-共享项目
4、导入项目
文件-导入-cvs中项目
5、文件提交与更新
小组-落实、小组-与资源库同步或者替换为head的最新内容
6、忽略提交资源
首选项-小组-忽略资源
7、注意点
vss一个文件只允许一个人修改,cvs允许多人同时修改,但是后面的人不能提交
解决文件冲突
把项目做成模块目录,各人负责自己的模块和目录
每天下班之前都要提交完整可运行的代码,保证他人更新后不会出现错误
公用型的要即时修改即使提交
修改之前先更新到cvs最新版本
eclipse设置资源库路径都是/开头,例如/root,连接类型为pserver
进行仓库的备份可以使用以下方法:
方法一:使用SVN自带的命令svnadmin hotcopy,对版本库作热拷贝,用这种方法你能任何时候安全的备份版本库而无需考虑是否正在使用(详见SVNBOOK“版本库管理”一章,P102)。
方法二:使用“系统任务”的方法备份。
仓库中版本的备份及还原形式主要有两种:
方式一:直接备份仓库整个文件夹(全部版本),重装svn程序后直接还原过去。
方式二:通过svn命令行备份和还原指定版本号的数据:
l? ? ? ? 全备份:使用svnadmin hotcopy或svnsync来做,例:
c:program filessubversionin>svnadmin hotcopy e:svnarm e:svnarm_bakup
l? ? ? ? 增量备份:使用svnadmin dump的–incremental选项来实现
svnadmin dump 版本库路径及名称 –revision 上次导出的版本号:到本次要导出到的版本号 –incremental > 导出的命名
l? ? ? ? 还原版本:svnadmin load 要恢复的版本库路径及名称 < 导出的命名