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

          主站蜘蛛池模板: 淮安市| 曲水县| 达日县| 桑植县| 孟连| 太康县| 通榆县| 荥经县| 刚察县| 孝义市| 新化县| 南部县| 武隆县| 攀枝花市| 曲麻莱县| 马关县| 雅安市| 微山县| 庆元县| 凉山| 盐城市| 游戏| 荔波县| 惠来县| 深州市| 玉树县| 信丰县| 永仁县| 石台县| 庆城县| 龙口市| 海南省| 霍林郭勒市| 鸡东县| 永平县| 大竹县| 鹤庆县| 南开区| 利津县| 兖州市| 湘阴县|