安装svn subversion服务参考博客
http://huihai.iteye.com/blog/1985238
一:svn版本管理的作用
a:备份程序 项目开发过程中,防止不可控因素造成的资源丢失(断电或者硬盘损坏)
b:代码还原 恢复到之前的版本
c:协同修改 项目组共同开发时需要操作相同的文件时
d:查询编写时间以及人员
e:实现增量式归档 f:权限设定(读写)
二:svn常用的操作
1:checkout:检出,将svn服务器项目检出到本地。
2:update:更新代码,将组内别人写的代码更新。:
3:commit:将本地代码提交到svn服务器。
4:synchronized:同步,比较本地与服务器代码的区别。
三:svn服务器的安装 subversion
安装完成后,会自动将subversion的路径添加到环境变量
查看svn是否安装 命令 svn --version
开源网站中source:源文件,需要编译才能使用;
binary:二进制文件,能够被计算机所识别的程序文件。
四:创建版本库,用来保存客户端提交的文件
最好是一个项目对应一个版本库,版本库的创建方式。
svnadmin create d:/subversion/oa
版本库目录:
conf:放置svn服务器的配置文件,例如权限配置
db:客户端提交文件存放在db,等效数据库
hooks:钩子程序,相当于数据库中的触发器,提交完成后会
自动触发一些时间,比如向项目经理发送邮件等。可以在这里
写程序实现。
五:启动服务器,并且将服务添加到window服务中,开机自启动
命令行启动svn服务:svnserve -d -r E:\svnrepository
svnserve :启动svn服务的命令,因为已经配置到环境变量,所以在任何目录下都可以启动。
-d:是将svn服务作为后台服务模式启动。 daemon:后台
-r:是svn的根目录 root:根
E:\svnrepository :是版本库的地址,版本库下会有对应多个项目的子版本库,这种
启动模式是多仓库。
svn服务默认端口3690,可以通过netstat -ano 命令查看。
设置成windows服务,开机自启动,参考:
http://blog.csdn.net/wangchengsi/article/details/5926877
sc create svn binpath= "D:/subversion/bin/svnserve.exe --service -r E:/svnrepository" displayname= "SVNService" depend= Tcpip start= auto
sc :该命令是window自带的命令,
binpath:是启动命令服务所在路径。
displayname:在window服务中显示名称
depend:服务端和客户端通信所依赖的协议
start:是否开机自启
svn:在任务管理器中服务显示svn,在服务中显示SVNService
注意:将svn服务设置成window服务需要管理员权限,只需要命令行有管理员权限即可。
六:通过端口查询服务
netstat -ano|findstr 3690 通过3690端口查询该端口的pid进程号2068
tasklist|findstr 2068 通过pid进程号查询服务名称
七:eclipse插件安装
可以在线安装,也可以下载安装包安装。
a:在线安装,help—eclipse marketplace—选择svn,就可以在线安装了。
b:在http://www.eclipse.org/subversive/downloads.php下载svn插件。
把下载的插件拷贝到eclipse目录dropins目录下面即可使用,然后重启eclipse
八:eclipse直接把项目导入svn版本树
项目—右键——Team——share project——选择url地址。
url:svn://localhost/healthCare
svn://localhost/ :直接定位到windows服务配置的版本库目录,然后在拼接上healthCare,让它能够定位到子仓库。
在使用eclipse提交项目到版本库的过程中,需要在conf目录下配置权限,才能提交。
九:遇到冲突
当项目组内的两个用户同时操作一个文件时(通常是公共文件),就会起冲突。
解决方法:通过同步比较,显示自己修改的地方,复制下来,然后覆盖更新,更新后,在将复制下来的内容修改
到文件中,然后在提交,问题解决。
十:权限问题
conf目录下svnserve.conf配置,如果是匿名,那么任何用户都可以进入,进行读或者写操作。
anon-access = write 匿名写操作 匿名用户可以执行读写操作
auth-access = write 权限写操作 授权用户可以执行读写操作
password-db = passwd 配置用户密码在passwd文件
authz-db = authz 配置权限在authz文件
十一:代码还原
team——显示历史内容——获取内容
在这里要修改svnserve.conf配置文件,匿名进入为none
十二:单独的客户端界面