2017-01-01 67 views
0

噹噹前工作目錄是SVN工作副本時,我可以使用'^'作爲存儲庫URL的簡寫。SVN中這個工作副本的存儲庫URL簡寫?

對於工作副本的URL,還有一個很好的簡寫形式,這樣svn list <???>/../不會尋址工作副本的父目錄,而是尋址存儲庫中工作副本的父目錄。如果有的話,<???>的快捷方式是什麼?

回答

0

似乎並沒有這樣的捷徑。作爲一種變通方法,我想出了這個bash的功能:它

function svnurls() { 
    svn info &>/dev/null || return 
    local d=$(svn info | sed -n -e '/^URL/s/.*: //p') 
    local i=0 
    while ! [[ "$d" =~ ^[^:]*:/$ ]]; do 
    echo $i $d 
    typeset -g svn$i="${d}" 
    d=${d%/*} 
    i=$((i+1)) 
    done 
} 

它首先檢查是否被稱爲在SVN工作拷貝,如果它不是立即返回。

如果是這樣,它會從svn info中查找工作副本的存儲庫URL,並將其提供給它的所有祖先以及在shell變量svn0svn1等等中。此外,祖先網址被印刷在後續命令便於參考命令行中,其可以是之類的東西上:

svn list $svn1 # list repository parents of working copy 
svn switch $svn1/branches/mybranch # assuming standard layout and trunk checkout 

(提示:語法^/branches不多項目存儲庫,其中樹幹和樹枝工作並且標籤可以在層次結構中更深入)。

相關問題