<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
    前面認(rèn)識(shí)了svn log命令的用法,知道了該文件的最新版本號(hào)是19。那么現(xiàn)在我們就來(lái)試試回滾到版本號(hào)18。下面將通過三種不同的方式來(lái)演示如何回滾到指定的歷史版本

    ●使用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

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

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

    結(jié)論:對(duì)于沒有本地修改的資源,svn update可以回滾到指定的歷史版本。但是如果資源已經(jīng)被修改,則svn update不會(huì)對(duì)其進(jìn)行update。

    ●使用svn copy命令

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

    而且更加有用的是,svn copy支持針對(duì)特定版本的拷貝。下面我們通過實(shí)際的例子來(lái)演示如何通過svn copy來(lái)回滾資源到歷史版本。首先檢查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
    ------------------------------------------------------------------------

    接下來(lái)我們要回滾到版本18.也就是剛剛創(chuàng)建的哪一個(gè)版本。

    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刪除本地已經(jīng)存在的同名文件,否則copy操作失敗
     B.然后用svn copy PATH/URL@REV PATH/URL來(lái)拷貝指定版本的資源到目的地

    和svn update -r REV相比,這里多了一個(gè)“刪除”的動(dòng)作,所以在svn status命令的執(zhí)行結(jié)果中會(huì)出現(xiàn)一個(gè)“R +”,R是Replace的縮寫:表明這個(gè)文件已經(jīng)被同名的文件所取代。從以上的實(shí)例可以看到svn copy不單可以拷貝當(dāng)前的文件,還可以拷貝歷史版本。

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

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

    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 配合重定向顯得“高效”和“霸道”多了---因?yàn)樗粫?huì)給出任何提示或警告就直接覆蓋了


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

    常用鏈接

    留言簿(21)

    隨筆分類

    隨筆檔案

    BlogJava熱點(diǎn)博客

    好友博客

    搜索

    •  

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 亚洲av综合色区| 成全视频免费高清 | 每天更新的免费av片在线观看| AV在线播放日韩亚洲欧| 黄色a级片免费看| 亚洲Av无码乱码在线znlu| 欧洲精品码一区二区三区免费看| 亚洲国产aⅴ综合网| 黄色视屏在线免费播放| 亚洲精品国产精品乱码不卡√| 野花香在线视频免费观看大全| 久久久久久亚洲精品| 四虎在线最新永久免费| 亚洲AV无码无限在线观看不卡| 精品国产免费观看一区| 成人a毛片视频免费看| 国产亚洲福利精品一区| 1000部免费啪啪十八未年禁止观看 | 最近中文字幕国语免费完整| 色播亚洲视频在线观看| 日韩av无码成人无码免费| 成人精品国产亚洲欧洲| 亚洲AV网站在线观看| 西西人体免费视频| 亚洲乱码在线播放| 亚洲AV无码成H人在线观看| 中出五十路免费视频| 亚洲综合一区二区| 免费国产在线观看老王影院| 中文字幕免费在线看线人动作大片| 久久久久久久亚洲Av无码| www.黄色免费网站| 性生大片视频免费观看一级| 老色鬼久久亚洲AV综合| 四虎影视精品永久免费| 毛片免费在线观看| 亚洲av无码专区在线观看亚| 国产AV无码专区亚洲AV毛网站| 五月婷婷综合免费| 4hu四虎免费影院www| 亚洲乱码一二三四五六区|