weidagang2046的專欄

          物格而后知致
          隨筆 - 8, 文章 - 409, 評論 - 101, 引用 - 0
          數據加載中……

          關于VSS的多人簽出與合并

          1、?多人同時簽出一個文件(Check Out Multiple Files)*

            缺省狀態下,一個文件只允許一個人簽出,管理員可以通過修改配置,允許多人同時簽出。此時,VSS將跟蹤所有簽出該文件的用戶。每當用戶簽入時,VSS都將和當前存于數據庫內的最新版本進行比較,若用戶修改的是同一文件的不同處,VSS將進行簡單的合并(Merge),否則提示用戶,并且不允許簽入。用戶可以通過VSS提供的Visual Merge工具,比較存放于VSS數據庫中的文件和本地文件的異同,手工修改本地文件,直到認為已經可以簽入時,方才執行最終簽入操作。(參見合并)

          2、?合并(Merge)*

            在VSS中,合并可能發生在3種場合下:使用Multiple Checkout的工作方式;合并原先已經Branch了的文件;獲取(Get)文件。

          Multiple Checkout:若多個用戶同時簽出一個文件,第一個用戶只要簡單的簽入就可以了。后續用戶也可以簽入,但他們的更改將需要和其他所有用戶的更改合并,VSS將得到完整的更改內容(參見多人同時簽出一個文件)。
          Branch:當被Branch的文件合并到其中一個分支時,VSS將會把在另一個分支上所做的改動合并到該分支上(參見對文件和工程的Branch/Share操作)。
          Merge on Get:在Multiple Checkout工作方式下,當使用Get Latest Version操作時可能引發合并操作,此時保存在VSS數據庫中的內容將合并到本地文件。但如果某個文件是排他性簽出的,則不會引發合并操作(參見排他性簽出)。

            在完成一個合并之后,VSS遵循如下規則:

          如果仍有沖突,VSS維持文件的簽出狀態,為了使文件能順利簽入,你必須排除這些沖突。
          如果你使用Merge Branches命令,將一個文件合并到一個工程中,而該工程中的對應文件已被簽出,該文件將繼續保持簽出狀態(參見對文件和工程的Branch/Share操作)。
          在任何其他時候,VSS將會提示你,或者在合并后自動簽入,或者保持文件的簽出狀態以使你在更新VSS數據庫中內容之前再核查一邊。

            缺省情況下,當發生沖突時,VSS將啟用其Visual Merge工具。



          在默認情況下(VSS 6.0)

          VSS使用過程中要遵循的是lock-modify-unlock流程而不是 copy-modify-merge流程(比如CVS),即開發人員首先將自己要修改源代碼和文檔從VSS服務器主備份文件上checkout到本地同時鎖定服務器上的源代碼和文檔(multi - checkout情況除外),修改完成后checkout到服務器上同時解除服務器上文件的鎖定。服務器集中控制所有的源程序和文檔。


          ?

          在VSS 2005中,創建數據庫的時候可以選擇是copy-modify-merge,還是copy-modify-merge。

          from: http://www.cnblogs.com/weiweictgu/archive/2006/08/15/477332.html

          posted on 2006-12-29 15:44 weidagang2046 閱讀(1843) 評論(0)  編輯  收藏 所屬分類: Windows

          主站蜘蛛池模板: 五原县| 黑山县| 安远县| 湾仔区| 临泉县| 马公市| 祥云县| 邵阳县| 七台河市| 怀集县| 肥乡县| 城市| 桦南县| 西乌珠穆沁旗| 延寿县| 宝应县| 岑溪市| 广东省| 治多县| 石阡县| 雅江县| 文水县| 长治市| 水富县| 罗甸县| 获嘉县| 明光市| 太白县| 新丰县| 五寨县| 运城市| 巴中市| 绥滨县| 阆中市| 偏关县| 芜湖市| 贺兰县| 时尚| 平泉县| 肇州县| 洞口县|