自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

SVN子命令diff三大用法詳解

開(kāi)發(fā) 項(xiàng)目管理
本文和大家討論一下SVN子命令diff的用法,主要有檢查本地修改、比較工作拷貝與版本庫(kù)和比較版本庫(kù)和版本庫(kù)等用法,希望大家通過(guò)本文的學(xué)習(xí)能夠掌握。

本節(jié)接著上篇文章介紹SVN使用SVN子命令log,list,cat,diff查看所有及特定文件版本信息,本節(jié)主要介紹SVN子命令diff的用法,希望大家來(lái)一起學(xué)習(xí)。

檢查歷史修改的詳情
我們已經(jīng)看過(guò)SVN子命令 diff—使用標(biāo)準(zhǔn)區(qū)別文件格式顯示區(qū)別,它在提交前用來(lái)顯示本地工作拷貝與版本庫(kù)的區(qū)別。
事實(shí)上,SVN子命令diff有三種不同的用法:
檢查本地修改
比較工作拷貝與版本庫(kù)
比較版本庫(kù)與版本庫(kù)

比較本地修改
像我們看到的,不使用任何參數(shù)調(diào)用時(shí),svn diff將會(huì)比較你的工作文件與緩存在.svn的“原始”拷貝:
$ svn diff
Index: rules.txt
===================================================================
--- rules.txt    (revision 3)
+++ rules.txt    (working copy)
@@ -1,4 +1,5 @@
Be kind to others
Freedom = Responsibility
Everything in moderation
-Chew with your mouth open
+Chew with your mouth closed
+Listen when others are speaking
[/pre]比較工作拷貝和版本庫(kù)
如果傳遞一個(gè)--revision(-r)參數(shù),你的工作拷貝會(huì)與指定的版本比較。
$ svn diff -r 3 rules.txt
Index: rules.txt
===================================================================
--- rules.txt    (revision 3)
+++ rules.txt    (working copy)
@@ -1,4 +1,5 @@
Be kind to others
Freedom = Responsibility
Everything in moderation
-Chew with your mouth open
+Chew with your mouth closed
+Listen when others are speaking
[/pre]SVN子命令diff比較版本庫(kù)與版本庫(kù)
如果通過(guò)--revision (-r)傳遞兩個(gè)通過(guò)冒號(hào)分開(kāi)的版本號(hào),這兩個(gè)版本會(huì)進(jìn)行比較。
$ svn diff -r 2:3 rules.txt
Index: rules.txt
===================================================================
--- rules.txt    (revision 2)
+++ rules.txt    (revision 3)
@@ -1,4 +1,4 @@
Be kind to others
-Freedom = Chocolate Ice Cream
+Freedom = Responsibility
Everything in moderation
Chew with your mouth open
[/pre]與前一個(gè)修訂版本比較更方便的辦法是使用--change (-c):
$ svn diff -c 3 rules.txt
Index: rules.txt
===================================================================
--- rules.txt    (revision 2)
+++ rules.txt    (revision 3)
@@ -1,4 +1,4 @@
Be kind to others
-Freedom = Chocolate Ice Cream
+Freedom = Responsibility
Everything in moderation
Chew with your mouth open
[/pre]最后,即使你在本機(jī)沒(méi)有工作拷貝,還是可以比較版本庫(kù)的修訂版本,只需要在命令行中輸入合適的URL:
$ svn diff -c 5 http://svn.example.com/repos/example/trunk/text/rules.txt…
[/pre]瀏覽版本庫(kù)
通過(guò)svn cat和svn list,你可以在未修改工作修訂版本的情況下查看文件和目錄的內(nèi)容,實(shí)際上,你甚至也不需要有一個(gè)工作拷貝。
   SVN子命令 cat           
如果你只是希望檢查一個(gè)過(guò)去的版本而不希望察看它們的區(qū)別,使用svn cat:
$ svn cat -r 2 rules.txt
Be kind to others
Freedom = Chocolate Ice Cream
Everything in moderation
Chew with your mouth open
[/pre]你可以重定向輸出到一個(gè)文件:
$ svn cat -r 2 rules.txt > rules.txt.v2
[/pre]              svn list           
svn list可以在不下載文件到本地目錄的情況下來(lái)察看目錄中的文件:
$ svn list http://svn.collab.net/repos/svn
README,branches/,clients/,tags/,trunk/
[/pre]如果你希望察看詳細(xì)信息,你可以使用--verbose(-v) 參數(shù):
$ svn list -v http://svn.collab.net/repos/svn
  20620 harry            1084 Jul 13  2006 README
  23339 harry                 Feb 04 01:40 branches/
  21282 sally                 Aug 27 09:41 developer-resources/
  23198 harry                 Jan 23 17:17 tags/
  23351 sally                 Feb 05 13:26 trunk/
[/pre]這些列告訴你文件和目錄最后修改的修訂版本、做出修改的用戶、如果是文件還會(huì)有文件的大小,最后是修改日期和項(xiàng)目的名字。

警告
沒(méi)有任何參數(shù)的SVN子命令 list命令缺省使用當(dāng)前工作拷貝的版本庫(kù)URL,而不是本地工作拷貝的目錄。畢竟,如果你希望列出本地目錄,你只需要使用ls(或任何合理的非UNIX等價(jià)物)。
獲得舊的版本庫(kù)快照,除了以上的命令,你可以使用帶參數(shù)--revision的svn update和svn checkout來(lái)使整個(gè)工作拷貝“回到過(guò)去”[8]:
$ svn checkout -r 1729 # Checks out a new working copy at r1729…
$ svn update -r 1729 # Updates an existing working copy to r1729…
[/pre]提示許多Subversion新手使用前面的svn update實(shí)例來(lái)“回退”修改,但是你不能提交修改,你獲得有新修訂版本的過(guò)時(shí)工作拷貝也是沒(méi)有用的。關(guān)于如何“回退”,我們可以看“找回刪除的項(xiàng)目”一節(jié)。
最后,如果你構(gòu)建了一個(gè)版本,并且希望從Subversion打包文件,但是你不希望有討厭的.svn目錄,這時(shí)你可以導(dǎo)出版本庫(kù)的一部分文件而沒(méi)有.svn目錄。就像svn update和svn checkout,你也可以傳遞--revision選項(xiàng)給svn export:
$ svn export http://svn.example.com/svn/repos1 # Exports latest revision…
$ svn export http://svn.example.com/svn/repos1 -r 1729
# Exports revision r1729。部分SVN子命令相關(guān)內(nèi)容講解完畢。

【編輯推薦】

  1. Linux下不常用的SVN 命令大揭秘
  2. SVN子命令SVN Update詳解
  3. 剖析來(lái)自Linux系統(tǒng)的svn命令
  4. SVN使用教程簡(jiǎn)單配置篇詳解
  5. 常用Linux下SVN 命令連連看

 

責(zé)任編輯:佚名
相關(guān)推薦

2010-05-25 17:13:26

SVN子命令log

2010-05-24 14:16:34

子命令SVN diff

2010-05-20 12:43:37

SVN Update命

2010-05-24 10:45:52

子命令Svn lock

2020-07-09 08:09:21

Linuxdiff命令

2010-05-21 10:13:30

Svn import子

2010-05-24 15:23:41

SVN子命令add

2010-05-24 15:23:41

SVN子命令add

2010-06-02 13:24:02

SVN用法

2019-04-19 14:00:55

Linuxkillall命令

2010-10-09 10:19:50

JavaScriptFunction

2010-05-24 10:29:51

子命令Svn reve

2010-05-24 18:32:16

SVN中tag bra

2010-05-24 12:53:38

子命令SVN merg

2022-05-09 08:55:58

Linuxdiff命令

2024-04-24 14:43:40

Linux命令

2018-09-18 23:25:49

Python數(shù)據(jù)科學(xué)庫(kù)

2010-05-25 14:32:09

Linux tcpdu

2010-05-24 12:21:22

子命令SVN merg

2009-08-11 09:58:22

Linux命令行Linux命令svn命令
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)