專業的軟件開發需要對在開發過程中每一應用程序的源代碼修改的管理進行流水線處理。Microsoft_ Visual SourceSafe?記錄了系統、項目和文件級修改的歷史記錄,允許你安全的在多個程序員之間分配開發工作,跟蹤修改信息,并恢復個別文件或整個應用程序的早期版本。
簡介
代碼是寶貴的資源。為了保護它,很多開發者應用一些版本控制系統以保護文件避免未授權的修改和意外的錯誤。這些系統有很多種,從有關程序注釋的更改和存儲舊版本的君子協定到自動跟蹤修改和歷史記錄的復雜的軟件系統都有。
大多數來源控制系統對于單獨的源文件是有效的。但是,它們幾乎全部不能在文件間建立關系。這在Microsoft Windows的環境中將引起問題,因為在該環境中,一個應用程序可以包含多個可執行文件和由許多不同的源文件建立的動態連接庫,它們有可能在很多其它應用程序中重復使用。當今,管理源文件間的關系和保護源文件的內容本身同樣重要。
Microsoft Visual SourceSafe 版本控制軟件通過將項目管理的任務和源代碼的控制結合起來,解決了這個問題。以注重在管理源文件的同時管理項目,Visual SourceSafe提供了對該問題的的解決方案,是用標準的、面向文件的來源控制系統不易實現的。
軟件開發流水線
為了理解面向項目的來源控制的優點,僅需將它和面向文件的系統進行一下比較。一個標準的版本控制系統(例如,UNIX工具RCS)必然是一組用于操作獨立的文件、控制文件訪問和更新并與早期版本比較的工具的集合。為了操作一組文件,你需要編寫一個批文件或在命令行指定通配符。
Microsoft Visual SourceSafe將文件存儲在網絡的中心數據庫中,而不是在一個普通的DOS目錄中。在系統級,該數據庫表現為一個“黑盒”。但是,當以Visual SourceSafe為視圖時,可以看到該數據庫中包含了你的組織到項目分層結構中的所有源文件和歷史記錄。
當你檢索一個文件時,Visual SourceSafe將在數據庫中標記該文件為簽出,然后允許你在你的機器上對該文件進行修改。當你將該文件放回時,Visual SourceSafe更新它的數據庫并重新修改你的機器對文件的訪問權限為只讀。
然而,這和面向文件的來源控制有什么不同呢?
對于每一個改變,Visual SourceSafe數據庫記錄并追蹤那些對于面向文件的系統不可用的項目信息。每當文件被加入,修改,共享,移動,或從項目中刪除,Visual SourceSafe將同時更新文件和項目的歷史記錄。你可以應用項目歷史記錄來簡化這些工作:
在連編前瀏覽指定項目及其全部子項目中所有文件的狀態。 ? 縮小那些由于在某一日期聯編可能引起錯誤的指定文件的改變信息。
重新生成所有應用程序的前一版本。
維護被許多不同應用程序共享的源文件。
確定哪一個項目將由于改變被多個不同應用程序共享的文件而受到影響。
管理通用應用程序的特定客戶版本。
對于軟件開發人員來說,試圖通過面向文件的系統來完成這些工作,將是令人難以忍受的瑣碎且無益的。正如下述的方案所闡述的那樣,Visual SourceSafe面向項目的版本控制通過直接進行這些工作,將開發過程流水線化了。
為連編做準備
假定你將連編一個包含了很多獨立的部件的主應用程序。在你開始連編之前,你希望確認沒有人在后的時刻修改代碼,并且在版本控制過程中,整個系統沒有文件被簽出。
一個標準的版本控制系統提供給你一個確定文件是否簽出的工具。你的工作是對將用來連編的每一個目錄中的每一個文件運行該工具。盡管引入批處理文件和通配符將使任務簡單些,但面對一個復雜的系統時,仍然是非常繁瑣的。
正如其它系統一樣,Visual SourceSafe可以確定一個文件是否被簽出。但它還可以創建一個高層的報告:一個項目中所有簽出文件的列表。這一特性應用在當前項目中循環包含所有子項目時功能尤其強大。Visual SourceSafe檢查每個相關項目中的每一個文件并生成簽出文件的列表。你可以立即知道是否可以進行連編(或如果你不能時該找誰)。僅需在項目文件中執行一個命令,Visual SourceSafe可以自動完成以前冗長的需手工完成的工作。