jasmine214--love

          只有當你的內心總是充滿快樂、美好的愿望和寧靜時,你才能擁有強壯的體魄和明朗、快樂或者寧靜的面容。
          posts - 731, comments - 60, trackbacks - 0, articles - 0

          svn版本暗中偷換妙法

          Posted on 2010-11-15 11:44 幻海藍夢 閱讀(353) 評論(0)  編輯  收藏 所屬分類: 版本管理

          http://tieba.baidu.com/f?kz=739070271


          使用Subversion 管理代碼和文檔時,最苦惱的事情莫過去錯誤地Import了不該導入的東西,比較obj文件、ncb文件、bsc文件等,不僅浪費了Subversion 數據庫的空間(或者磁盤空間),也常常因為這些無用文件的微小變化使整個Project的版本信息發生變化。若是不留神把代碼目錄下的大量樣本或者幾個幾 百兆的AVI也Import了,那么,想象一下飛刀李每天下班后守夜備份源代碼時痛苦表情吧……
          最讓人氣憤的是,我們常用的 tortoisesvn工具并未提供取消本次Import的功能,Update to revision也不會把誤導入的東西從Subversion數據庫中清除。這意味著,面對錯誤的Import,你有權保持沉默,你所講的一切將會沒人理 睬。
          不過,tortoise再狡猾也斗不過好程序員,經過昨夜雨疏風驟的一番嘗試,終于發現了一個瞞天過海的辦法,和兄弟們共享一下,看起來我們 的后半生再也不必為錯誤的Import而喪心病狂地重建Subversion數據庫了。
          具體方法——
          1.Subversion數據庫目錄 結構為
          ├—conf
          ├—dav
          ├—db
          │ ├—revprops
          │ ├—revs
          │ └—transactions
          ├—hooks
          └—locks
          其中,db"revprops和db"revs分別保存各版本的增量 變化和各版本的屬性信息(如最后修改時間、作者等)。
          2.假設該數據庫存放在C:"SourceCode,且db"revprops和db "revs目錄中文件列表分別為:
          C:"SourceCode"db"revprops"0
          C:"SourceCode"db"revprops"1
          C:"SourceCode"db"revprops"2
          C:"SourceCode"db"revprops"3
          C:"SourceCode"db"revprops"4
          C:"SourceCode"db"revprops"5
          C:"SourceCode"db"revprops"6
          C:"SourceCode"db"revprops"7
          C:"SourceCode"db"revprops"8
          C:"SourceCode"db"revprops"9
          C:"SourceCode"db"revprops"10
          C:"SourceCode"db"revprops"11
          C:"SourceCode"db"revprops"12
          C:"SourceCode"db"revprops"13
          C:"SourceCode"db"revprops"14
          C:"SourceCode"db"revprops"15
          C:"SourceCode"db"revprops"16
          C:"SourceCode"db"revprops"17
          C:"SourceCode"db"revprops"18
          C:"SourceCode"db"revprops"19
          C:"SourceCode"db"revprops"20
          C:"SourceCode"db"revprops"21
          C:"SourceCode"db"revprops"22
          C:"SourceCode"db"revprops"23
          C:"SourceCode"db"revprops"24
          C:"SourceCode"db"revprops"25
          C:"SourceCode"db"revprops"26
          C:"SourceCode"db"revprops"27
          C:"SourceCode"db"revprops"28
          C:"SourceCode"db"revprops"29
          C:"SourceCode"db"revprops"30
          C:"SourceCode"db"revprops"31

          C:"SourceCode"db"revs"0
          C:"SourceCode"db"revs"1
          C:"SourceCode"db"revs"2
          C:"SourceCode"db"revs"3
          C:"SourceCode"db"revs"4
          C:"SourceCode"db"revs"5
          C:"SourceCode"db"revs"6
          C:"SourceCode"db"revs"7
          C:"SourceCode"db"revs"8
          C:"SourceCode"db"revs"9
          C:"SourceCode"db"revs"10
          C:"SourceCode"db"revs"11
          C:"SourceCode"db"revs"12
          C:"SourceCode"db"revs"13
          C:"SourceCode"db"revs"14
          C:"SourceCode"db"revs"15
          C:"SourceCode"db"revs"16
          C:"SourceCode"db"revs"17
          C:"SourceCode"db"revs"18
          C:"SourceCode"db"revs"19
          C:"SourceCode"db"revs"20
          C:"SourceCode"db"revs"21
          C:"SourceCode"db"revs"22
          C:"SourceCode"db"revs"23
          C:"SourceCode"db"revs"24
          C:"SourceCode"db"revs"25
          C:"SourceCode"db"revs"26
          C:"SourceCode"db"revs"27
          C:"SourceCode"db"revs"28
          C:"SourceCode"db"revs"29
          C:"SourceCode"db"revs"30
          C:"SourceCode"db"revs"31

          3. 假設C:"SourceCode"db"current內容為
          31 21r 2
          這表明當前版本為第31版

          4.假設最后一 次導入(revision = 31)出現失誤,希望回到前一個版本并放棄本次導入的全部內容,可以直接刪除
          C:"SourceCode"db "revs"31和C:"SourceCode"db"revprops"31兩個文件,并使用UltraEdit-32打開C:"SourceCode "db"current文件(注意此時不要選擇轉換到DOS格式),將其中的31修改為30即可。

          5.使用tortoisesvn工具提 供的show log功能,就可以看到目前的最新版本已經是30了,那些不想要的文件也不見了。

          轉自:創意安天論壇

          主站蜘蛛池模板: 洪洞县| 宜宾县| 商南县| 甘德县| 淮滨县| 岢岚县| 石泉县| 太谷县| 齐河县| 泾川县| 金平| 福建省| 江川县| 加查县| 天等县| 宜阳县| 虹口区| 翁牛特旗| 临邑县| 平顺县| 东乡族自治县| 台中县| 荣昌县| 崇明县| 黑水县| 临海市| 读书| 安顺市| 正蓝旗| 灵宝市| 横山县| 砀山县| 攀枝花市| 阜平县| 禹城市| 上犹县| 清镇市| 梓潼县| 化州市| 珠海市| 新兴县|