eclipse集成mercurial的使用

    最近一个项目启动,因为成员不能及时到位协同工作,决定使用分布式版本控制系统管理代码,而最受好评的便是mercurial(HG)了。于是,花了2天时间来研究使用。
    分布式版本控制的概念以及mercurial的操作不是本文的目标,网上有大量的资料可以查阅,本人推荐英文水平尚可的朋友阅读Bryan O'Sullivan的Mercurial:The Definitive Guide一书,中文版译名“Mercurial权威指南”,只是中文版的翻译还在进行中,目前只是完成了目录的翻译工作,呵呵。这本书作为入门只需要阅读1.2.4.5几章,写得相当通俗易懂。
    我个人使用的IDE是myeclipse5.5.1,可惜集成的eclipse3.2版本过低,不能支持mercurialeclipse插件,而myeclipse7.1则实际上不能支持第三方插件,表现为无法指定更新特定插件,要更新则是400多M的大小,根本没法进行,网上对此亦有评述。听说最新的netbeans6.5内置对HG的支持,就下载安装了一个。经过试用,我放弃了netbeans,原因有二:
1,默认的UI字体风格界面实在难看,也不知道怎么可以自定义,并且对tomcat的支持不够理想,通过IDE启动、关闭经常会出错。
2,性能方面,双击放大缩小编辑区域,明显的有一点延迟,不是机器性能问题。其它功能就没有多尝试了,感觉已经很不爽了^^
    以上都是题外话,却是选用eclipse+mercurialeclipse插件的根本原因...现在进入正题。
    安装eclipse3.4,去http://www.vectrace.com/eclipse-update/更新插件,获取mercurialeclipse插件,略过。
    经过多次测试,发现mercurialeclipse插件不像cvs插件,无法从库创建一个指定类型的project,而我也不想把代码无关的project相关项目文件如.project,.classpath,.settings,build加入到版本控制。这样就有个问题,怎么样去创建代码库,让拿到代码的人按照自己的意愿创建自己的工程。于是,我想到了和使用cvs相反的流程,先创建本地项目,然后导入已经进入hg管理的代码库。步骤如下:
1,创建代码库
在eclipse里面创建一个web工程app,只包含一个index.jsp,如图:

然后选中项目名app,右键,team-->share project-->MercurialEclipse,一路确认,完成后选中build,右键,team-->忽略,按照默认选项确定,此时在workspace的app下面,会产生一个.hgignore的文件,用文本编辑器打开编辑,完成后的内容如下:
syntax: glob
.project
.classpath
.settings
*.class
*.log
*.bak

syntax: regexp
^build$

同样右键,team-->添加...,此时只会看到我们想要加入版本控制的几个文件,确定。最后commit,库创建完成。
2,从库取出代码并创建自己的工程。
使用clone从上文创建的库获取副本,到myapp(可以放在workspace之外)。
创建本地web工程myapp,完成后 Import-->File System,导航到myapp目录,选中库中的所有文件,包括.hgignore。
此时,工程已经完备,但是还没有进入版本控制。右键,team-->share project-->MercurialEclipse,如下图:


点击Finish,大功告成,出现了版本控制状态:

以后就可以在IDE中直观的管理版本了!

猜你喜欢

转载自fan.iteye.com/blog/392901