CLI 上没有 URL 的 SVN Checkout

CLI 上没有 URL 的 SVN Checkout

因此,在迄今为止专门使用 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 命令均无需修改即可运行。

相关内容