(转)Visual Studio.Net如何使用CVS管理源代码
Visual Studio.Net与同属于Microsoft的Visual SourceSafe有良好的集成,因此很多人在使用Visual Studio.Net做开发的时候很自然的使用Visual SourceSafe作为其源码管理工具。但是当项目需要使用CVS作为源代码管理工具的时候,Visual Studio.Net怎么办呢?本文将以显浅的描述,教你如何配置CVS使之与Visual Studio.Net结合得天衣无缝。
1、需要的软件
CVSNT:http://www.cvsnt.com(此处选择CVSNT v2.0.51b作服务器)
Igloo:http://www.jalindi.com/igloo/(Visual Studio.Net插件,用于访问CVS),Igloo安装成功后,Visual Studio.Net的默认Source Control将会使用CVS
2、配置CVS服务器
如使用已有的CVS,则可跳过此步。
CVSNT安装成功后会在开始菜单里有菜单项“CVSNT/Service control panel”,以及在控制面板里面会有“CVS for NT”的图标。点击其中之一即可打开以下窗口:
(图一)
在Repositories的标签页里添加指定的目录作为代码储藏库。如果指定的目录仍不是CVSNT所认可的储藏库,CVSNT对目录进行初始化。如图二所示:
(图二)
如有需要还需检查Advanced标签下的Temporary Directory是否为正确值。如果指定的目录不存在,则当Visual Studio.Net操作时会报错无法建立临时文件夹。如图三所示:
(图三)
3、建立Visual Studio.Net工程并加入到CVS中
与SourceSafe相比,CVS中的Repository相当于SourceSafe中的Database,CVS中的Module与客户端的目录结构一一对应。因此,Visual Studio.Net以目录为单位,将Solution保存在CVS对应Modules中。
A)建立新的Visual Studio.Net工程(任意),Solution视图如下所示:
(图四)
此时VS.Net中有一个名为CVSSolution的解决方案(Solution)以及在CVSSolution下有一个名为testcvs的项目(Project)。
B)将CVSSolution加入CVS
右击Solution视图,在弹出菜单中选择“Add Solution to Source Control…”,将弹出以下对话框:
(图五)
CVS的远程访问一般使用pserver协议,CVSROOT的格式如下:
:pserver:username:pasword@hostname:repository
此处的Repository选择了图二所示的MyFirstRepository,点击Check按钮测试服务器连接,此时将弹出CVS Login对话框,提示输入密码(当然密码也可以在CVSROOT中指定):
(图六)
此时,如果连接成功,则会弹出以下信息对话框,否则会弹出出错信息:
(图七)
在Module的信息里有CVS Module和Vendor两项,CVS Module一般情况下应和被加入到CVS中的对象(此处为Solution)的名称一致。Vendor则可根据喜好修改。
如果所指定的Module已经存在,此时可点击Connect,否则点击Create,建立新的Module。因为我们是将工程新加入CVS,所以此时应建立新的Module,若Module CVSSolution建立成功,此时将提示将工程testcvs加入cvs的信息:
(图八)
与图五比较,此时的LocalPath变为testcvs工程所在的目录,CVS Module也默认为CVSSolution/testcvs,表示此Module的路径在CVSSolution的Module之下。点击Create为testcvs所在的目录新建对应的Module。CVSSolution/testcvs建立后Solution中的文件将被Check in至CVS中。
至此,Visual Studio.Net工程与CVS就正式联结起来了。可以对工程文件进行Check In和Check Out的操作测试CVS是否运作正常。
对于解决方案(Solution)中新加入的工程(Project)也可参考以上方法加入到CVS中。
4、结语
在Visual Studio.Net中使用CVS在操作流程上与SourceSafe无异,只是在配置和用户界面上与SourceSafe略有不同,如在进行文件比较等操作的时候,Igloo会把CVS的输出显示在Output窗口上。
本文只是作为Visual Studio.Net与CVS结合使用的引子,更多的技巧还需使用者们自己挖掘。