SourceSafe
SourceSafe
Microsoft Visual SourceSafe是美國微軟公司出品的版本控制系統,簡稱VSS。
VSS 6.0現在是作為Microsoft Visual Studio 6.0這個開發產品家族的一員,如Visual C++ 6.0和Visual J++ 6.0一樣。
Microsoft的VSS 6.0解決了軟體開發小組長期所面臨的版本管理問題,它可能有效地幫助項目開發組的負責人對項目程序進行管理,將所有的項目源文件(包括各種文件類型)以特有的方式存入資料庫。開發組的成員不能對該資料庫中的文件進行直接的修改,而是由該版本管理器將該項目的源程序或是子項目的源程序拷貝到各個成員自己的工作目錄下進行調試和修改,然後將修改後的項目文件作Checkin提交給VSS,由它進行綜合更新。VSS也支持多個項目之間文件的快速高效的共享。當某個成員向VSS中添加文件時,該文件將會被備份到資料庫中,以便所有的成員都能共享該文件。而且每個成員對所有的項目文件所作的修改都將被記錄到資料庫中,從而使得修改的恢復和撤銷在任何時刻,任何位置都成為可能。小組的成員可能得到該項目的最新版本,對它進行修改,並保存一個新的版本。
VSS的項目組織管理使得開發小組的協調變得簡單容易且很直觀,當一個和一組文件發放給另一個成員,小組,Web站點或是任何其他的地址,VSS確保他們之間的真正共享及所選的一組文件的不同版本的安全性。現在,越來越多的開發者可以通過他們的開發環境來訪問VSS的功能。而且VSS可以很容易地於Microsoft Access、 Visual Basic、 Visual C++、Visual FoxPro和其他的開發工具集成在一起,一旦VSS集成到開發環境中,就可以象控制項一樣使用,能夠很好地體現出VSS的易用性和強大功能。
為了更好的了解VSS,有必要對如下一些概念給予說明。
首先是項目的概念,所謂的項目是一組存在VSS中的文件(任何類型),可以在項目中或是項目之間進行文件的添加、刪除、編輯和共享。一個項目與操作系統的文件夾有很多的相似之處,但它更好地支持文件合併、歷史和版本控制。所有的文件存在VSS資料庫的項目中,開發組成員不能在VSS中的主備份文件上工作(除了檢查和版本比對等特殊情況外)而是VSS為每個成員在各自的工作目錄下提供一個拷貝以供工作。儘管在沒有工作目錄的情況下也可以查看某個文件,但如要真正在VSS管理下工作,就必須要創建一個工作目錄。
VSS能夠維護一個文件的多個版本,包括一個從不同版本之間進行修改的記錄。版本控制包括如下方面:
組內協調:在一般情況下,確保在任何時刻都只有一個成員對某個特定的文件進行修改,這樣可以防止文件被其他成員的修改意外更新。當然,VSS管理員可以改變此預設設置以允許對單個文件同時有多個Checkout,並且仍禁止對他人的修改進行覆蓋。
版本跟蹤:對老版本的源代碼和其他文件進行歸檔和跟蹤,而且這些版本能夠被重新得到以便進行bug跟蹤或其他目的。
跨平台開發:支持同一代碼在跨多個開發平台時的版本控制。
重用或面向對象代碼:跟蹤哪些程序使用了哪些代碼可被重用的模塊。
我們已經知道,VSS 提供版本控制和歷史服務,以保證一個文件的每個版本都是可恢復的。VSS用日期/時間戳來記錄文件是何時被Checkout或是何時被修改的,它主要有三種方法來跟蹤文件和項目的版本:
版本號:這是由VSS維護的內部數碼,用戶對它沒有控制權。每個文件和項目的每個版本都有一個版本號,這些版本號總是一個整數且是遞增的。
標籤:這些是用戶賦給某個項目或文件的某個版本的一個字元串,可以是任何格式的長度不超過31字元的字元串。
日期/時間戳:它給出了一個文件何時最後被修改的信息,或者是一個文件何時被Checkin。VSS同時支持12小時和24小時的時間格式。
工作目錄是用戶真正對項目文件進行調試修改的地方,當用戶Checkout 或提取一個文件時,VSS將該項拷貝到用戶的工作目錄下,當用戶修改了該文件並將其Checkin或提交時,VSS再將它從用戶的工作目錄拷回到VSS的資料庫中。在用戶作Checkout時,VSS將會自動管理他的工作目錄,諸如創建必要的子目錄。而且工作目錄可以隨時創建或修改。
軟體支持Windows系統所支持的所有文件格式,兼容Check out-Modify-Check in(獨佔工作模式)與Copy-Modify-Merge(并行工作模式)。VSS通常與微軟公司的Visual Studio產品同時發布,並且高度集成。VSS(6.0d及較早版本)最廣受垢弊的缺點是需要快速大量的信息交換,因此僅適用於快速本地網路,而無法實現基於Web的快速操作,儘管一個妥協的辦法是可以通過慢速的VPN。VSS2005 擁有Web訪問功能,不再與Visual Studio同時發布。在Visual Studio2008 Team System 中集成了另外一個叫做Team Foundation Server的項目生命期管理工具。VSS未來將面向獨立開發者和小型開發團隊。
VSS雖然是微軟公司的產品,但微軟內部卻很少使用它。微軟內部使用一個名為SLM的版本控制系統,直至1999年。之後,微軟內部改以使用修改自Perforce的SourceDepot。