『天道酬勤』


宠辱不惊,看庭前花开花落.去留无意,望天外云卷云舒.
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

VS.NET中的Web项目和源代码管理集成方案(4)

Posted on 2007-11-19 20:33  咣咣咣  阅读(256)  评论(0编辑  收藏  举报
共享签出

对于大多数专业开发团队,建议使用共享签出(或多签出模式)。通过共享签出,多个用户可以签出并编辑任何文件,即使其他用户已签出该文件。

如果您习惯于在独占签出模式下工作,则共享签出所导致的合并冲突可能(无法自动解决的重叠更改)比想象中要少。如果出现冲突,源代码管理提供程序通常会提供一种简单的方法来确定哪些更改需要保留,哪些更改需要放弃。

如果团队确实使用共享签出模式,那么在没有对 IDE 中的项目项事先执行 Get(获取)操作的前提下,千万不要使用 Check In(签入)命令。从源代码管理获取最新版本后,您可以将个人更改与版本主控副本(如果上次签出以后发生了更改)合并,将已合并的项目保存到工作文件夹,然后测试该项目,以确保它仍然可以正常工作。如果在没有获取最新版本的 Web 项目的情况下尝试签入自上次签出后已发生更改的文件,则可能会以损坏的版本覆盖工作版本。在这种情况下,您有两种选择,但两种选择都不会令人满意:

◆可以在 Web 服务器上调试该项目。但对于 ASP.NET Web 项目来说,在您的工作完成之前,这样做可能会阻止其他开发人员使用该项目。

◆在源代码管理中,您可以返回到最近的主控副本的正常版本,自上次签出项目后对工作副本所做的更改将会丢失。这种方法会导致数据丢失,因此建议您不要采用。另外,必要时最好在您自己的计算机上执行 Get(获取)操作并进行合并,而不要在服务器上执行签入及合并。

源代码管理提供程序以不同的方式处理共享签出。如果您使用的是 Visual SourceSafe 6.0c,则在默认情况下为独占签出。

在 Visual SourceSafe 6.0 中实现共享签出

1、在源代码管理服务器上,单击“开始”按钮,指向“程序”,指向“Microsoft Visual SourceSafe”,然后单击“Visual SourceSafe 6.0 Admin”。

2、单击 Users(用户),单击 Open SourceSafe Database(打开 SourceSafe 数据库),选择相应的数据库,然后单击 Open(打开)。

3、在 Tools(工具)菜单中,单击 Options(选项)。

General(常规)选项卡上,选择 Allow multiple checkouts(允许多重签出),然后单击 OK(确定)。

协作开发模式

对于 Web 项目而言,协作开发模式由以下两个因素综合决定,即:每个项目的 Web 访问方法和开发人员保存其工作副本的位置。主要有三种模式:

◆隔离开发

◆半隔离开发

◆非隔离开发

隔离开发

在这种模式下,每个开发人员都可以进行编辑、运行和调试,并将增量更改保存到团队中源代码管理的主控 Web 项目的个人工作副本中。开发人员将工作副本保存到他们的个人 Web 服务器上的本地主机位置。各个成员通过源代码管理的主控项目进行间接交互。团队成员可以同时处理相同的文件,因为他们的源代码管理提供程序可以通过以下两种方式调节所有版本冲突:自动调节或者提示成员手动合并无法自动解决的冲突。下图说明了源代码管理如何将文件共享 Web 项目的开发人员之间相互隔离开来,不受彼此更改的影响。



图 3

使用“本地主机模式”,开发人员可以在 http://localhost/projectname 下创建 Web 项目。当项目开发人员首次从源代码管理打开项目时,他们将工作副本保存到个人 Web 服务器的同一相对 URL 地址中,即http://localhost/projectname

提示:即使没有将工作副本保存到本地主机位置(例如 http://ProductionServer/WebApp1),只要确保您的队友没有将其工作副本保存到同一个 Web 服务器,您仍然可以实现完全隔离。将您的工作副本保存到远程 Web 服务器上,以在项目的生产环境中执行部署前测试和调试(查找计时和并发问题)。

优势

◆与在半隔离或非隔离开发环境下创建项目相比,在隔离模式下可以更轻松地创建、访问和管理 Web 引用。

◆两个或多个开发人员可以分别在各自的服务器上同时调试 ASP.NET 应用程序。

◆与其他协作开发模式相比,隔离模式的硬件、软件和服务器管理成本非常合理。

◆支持高级源代码管理功能,例如共享(多重)签出,以及 merge、branch、pin 和 label 等命令。

◆可以与任何 MSSCCI 兼容的源代码管理提供程序一起使用。

缺点

◆在某些情况下,无法实际进行测试(例如,正在使用模拟/代理并且存在跃点限制,或者生产服务器的速度比开发计算机的速度快得多)。

◆每个开发人员都要负责配置 IIS 设置,而当工作副本存储在中心 Web 服务器上时,则不必如此。

◆所有开发人员都必须具备对相同 LAN 或 VPN 的访问权限。