pengpenglin
人,必須選擇一種生活方式并有勇氣堅(jiān)持下去
BlogJava
首頁(yè)
新隨筆
新文章
聯(lián)系
聚合
管理
posts - 262, comments - 221, trackbacks - 0
【原】SVN In Action(14)
前面認(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
-
r
18
http:
//
localhost:
8000
/
svn
/
Workspace
/
Ericsson
/
ECoupon
/
read
-
from
-
wc.txt
C:
\>
svn update
-
r
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
-
v
-
r
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
-
r
18
E:\Temp\ECoupon\read
-
from
-
wc.txt
C:\
>
svn cat
-
r
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)目管理
新用戶注冊(cè)
刷新評(píng)論列表
只有注冊(cè)用戶
登錄
后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
相關(guān)文章:
【轉(zhuǎn)】有沒有可能進(jìn)行同級(jí)管理
敏捷文章三則
【原】敏捷開發(fā)沉思(真實(shí)對(duì)話)
【轉(zhuǎn)】新任項(xiàng)目經(jīng)理必須掌握的五項(xiàng)修煉
【轉(zhuǎn)】管理者的困境:放權(quán)或者崩潰
【轉(zhuǎn)】網(wǎng)絡(luò)閱讀,為什么人會(huì)浮躁?
【原】SVN In Action系列發(fā)布
【原】SVN In Action(23)
【原】SVN In Action(22)
【原】SVN In Action(21)
Copyright ©2025 Paul Lin Powered by:
博客園
模板提供:
滬江博客
<
2009年12月
>
日
一
二
三
四
五
六
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
常用鏈接
我的隨筆
我的評(píng)論
我的參與
最新評(píng)論
留言簿
(21)
給我留言
查看公開留言
查看私人留言
隨筆分類
J2EE 框架(9)
J2EE基礎(chǔ)(4)
J2SE(43)
Java 工具(5)
Oracle Concept(4)
Oracle SQL/PLSQL(9)
Oracle 開發(fā)(13)
Oracle 管理(4)
Oracle 調(diào)優(yōu)
Oracle 錯(cuò)誤診斷
RoR(19)
UML(3)
Unix / Linux(13)
Web基礎(chǔ)(19)
其它技術(shù)(7)
感悟(3)
雜項(xiàng)(7)
架構(gòu)與性能(8)
模式與重構(gòu)(19)
灌水(8)
電影與音樂(16)
走過的路(1)
軟件過程與軟件方法(3)
陽(yáng)光戶外(2)
項(xiàng)目管理(36)
隨筆檔案
2012年2月 (3)
2011年11月 (4)
2011年10月 (1)
2011年9月 (2)
2011年8月 (2)
2011年7月 (5)
2011年6月 (3)
2011年5月 (1)
2011年4月 (1)
2011年3月 (3)
2011年1月 (1)
2010年12月 (1)
2010年11月 (5)
2010年10月 (3)
2010年9月 (1)
2010年7月 (1)
2010年6月 (1)
2010年5月 (4)
2010年4月 (9)
2010年3月 (19)
2010年2月 (8)
2010年1月 (3)
2009年12月 (34)
2009年11月 (1)
2009年10月 (2)
2009年7月 (4)
2009年6月 (5)
2009年5月 (3)
2009年4月 (2)
2009年3月 (1)
2009年2月 (5)
2009年1月 (5)
2008年12月 (13)
2008年11月 (4)
2008年10月 (1)
2008年9月 (6)
2008年8月 (5)
2008年7月 (3)
2008年6月 (31)
2008年5月 (10)
2008年4月 (9)
2008年3月 (7)
2008年2月 (4)
2008年1月 (19)
BlogJava熱點(diǎn)博客
BeanSoft
Jack.Wang
如坐春風(fēng)
詩(shī)特林
鄭暉
銀河使者
阿密果
隔葉黃鶯
好友博客
無(wú)羽蒼鷹
搜索
最新評(píng)論
1.?re: 【Java基礎(chǔ)專題】編碼與亂碼(01)---編碼基礎(chǔ)[未登錄]
666666666666666666666這幾天正在做個(gè)類似工程編碼出現(xiàn)錯(cuò)誤
--李
2.?re: 【Java基礎(chǔ)專題】IO與文件讀寫---使用Apache commons IO簡(jiǎn)化文件讀寫
不錯(cuò)
--阿斯蘭
3.?re: 【Java基礎(chǔ)專題】編碼與亂碼(03)----String的toCharArray()方法
多謝分享
--thx
4.?re: 【Java基礎(chǔ)專題】編碼與亂碼(05)---GBK與UTF-8之間的轉(zhuǎn)換
評(píng)論內(nèi)容較長(zhǎng),點(diǎn)擊標(biāo)題查看
--karl
5.?re: 【Java基礎(chǔ)專題】編碼與亂碼(01)---編碼基礎(chǔ)[未登錄]
謝謝,幫了我大忙!
--小龍
閱讀排行榜
1.?Oracle中如何插入特殊字符:& 和 ' (多種解決方案)(48446)
2.?getOutputStream() has already been called for this response的解決方法(43350)
3.?【Java基礎(chǔ)專題】編碼與亂碼(05)---GBK與UTF-8之間的轉(zhuǎn)換(37031)
4.?360安全衛(wèi)士誤刪audiosrv.dll文件造成系統(tǒng)無(wú)聲的解決方案(21267)
5.?Java中讀取字節(jié)流并按指定編碼轉(zhuǎn)換成字符串的方法(17318)
評(píng)論排行榜
1.?360安全衛(wèi)士誤刪audiosrv.dll文件造成系統(tǒng)無(wú)聲的解決方案(33)
2.?【原】Oracle開發(fā)專題之:時(shí)間運(yùn)算(11)
3.?【Java基礎(chǔ)專題】編碼與亂碼(05)---GBK與UTF-8之間的轉(zhuǎn)換(11)
4.?getOutputStream() has already been called for this response的解決方法(10)
5.?【原】Oracle開發(fā)專題之:分析函數(shù)(OVER)(8)
主站蜘蛛池模板:
亚洲av综合色区
|
成全视频免费高清
|
每天更新的免费av片在线观看
|
AV在线播放日韩亚洲欧
|
黄色a级片免费看
|
亚洲Av无码乱码在线znlu
|
欧洲精品码一区二区三区免费看
|
亚洲国产aⅴ综合网
|
黄色视屏在线免费播放
|
亚洲精品国产精品乱码不卡√
|
野花香在线视频免费观看大全
|
久久久久久亚洲精品
|
四虎在线最新永久免费
|
亚洲AV无码无限在线观看不卡
|
精品国产免费观看一区
|
成人a毛片视频免费看
|
国产亚洲福利精品一区
|
1000部免费啪啪十八未年禁止观看
|
最近中文字幕国语免费完整
|
色播亚洲视频在线观看
|
日韩av无码成人无码免费
|
成人精品国产亚洲欧洲
|
亚洲AV网站在线观看
|
西西人体免费视频
|
亚洲乱码在线播放
|
亚洲AV无码成H人在线观看
|
中出五十路免费视频
|
亚洲综合一区二区
|
免费国产在线观看老王影院
|
中文字幕免费在线看线人动作大片
|
久久久久久久亚洲Av无码
|
www.黄色免费网站
|
性生大片视频免费观看一级
|
老色鬼久久亚洲AV综合
|
四虎影视精品永久免费
|
毛片免费在线观看
|
亚洲av无码专区在线观看亚
|
国产AV无码专区亚洲AV毛网站
|
五月婷婷综合免费
|
4hu四虎免费影院www
|
亚洲乱码一二三四五六区
|