因为上次没有做好备份以至于丢失了一些东西,所以今天决定学一学CVS,想利用版本控制的工具来备份文件。下面介绍一下学习的经过:
<o:p> </o:p>
1.安装CVSNT<o:p></o:p>
首先在www.march-hare.com 上下一个free版的CVSNT(注意选择与自己操作系统对应的server,我用的是WindowsXP),我下的是<st1:chsdate isrocdate="False" w:st="on" year="1899" day="30" islunardate="False" month="12">2.5.03</st1:chsdate>版的(最新版本为2.6X)。安装时我用的complete安装,过程很简单,没有什么需要特别注意的地方,只需要一步一步点击Next就可以完成了。安装后会有一个对话框提示你重启系统。
<o:p></o:p>
2.配置CVSNT<o:p></o:p>
重启系统后就可以开始配置CVSNT了。打开[开始]|[所有程序]|[CVSNT]|[CVSNT Control Panel]面版:
<v:shapetype id="_x0000_t75" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" filled="f" stroked="f" coordsize="21600,21600" o:spt="75"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" o:extrusionok="f" gradientshapeok="t"></v:path><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype>
<v:shapetype id="_x0000_t75" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" filled="f" stroked="f" coordsize="21600,21600" o:spt="75"> <v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" o:extrusionok="f" gradientshapeok="t"></v:path><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype><v:shape id="_x0000_i1025" style="WIDTH: 415.5pt; HEIGHT: 266.25pt" type="#_x0000_t75"><v:imagedata o:title="" src="file:///D:\Personal\Temp\msohtml1\02\clip_image001.png"></v:imagedata></v:shape>
在About选项卡可以看到[Services]组中运行的服务(默认自动启动)。打开Compatibility Options选项卡,在[Non-CVSNT Cvients]选项组中选中Respond as cvs <st1:chsdate isrocdate="False" w:st="on" year="1899" day="30" islunardate="False" month="12">1.11.2</st1:chsdate> to version request复选框,以使Eclipse可以与CVSNT正常通信。
<o:p> </o:p>
<o:p> </o:p>
3.创建CVS代码库(Respository)<o:p></o:p>
先建一个文件夹作为仓库,然后打开[CVSNT Control Panel]中的[Repository configuration]选项卡:
单击“Add”:
<v:shape id="_x0000_i1028" style="WIDTH: 4in; HEIGHT: 224.25pt" type="#_x0000_t75"><v:imagedata o:title="" src="file:///D:\Personal\Temp\msohtml1\02\clip_image007.png"></v:imagedata></v:shape>
在“Location“中填上刚刚建的文件夹,然后“OK“。它会弹出一个要求初始化的窗口,“YES”就可以了。
<o:p></o:p>
4.访问CVS应该有一个账号,由是本机,所以就用系统账号了。<o:p></o:p>
<o:p></o:p>
5.配置CVS客户端。<o:p></o:p>
首先启动Eclipse(我用的是3.2版的)。然后单击[Window]|[Show View]|[Other],找到CVS
选中CVS Respositories,在Eclipse的下方会出现一个CVS Respositories view,在空白处右键选中[New]|[Responsitory Location]
在Host里填上主机地址,Respository path里头填上代码库Name,User和Password就不用说了。可以在Save password打上勾,以免每次输入密码。
<o:p> </o:p>
6.将工程上传到CVS服务器。<o:p></o:p>
右键工程名,打开[Team]|[Share Project]
<v:shape id="_x0000_i1031" style="WIDTH: 414.75pt; HEIGHT: 379.5pt" type="#_x0000_t75"><v:imagedata o:title="" src="file:///D:\Personal\Temp\msohtml1\02\clip_image013.png"></v:imagedata></v:shape>
单击Next,最后单击Finish时会出现下面一个窗口:
<v:shape id="_x0000_i1032" style="WIDTH: 393.75pt; HEIGHT: 440.25pt" type="#_x0000_t75"><v:imagedata o:title="" src="file:///D:\Personal\Temp\msohtml1\02\clip_image015.png"></v:imagedata></v:shape>
在上面的空白处可以为这个版本写一个注释。然后Finish就可以了。
<o:p> </o:p>
7.从CVS服务器中导出工程。<o:p></o:p>
在CVS Repositories中HEAD下可以找到刚刚的工程。右键选中Check Out as
然后Finish就可以了。可以看到在每一个文件后面都有一个版本号。
<o:p> </o:p>
8.提交更改的项目(也可以只提交更改的文件)。方法都一样,在工程或文件上右键,选中[Team]|[Commit],然后最好加上注释,就可以了。
<o:p> </o:p>
9.查看历史文件。<o:p></o:p>
在新版本的文件上右键,选中[Team]|[Show History]会出现一个History view,然后可以双击一个版本,就可以看到历史记录。
<o:p> </o:p>
CVS使用(参考资料):<o:p></o:p>
1. 每个开发人员在对自己的文件修改之前,应该说先对要修改的文件完成更新(同步)操作(与CVS上保持一致)
2. 对于一些特殊的文件,如一些配置,属性文件,修改频繁的,应该即时修改,即时提交。
3. 开发人员应该做到每日提交,即每天都要提交自己的工作,不应该在工作结束之后再提交。
以上三点都是为了保持文件版本一致性与最新。利于工程管理与开发,可以避免重复开发,节省时间。