2011-10-16 57 views
1

我有一個倉庫,我想在更新服務器上的源代碼之前運行標準測試,它必須首先檢查是否有任何文件已更改。我怎樣才能看到這樣的清單?你鍵入什麼來查看svn repo中已更改的文件列表?

+0

改變的方面是什麼?尊重版本庫或尊重您上次更新本地版本的時間? –

+0

如果回購已簽出,並且對簽出的副本進行了任何更改......那麼我需要知道這一點。 – coderama

+0

所以你可以忘記選項'-u' –

回答

0
svn st 

st是狀態的縮寫。
如果您只想檢查修改後的文件。

svn st | grep M 
+0

'grep M'不好,假設你有一個名爲 –

+0

的'M'的文件是的,但它適用於我。只有當您有數百個已更改的文件時,它纔會起作用。在這種情況下,你需要使用一些正則表達式。 – shikhar

+0

選項'-q'是最簡單的解決方案 –

2

給出了本地修改的文件列表:

svn st | grep "^M" 
0

只查找到修改的項目尊重你最後一次更新本地版本

svn status -q 

,如果你想看看到遠程存儲庫之間的差異使用-u

svn status -qu 

選項-q只顯示修改/添加/刪除項目

1

典型的方法是使用svn status和grep。如果至少找到一行,Grep將返回0。例如:

檢查文件是否已被修改:

value=`svn status | grep -q "^M"` 

檢查是否有任何變化都:

value=`svn status | grep -q "^[A-Z]"` 
相關問題