在.NET及VS2005中使用VSS
〇、摘要
在企业开发环境中,源代码管理占据着重要的一环。本文将通过一个实例,创建一个源代码管理的项目sourcemanager,来讲述如何使用visual studio.net开发环境,配合visual source safe 6c和iis,创建企业团队开发环境。
一、 开发前的准备
1、 在装有windows 2000或者windows xp professional的机器上安装.net framework sdk、visual studio.net、visual source safe 6c。(如果用户操作系统是windows .net server,则无须安装.net framework sdk,.net server自带的iis 6已经完全包含了对.net的支持)这些工具在visual studio.net的安装盘上都可以找到。
2、 一台专门用于存放版本控制中心数据库的服务器。该服务器不需要安装.net framework sdk和vs.net,但是必须安装vss 6c。我们称这台服务器为开发服务器datacenter。
3、 一个主域控制器,将datacenter服务器加入这个域,为每一个开发用户分配域帐号。这样所有小组成员可以通过登录到window nt域来访问版本控制信息。
注意:visual studio 6所带的visual source safe 6不支持.net的一些文件格式。如果你安装了vss 6,也需要再安装一次vss 6c,否则在vs.net环境中将源代码加入到vss数据库中将会出现错误。
二、 创建空的sourcesafe数据库
在开始工作之前,需要建立一个空的sourcesafe数据库,来存放源代码控制数据,并为小组开发人员分配访问帐号。在datacenter服务器上新建source safe数据库。步骤如下:
1、 启动"开始"——"程序"——"microsoft visual sourcesafe"菜单下的sourcesafe 6.0 admin。如果你是第一次安装vss 6c,common数据库的admin帐号为空。如图一所示:
图一 vss登录窗口
2、 在visual sourcesafe administrator窗口中,你可以看到source safe默认的两个用户admin和guest。如果你不打算使用默认的common数据库,而要建立一个属于自己的项目数据库。选择菜单"tools"——"create database",如图二所示:
图二 vss管理窗口
3、 在弹出的对话框中选择新数据库存放的位置。这里我们选择:c:\sourcemanager\。点击ok后,提示你已经创建了数据库。
4、 选择"users"——"open sourcesafe database…",使用browser按钮,选择刚才所创建的sourcemanager数据库c:\sourcemanager\srcsafe.ini。
5、 使用"users"——"change password"命令更改admin帐号的密码。使用"users"——"add user"命令为项目小组成员创建sourcesafe帐号。
6、 将c:\sourcemanager目录设置为共享。共享权限默认是everyone完全控制。如果希望只对项目小组成员开放,不希望其他人操作数据库文件(注意:没有sourcemanager帐号的人不能访问sourcesafe中的内容,但如果他有权限的话,可以删除或修改数据库中的数据),请将everyone组从权限组中删除,并从域目录中选择可以访问该目录的域帐号或计算机。
7、 到此,一个空的项目数据库建立完毕。
三、 新建项目并加入版本控制
下面将演示在一个装有vs.net的计算机上创建一个windows应用程序和一个web项目,并把它加入到上面所建的soucemanager数据库中。
1、 启动vs.net。
2、 使用"文件"——"新建"——"空白解决方案"命令,在d:\下新建解决方案sourcemanager。vs.net会在d:\下自动创建一个sourcemanager目录,该目录中有一个解决方案文件sourcemanager.sln文件。
3、 使用"文件"——"新建"——"项目"命令,在项目类型中选择"visual c#项目",在"模板"中选择"window应用程序"。项目名称mywindowapp。并选择"添入解决方案"选项。确定。
图三 新建windows应用程序项目窗口
4、 使用"文件"——"新建"——"项目"命令,在项目类型中选择"visual c#项目",在"模板"中选择"asp.net web应用程序"。在"位置"栏中填写http://localhost/mywebapp。并选择"添入解决方案"选项。确定。
图四 新建web应用程序窗口
这样就在解决方案中建立了一个window应用程序和一个web应用程序。下面讲述如何将整个解决方案加入到源代码版本控制。
5、 在webfrom1和form1的设计器中各自加入一个label控件,保持它的属性不变。我们将看到从另一个主机上获取的程序用户界面中也会有这一个控件。
6、 使用"文件"——"源代码管理"——"将解决方案加到源代码管理"命令。
图五 源代码管理菜单
7、 在弹出的visual sourcesafe login登录窗口点击"browser"按钮,弹出打开数据库对话框,点击该对话框的"browser"按钮,弹出如下对话框,在"文件名"中输入\\datacenter\sourcemanager\srcsafe.ini。确定后输入上面所分配的sourcesafe帐号和密码。
图六 打开vss数据库对话框
8、 首先会弹出一个保存解决方案的提示窗口,让你选择将要保存到sourcesafe中的项目名称,默认与解决方案的名称相同。点击ok,会得到项目在数据库中不存在的提示,点击"yes"创建该项目。
图七 在vss中创建项目对话框
9、 接下来会让你选择web应用程序的保存位置。如下图所示。由于web应用程序通常保存在本地的iis根目录下。与解决方案中的其它项目不在同一个目录中,所以需要为web应用程序在sourcesafe中单独建立一个项目。在该窗口点击"ok"按钮接受sourcesafe的默认项目名称mywebapp。
图八 在vss中创建web项目对话框
10、 到此,我们已经在sourcesafe中添加了整个解决方案,包括一个windows应用程序和一个web应用程序。在"解决方案资源管理器"视图中,加入源代码控制的程序旁边有一把锁(如图九所示),表示文档已签入,不可编辑。
图九 解决方案资源管理器
11、 通过菜单"文件"——"源代码管理"——"microsoft visual sourcesafe",打开sourcesafe,可以看到,在sourcesafe中已经加入了两个项目。如图十所示:
图十 vss浏览器
四、 获取sourcesafe中的项目
下面的步骤中将讲述如何在另一台主机上从sourcesafe获取源代码。
1、 在另一台主机上打开visual studio.net开发环境。使用菜单命令"文件"——"源代码管理"——"从源代码管理打开"。重复第三步中的第7个操作,选择sourcesafe数据库的位置。
2、 弹出"create local poject from sourcesafe"窗口,在"create a new project in the"输入框中填写你要保存项目的本地路径,这里我们选择"c:\myproject"。在"sourcesafe project to"中选择sourcemanager项目,单击ok按钮。如果目录c:\myproject不存在,会询问是否创建,选择"yes all"。
图十一 从sourcesafe获取项目对话框
3、 接下来会弹出保存web应用程序工作副本的对话框,在工作副本位置输入框中输入你想要保存web应用的web文件夹,也可以接受默认设置。点击"确定"按钮接受默认设置。
图十二 从sourcesafe获取web项目对话框
4、 通过上述步骤,我们已经成功地在另一个开发主机上获得保存在sourcesafe的工程。将来如果有新的开发人员加入,只需重复这四个步骤即可。
五、 版本控制的几个概念
在visual studio.net开发环境"解决方案资源管理器"的上下文菜单或者"文件"——中有如下与文件操作有关的命令,如图十三所示:
1、 文件的"签出"(check out):当需要编辑一个文件时,必须将该文件"签出",sourcesafe会标志该文件已经被某个用户迁出,并确保其他用户不可编辑同一个文件。对于文件,仅当文件被签入后才有这个选项。
2、 文件的"签入"(check in):当完成文件的编辑后,最好将文件"签入",以让其他用户可以签出或者获取最新版本。对于文件,仅当文件被签出后才有这个选项。
3、 "获取最新版本":从sourcesafe数据库中获取指定文件或项目的最新版本,而又不必签出文件。
4、 "取消签出":不在sourcesafe数据库中保存签出后所做的修改,使本地文件恢复到修改之前的状态,并且将文件签入。只有文件或项目中有文件被签出后才有这个选项。
5、 "历史记录":查看文件修改的历史记录。sourcesafe数据库会自动保存每次"签入"前后的文件内容。如果需要查看历史记录。
6、 "版本比较":可以比较当前版本与历史版本之间的差异,sourcesafe将以对照的形式将两个版本的不同之处显示出来。如图十四所示:
图十四 版本比较
7、 "roll back":在历史版本显示对话框中有一个roll back命令,即将文件恢复到历史版本。当文件编辑错误时,想让文件回到历史的某个点时,使用该命令。历史版本显示对话框中还有其它命令,这里不一一详述,请读者慢慢研究。
8、 visual studio.net中关于版本控制的选项:在"工具"——"选项"命令对话框中,选择左边的"源代码管理",显示如下对话框。读者可以根据项目的情况对sourcesafe选项进行设置。
图十五 visual studio.net中与版本控制相关的选项
9、 其它sourcesafe操作:读者可以从"文件"——"源代码管理"——"microsoft visual sourcesafe"菜单,进入"visual sourcesafe explorer",其中大多数主要命令基本与visual studio.net相同,这里就不再累%