因此,在迄今为止专门使用 TortoiseSVN(即几年)之后,我今天第一次使用了 svn CLI 客户端。
让我烦恼的一件事是每次签出时都必须提供 repo URL。有没有办法让 SVN 自己查找并仅签出树的当前目录/子分支(即类似于 TortoiseSVN 的做法)?
每次签出时都必须提供存储库 URL 有什么意义吗?提交时无需提供它,而且svn info
无论如何都会将其打印出来。那么为什么签出时每次都要求提供它呢?
答案1
您不必每次都签出。
Checkout
命令旨在让您第一次检索项目时使用。
那么您唯一要做的就是进入项目根文件夹并输入svn update
。
答案2
当我们在这里使用 SVN 时,我有一个相当复杂的svn()
功能。你可以从以下开始:
svn() {
local subcommand=$1
shift
case $subcommand in
checkout|co)
local module=$1
shift
local url="http://example.com/svn/$module/trunk"
command svn checkout "$url" ./"$module" "$@"
;;
*) command svn "$subcommand" "$@" ;;
esac
}
将其添加到您的~/.bashrc
, 和source ~/.bashrc
。然后你只需做
svn co mymodule
代替
svn co http://example.com/svn/mymodule/trunk
任何其他 SVN 命令均无需修改即可运行。