<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 262,  comments - 221,  trackbacks - 0
    前面認識了svn log命令的用法,知道了該文件的最新版本號是19。那么現在我們就來試試回滾到版本號18。下面將通過三種不同的方式來演示如何回滾到指定的歷史版本

    ●使用svn update -r 命令

    C:\>svn cat E:\Temp\ECoupon\read-from-wc.txt
    modify by user qlinpen

    C:
    \>svn cat -r HEAD http://localhost:8000/svn/Workspace/Ericsson/ECoupon/read-from-wc.txt
    modify by user qlinpen

    C:
    \>svn cat -18 http://localhost:8000/svn/Workspace/Ericsson/ECoupon/read-from-wc.txt

    C:
    \>svn update -18 E:\Temp\ECoupon\read-from-wc.txt
    U    E:
    \Temp\ECoupon\read-from-wc.txt
    Updated 
    to revision 18.

    C:
    \>svn cat E:\Temp\ECoupon\read-from-wc.txt

    C:
    \>svn cat -r HEAD http://localhost:8000/svn/Workspace/Ericsson/ECoupon/read-from-wc.txt
    modify by user qlinpen

    上面的例子中,在執行回滾前,本地工作副本和版本庫的read-from-wc.txt文件的內容都是一樣的:modify by user qlinpen。當我們執行了svn update -r 18 ...命令后可以看到本地的read-from-wc.txt文件的內容已經被回滾到版本18時的狀態:即空文本。但是版本庫上面的read-from-wc.txt文件依然是版本號19的,也即是最新狀態。如果此時執行svn status命令,就可以看到差別了:

    C:\>svn status E:\Temp\ECoupon --show-updates
           
    *       18   E:\Temp\ECoupon\read-from-wc.txt
    Status against revision:     
    19

    結論:對于沒有本地修改的資源,svn update可以回滾到指定的歷史版本。但是如果資源已經被修改,則svn update不會對其進行update。

    ●使用svn copy命令

    實際上,除了使用svn update。另外一種更好的辦法是使用svn copy命令。那么svn copy命令的用法如何呢?根據SVN手冊,svn copy的用法有4種:
     
     A.WC->WC:即從工作副本到工作副本
     B.WC->URL:即從工作副本到版本庫,立即產生一次commit操作
     C.URL->WC:即從版本庫到工作副本,相當于check out操作
     D.URL->URL:即從版本庫到版本庫,通常用于創建分支和標記

    而且更加有用的是,svn copy支持針對特定版本的拷貝。下面我們通過實際的例子來演示如何通過svn copy來回滾資源到歷史版本。首先檢查read-from-wc.txt文件的版本歷史:

    C:\>svn log --18:HEAD E:\Temp\ECoupon\read-from-wc.txt
    ------------------------------------------------------------------------
    r18 
    | qlinpen | 2009-12-08 23:11:45 +0800 (星期二, 08 十二月 2009| 1 line
    Changed paths:
       A 
    /Ericsson/ECoupon/read-from-wc.txt

    commit after update
    ------------------------------------------------------------------------
    r19 
    | qlinpen | 2009-12-09 16:08:59 +0800 (星期三, 09 十二月 2009| 1 line
    Changed paths:
       M 
    /Ericsson/ECoupon/read-from-wc.txt

    update read
    -from-local.txt file
    ------------------------------------------------------------------------

    接下來我們要回滾到版本18.也就是剛剛創建的哪一個版本。

    C:\>svn copy E:\Temp\ECoupon\read-from-wc.txt@18 E:\Temp\ECoupon
    svn: Path 
    'E:\Temp\ECoupon\read-from-wc.txt' already exists

    C:\
    >svn del E:\Temp\ECoupon\read-from-wc.txt
    D         E:\Temp\ECoupon\read
    -from-wc.txt

    C:\
    >svn copy E:\Temp\ECoupon\read-from-wc.txt@18 E:\Temp\ECoupon
    A         E:\Temp\ECoupon\read
    -from-wc.txt

    C:\
    >svn status E:\Temp\ECoupon --show-updates
    R  
    +            -   E:\Temp\ECoupon\read-from-wc.txt
    Status against revision:     
    19

    C:\
    >svn cat -r BASE E:\Temp\ECoupon\read-from-wc.txt

    C:\
    >svn cat -r HEAD http://localhost:8000/svn/Workspace/Ericsson/ECoupon/read-from-wc.txt
    modify by user qlinpen

    通過svn copy的做法是
     A.首先用svn del刪除本地已經存在的同名文件,否則copy操作失敗
     B.然后用svn copy PATH/URL@REV PATH/URL來拷貝指定版本的資源到目的地

    和svn update -r REV相比,這里多了一個“刪除”的動作,所以在svn status命令的執行結果中會出現一個“R +”,R是Replace的縮寫:表明這個文件已經被同名的文件所取代。從以上的實例可以看到svn copy不單可以拷貝當前的文件,還可以拷貝歷史版本。

    ●使用svn cat命令配合重定向

    最后介紹另外一種辦法:svn cat重定向。和svn log類似,svn cat也可以查看歷史版本的內容,但它不能指定版本范圍而只能使用單個版本號。配合重定向功能我們可以在查看歷史版本后重定向到本地。

    C:\>svn cat -18 E:\Temp\ECoupon\read-from-wc.txt

    C:\
    >svn cat -18 E:\Temp\ECoupon\read-from-wc.txt > E:\Temp\ECoupon\read-from-wc.txt

    C:\
    >svn status E:\Temp\ECoupon --show-updates
    M              
    19   E:\Temp\ECoupon\read-from-wc.txt
    Status against revision:     
    19

    和svn update,svn copy命令相比,svn cat 配合重定向顯得“高效”和“霸道”多了---因為它不會給出任何提示或警告就直接覆蓋了


    -------------------------------------------------------------
    生活就像打牌,不是要抓一手好牌,而是要盡力打好一手爛牌。
    posted on 2009-12-09 17:19 Paul Lin 閱讀(426) 評論(0)  編輯  收藏 所屬分類: 項目管理
    <2009年12月>
    293012345
    6789101112
    13141516171819
    20212223242526
    272829303112
    3456789

    常用鏈接

    留言簿(21)

    隨筆分類

    隨筆檔案

    BlogJava熱點博客

    好友博客

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 宅男666在线永久免费观看| 99精品视频在线视频免费观看| 免费阿v网站在线观看g| 亚洲第一页在线视频| 7x7x7x免费在线观看| 亚洲老熟女@TubeumTV| 久草免费在线观看视频| 亚洲午夜精品在线| 皇色在线视频免费网站| 亚洲 欧洲 日韩 综合在线| 在线a人片天堂免费观看高清| 亚洲日韩精品A∨片无码加勒比| 成人免费毛片视频| 野花视频在线官网免费1| 国产成人精品亚洲精品| 最近2019中文免费字幕在线观看| 久久国产精品亚洲综合| 99久久免费精品视频| 亚洲人成www在线播放| 成人永久福利免费观看| 国产精品免费视频观看拍拍| 久久精品国产96精品亚洲 | 国产亚洲精品激情都市| 国产成人无码区免费内射一片色欲| 久久国产亚洲观看| 成人毛片免费在线观看| 无套内射无矿码免费看黄| 国产亚洲av片在线观看16女人| 曰批视频免费40分钟试看天天| 亚洲成年网站在线观看| 久久亚洲AV永久无码精品| 亚洲黄色免费电影| 免费人成在线观看播放a| 亚洲国产二区三区久久| 日本特黄特色aa大片免费| 好男人资源在线WWW免费| 亚洲人6666成人观看| 亚洲va中文字幕无码| 久久久久av无码免费网| 永久免费观看黄网站| 亚洲一级毛片视频|