Sealyu

          --- 博客已遷移至: http://www.sealyu.com/blog

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            618 隨筆 :: 87 文章 :: 225 評論 :: 0 Trackbacks
          <2010年4月>
          28293031123
          45678910
          11121314151617
          18192021222324
          2526272829301
          2345678

          常用鏈接

          留言簿(14)

          隨筆分類

          隨筆檔案

          友情鏈接

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          1.create patch
          使用create patch可 以生成一個或者多個修改過的文件和當前版本差異的patch(支持目錄樹)
          通常情況下,create patch將 修改保存為.patch或.diff文件
          可以將.patch或.diff文件的內容復制出來,發給需要審查的人
          .patch或.diff文件中記錄了發生這個patch的版本號以及具體修改的內容
          針對某個文件或某幾個文件的若干種修改,可以生成多個.patch或.diff文件
          2.apply patch
          可以將.patch或.diff文件應用到對應版本的項目,就像打補丁一樣
          同一個項目/文件夾下,可以選擇應用需要的patch
          通常來說,應用一個patch時文件版本和生成這個patch時文件的版本是一致的;如果不一致,也可以強制應用,svn會自動進行diff(這時候需要手動合并)
          linux下,可以使用系統的patch命令來應用patch,eg: patch -p0 <xxx.patch
          3.使用
          暫時不需要提交或不允許提交的修改,可以選擇create patch來保存修改的內容
          選擇create patch來 保存修改的內容并且提交patch,通過審查后,(在服務器端)應用patch
          當一個功能有多種解決方案時,可以生成多個patch,(提交后)分別經過測試,再 決定應用哪個patch
          多個功能分別需要改同一個文件的不同地方(即沒有同一行),可以做成多個patch, 應用patch的順序沒有要求(在linux下應用也一樣成功,只是會生成多個.orig文 件)
          多個連續性的功能,他們修改的文件都與一個base作patch,例:p1在v1的 基礎上開發v2,生成v2和v1之間的patch1;p2在v2的基礎上開發v3,生成v3和v1之間的patch2,這樣只要應用patch2也就應用 了patch1。
          4.帶來的問題
          一個較早的patch,在經過多輪提交后,如果想再要應用,需要嚴格的diff
          如果兩個patch分別改了同一行代碼,應用第一個patch后要再應用第二個patch時, 仍然需要diff。如果在linux下,會產生沖突,生成.orig和.rej兩個文件(此時仍然需要手動進行比較合并)
          第3部分提到的連續性,要準確的預見到,比較困難
          第3部分提到的多個連續的功能,后做的功能的某個文件更新了先做的功能的內容,但先做的功能可能還涉及到其他文件,容易造成漏更新文件的情況
          posted on 2010-04-21 23:21 seal 閱讀(586) 評論(0)  編輯  收藏 所屬分類: 版本控制
          主站蜘蛛池模板: 习水县| 连江县| 乐至县| 德庆县| 聂荣县| 涡阳县| 泸水县| 红原县| 阿图什市| 东方市| 敦化市| 军事| 葵青区| 徐水县| 颍上县| 丰顺县| 惠来县| 莱阳市| 绥滨县| 托克托县| 宝山区| 元朗区| 岫岩| 肇庆市| 镇平县| 长子县| 平远县| 临泉县| 桃园市| 蒙城县| 容城县| 浠水县| 盈江县| 芜湖县| 马公市| 凉城县| 浙江省| 韩城市| 商南县| 达日县| 吉木乃县|