0
噹噹前工作目錄是SVN工作副本時,我可以使用'^'作爲存儲庫URL的簡寫。SVN中這個工作副本的存儲庫URL簡寫?
對於工作副本的URL,還有一個很好的簡寫形式,這樣svn list <???>/../
不會尋址工作副本的父目錄,而是尋址存儲庫中工作副本的父目錄。如果有的話,<???>
的快捷方式是什麼?
噹噹前工作目錄是SVN工作副本時,我可以使用'^'作爲存儲庫URL的簡寫。SVN中這個工作副本的存儲庫URL簡寫?
對於工作副本的URL,還有一個很好的簡寫形式,這樣svn list <???>/../
不會尋址工作副本的父目錄,而是尋址存儲庫中工作副本的父目錄。如果有的話,<???>
的快捷方式是什麼?
似乎並沒有這樣的捷徑。作爲一種變通方法,我想出了這個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變量svn0
,svn1
等等中。此外,祖先網址被印刷在後續命令便於參考命令行中,其可以是之類的東西上:
svn list $svn1 # list repository parents of working copy
svn switch $svn1/branches/mybranch # assuming standard layout and trunk checkout
(提示:語法^/branches
不多項目存儲庫,其中樹幹和樹枝工作並且標籤可以在層次結構中更深入)。