Svn(Subversion)
VisualSVN-Server是SVN的服务端。TortoiseSVN是客户端。D:\SVNRepositories是安装VisualSVN-Server时候选择的仓库路径。\library1是新建的仓库。
https://shinery-yw-001.siit.org/svn/library1是访问地址。
建立svn仓库
命令svnadmin create 仓库名称,图形创建仓库
仓库目录说明
db目录:数据存放文件。
hooks目录:脚本文件的目录。pre-commit.tmpl是提交之前的操作,post-commit.tmpl是提交之后的操作,start-commit.tmpl是提交之后的操作。
locks目录:锁。同时修改同一个文件时候可以锁起来,别人就不能修改,锁释放了才可以修改。
format:版本号码,初始的时候是0,修改一次就加1,现在是5。
conf目录:是这个仓库的配置文件(仓库的用户访问帐号、权限等)。
.svn 记录着两项信息: 本地文件和服务器文件的对比,和本地文件最后更新的时间戳。修改删除这个文件,那么本地文件夹就是一个普普通通的文件夹,不再是svn文件夹。
需要用户名和密码:
创建用户名和密码
在D:\SVNRepositories\client-user1新建一个文件,此时图标是问号
表示这是一个未知的文件,不知是否想加入svn的管理。
点击+号,表示加入版本控制中,此时的图标变为+号
表示已经加入版本控制。但是还没有提交到服务器,
Commit之后文件就变为✔了。
修改仓库的属性:
把everyone给remove掉
重新add用户,选择read-only
添加组,比如安卓组和ios组。组里面可以添加成员。
文件冲突之后
.mine是我的文件。R3,R4是版本号,R3是冲突之前都没有提交的版本号文件,R4是有人提交之后也就是服务器此时的最终版本号。
黄色的忽略,关注红色的。
查看文件的log信息。
和之前的版本进行比较。最左边是版本号。
5版本和6版本进行比较。
打开当前版本
撤销到当前版本。
空白区域show log,查看所有的log信息。
SVN与Eclipse整合
下载SVN插件(http://subclipse.tigris.org)
我们使用版本eclipse_svn_site-1.6.5.zip
解压到一个文件夹中
进入 eclipse 安装目录中 dropins 目录并创建一个 subclipse.link 的文本文件(文件名任意)。内容为:path=eclipse_svn_site-1.6.5.zip解压路径(注意:路径中需要把‘\’替换成‘/’)
重启。
Subversion目录规范:3个文件夹
/trunk 存放开发的“主线”
/branches 存放支线副本
/tags 存放的当前发布的副本
比如主线开发1.0版本,开发完成之后发布1.0版本。发布就是发布在tags留存一份。有一个约定,Tags里面的代码不会去更改,只是存放一个里程碑的版本。然后现在做2.0版本,那么主线就是存放2.0版本,现在1.0版本有bug,那么其他人继续做trunk里面的2.0版本,指派一个人去修复bug,trunk里面已经改动到2.0去了,那么他就从tags里面导出代码,因为tags里面的代码是原则上不再更改的,从tags里面导出的代码放到branches分支里面去修改。他修好之后发布1.1到tags里面。1.1版本也要发布到2.0里面去。