一、什么是SVN
什么是SVN(Subversion)?
有一个简单但不十分精确比喻:
SVN = 版本控制 + 备份服务器
简单的说,您可以把SVN当成您的备份服务器,更好的是,他可以帮您记住每次上传到这个服务器的档案内容。并且自动的赋予每次的变更一个版本。
通常,我们称用来存放上传档案的地方就做Repository。用中文来说,有点像是档案仓库的意思。不过,通常我们还是使用Repository这个名词。基本上,第一次我们需要有一个新增(add)档案的动作,将想要备份的档案放到Repository上面。日后,当您有任何修改时,都可以上传到Repository上面,上传已经存在且修改过的档案就叫做commit,也就是提交修改给SVN server的意思。针对每次的commit,SVN server都会赋予他一个新的版本。同时,也会把每次上传的时间记录下来。日后,因为某些因素,如果您需要从Repository下载曾经提交的档案。您可以直接选择取得最新的版本,也可以取得任何一个之前的版本。如果忘记了版本,还是可以靠记忆尝试取得某个日期的版本。
为什么要用SVN?
1。备份工作档案的重要性。您永远不知道计算机上的硬盘何时会坏掉。根据经验法则再加上墨菲定理,坏事情往往都发生在最重要的时刻。例如,要release东西的前一刻,硬盘完全坏掉,无法修复。所以,常常备份工作数据是非常重要的。大部分公司的server都会有专门的备份机制,甚至是异地备援。绝对比放在自己的计算机里头,或是随身碟上面来的安全。
2。版本控管的重要重要性。您无法保证手头上最新版本永远都是对的。很多时候,在经过数天努力工作后,您才发现走错方向。需要将所有的修改回复到数天前版本。没有几个人能够完全记住自己修改过什么东西。如果没有做好版本控管,那么,最差的状况就是要全部重来。
3。伙伴间的数据同步的重要性。很多时候,除了您个人外,还有其它的伙伴也需要您的档案。怎么把最新的档案提供给伙伴呢?用e-mail?根据经验,用e-mail是一个很差的办法。到了最后,根本就不知道哪一封e-mail才是新的。因为可能您最新的e-mail已经被当成垃圾信给丢了。别忘了,现在很多e-mail软件都有anti-spam(反垃圾邮件)的功能,说不定这些信件都被当成广告信给处理掉了。而且,您也应该知道一般档案如果放在e-mail内,档案大小会变得比较大(通常是原来的4/3倍以上)。如果每天更新一次,恐怕几天没收信的话,信箱就爆了!
4。如果没有一个好的办法,备份不同版本是很耗费硬盘空间的。例如:您有一个总共10MB的目录,使用单纯的档案备份。如果有10个版本就会变成100MB。20个版本就有200MB。如果,不想备份这么多版本,势必就是要减少备份的次数。拉长备份周期将会导致数据遗失的危险性增高。把旧的不需要的备份删除?根据经验,只要时间一拉长,您跟本就不知道一个月以前的版本是重要或者是不重要。
---------SVN能帮我们解决上面的问题吗?答案是肯定的:
SVN Repository可以是自己计算机上的一个目录,或者是随身碟(不建议这样用)。当然也可以是公司的服务器。
SVN有很棒的版本控管机制。所有上传的版本都会帮您记录下来。日后您可以随时取得某一个时刻的版本。而且,也有版本分支及合并等好用的功能。
SVN可以让不同的开发者存取同样的档案,并且利用SVN Server作为档案同步的机制。也就是说,您有档案更新时,无须将档案寄给您的开发成员。只需要告诉他新的版本已经在SVN Server上面,请他自己去SVN Server上面就可以取得最新版本。而且,SVN Server也可以做到当您上传新版本后,自动发信给相关的成员。
SVN的存放档案方式是采用差异备份的方式。也就是说,他只会备份有不同的地方。所以很省硬盘空间。此外,他也可以针对所谓的非文字文件进行差异备份。
1. SVN安装
1.1安装SVN客户端软件
1.1.1获得SVN的客户端安装(TTortoiseSVN-1.5.0.12222-alpha1-win32-svn-1.5.0-alpha2.msi)。 问项目经理或配置管理员要。
1.1.2双击安装文件后,全部选择[next]按钮,直至完成。
1.1.3重新启动计算机,安装程序结束,如图1-1所示,SVN自动集成到Windows的资源管理器中,并显示为TortoiseSVN。
1.2安装语言包 (此步骤可选)
1.2.1安装语言包程序LanguagePack_1.5.0.12222-alpha1-win32-zh_CN.msi后,在[设置]中选择语言。如图1-2显示:
2.1.1在初次建立配置库时,需要向服务器中导入已制定的配置库结构(文件夹),选定要导入SVN服务器的文件夹后,右键选择“导入”,输入服务器路径,填写日志,点击“确认”。(此步骤一般为项目组的配置管理员操作,用户不需要此项操作)
2.1.2本地首次使用SVN者,需要从SVN服务器上导出(checkout)数据到本地工作文件夹,步骤:
Ø 在自己的工作区建立保存数据的文件夹(例如文件名:PICC-SVN)
Ø 在准备保存数据的文件夹上点击鼠标右键,选择“checkout”,弹出 图2-1界面。
Ø 在URL of repository:下输入服务器地址 http://11.137.76.240:6666/svn/picc-svn
Ø 在Export directory中输入本地保存数据文件夹地址(如果已经建立了文件夹,并且通过右键export的方式,不需要再写此项,系统自动带入地址)或者可通过点击输入框右边的“浏览”按钮,选择需要导出的数据目录。注:钩选上Omit externals
图2-1
Ø 点击“OK”。从服务器上下载到本地,显示 图2-2
图2-2
数据下载完成后,会显示“OK”按钮,点击此按钮数据下载完毕。
2.2.1本地的数据需要及时同服务器的数据同步,选择要进行数据更新的文件夹,点击右键,选择“SVN update,显示出成功更新完成的界面,更新数据结束。(如图2-3)
图2-3
2.2.2更新数据结束后,查看更新后的目录,目录及目录中的文件图标会变化,如图2-4所示,图标上会增加一个“对勾”的图示,此时说明本地的文件同SVN服务器的文件同步。
图2-4
2.3.1在本地与SVN服务器同步的目录中添加数据(文件/文件夹),并向SVN提交时,首先右键点击需要上传至SVN的文件/文件夹,选择“Add”,如图2-5-1:
图2-5-1
2.3.2点击“Add”后,系统会弹出对话框,确认要添加的文件/文件夹,核对后点击“确认”即可。
2.3.3成功添加数据(文件/文件夹)后,添加的文件/文件夹的图标会发生变化,如图2-5-2所示,图标上会增加一个“加号”的图示,此时说明文件/文件夹已添加,但并没有正式提交至SVN库。
图2-5-2
2.3.4(前接2.3.3)成功添加文件/文件夹后,再次选择需要上传至SVN服务器的文件/文件夹,点击右键,选择“COMMIT”,此时系统弹出“输入日志信息”栏(如图2-6-1),要求提交者填写日志信息,填写的信息可包括,提交的文件/文件夹名,添加的原因等。填写完毕后,点击确认按钮,此时显示出成功提交界面(如图2-6-2),数据提交结束。
图2-6-1
图2-6-2
2.3.5对已提交的数据(文件/文件夹)进行修改后,再次提交,执行2.3.4步即可。
2.3.6如果提交的数据(文件/文件夹)是非最新版本,提交操作将不能成功。如果修改了已提交的文档,但没有再次提交,此时该文件/文件夹的图标将变化,如图2-7所示,图标上会增加一个“叹号”的图示,此时说明本地的文件/文件夹与SVN服务器的数据不同步。
图2-7
2.3.7如果提交不成功,有可能是操作有误或提交者没有对该数据提交的权限。
2.4.1删除本地与SVN服务器不同步的数据(文件/文件夹)时(不删除在SVN服务器上的该数据),使用windows的删除功能,再使用SVN更新本地数据即可。注意:一定要比较本地文件与SVN服务器文件后,再确认删除。
2.4.2删除在SVN服务器上的数据(文件/文件夹)时,要使用SVN的删除按钮,选择要删除的文件/文件夹,点击右键,选择TortoiseSVN中的“DELETE”,如图2-8所示。
图2-8
2.4.3如果删除后提交不成功,有可能是操作有误或删除者没有对该数据删除的权限
三、eclipse4.3中安装svn插件
1,在Eclipse中安装svn的两种方式:
1.1在线安装:
第一步:点击菜单按钮Help----->Install New SoftWare...操作如图:
第二步:在弹出的新的窗口中 加入Name:SVN downLoad Location:http://subclipse.tigris.org/update 操作如图:
第三步:点击确认,选中全部,直接下一步就ok了。
1.2本地安装
第一步:网上下载svn插件的jar包 我用的是svn-eclipse-site-1.6.10.rar 有需要到我上传的资料上下载
第二步:找到下载的压缩文件,进行解压缩后将解压的文件保存到Eclipse的安装目录的dropins文件夹下面如图:
第三步:找到压缩文件中site.xml的目录,复制文件的路径:
第四步:在安装文件的dropins中新建一个文本文档:输入path=“刚刚复制的路径” 一定要将反斜杠\ 写成双个反斜杠\\
保存文本文件,后缀名改成.link 重启Eclipse 安装过程结束
在Eclipse中选择菜单:window--->Preferences 输入svn就可以看到svn的信息:
2,在MyEclipse中安装svn:
我使用的是本地安装,跟上述的第二中方法操作一样,打开myeclipse 的安装路径的dropins目录下,把解压缩的文件放进去,然后修改path,不管是安装svn还是activiti插件都是相同的方法,例如我的安装文件中安装svn和activiti 后的内容
之后重新启动就行了。