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 閱讀(1852) 評論(0)  編輯  收藏 所屬分類: Windows

          主站蜘蛛池模板: 甘孜县| 宜川县| 杭州市| 马山县| 松江区| 中超| 察雅县| 江华| 高密市| 百色市| 明星| 云和县| 龙南县| 乐陵市| 青川县| 夏邑县| 株洲市| 东阳市| 涞水县| 凯里市| 阳新县| 昆山市| 那曲县| 洪湖市| 香河县| 富顺县| 恩施市| 沿河| 德兴市| 顺义区| 长岛县| 志丹县| 汉沽区| 理塘县| 阿城市| 崇州市| 宜良县| 雷波县| 马公市| 城步| 嘉义县|