git-svn,仅主干签出和名称中包含哈希标记的远程分支

git-svn, trunk-only checkout and remote branch that contains a hash mark in name

我正在使用非标准布局的 Subversion 存储库的仅主干检出。我需要签出一个远程分支来处理一个问题。该分支在 branches/issues/#4711 处的名称为 #4711。我正在尝试使用描述的解决方案 here:

[svn-remote "svn"]
    url = https://example.com/repos/projectname/trunk/sources
    fetch = :refs/remotes/git-svn
[svn-remote "svn-issue-4711"]
    url = https://example.com/repos/projectname/branches/issues/#4711
    fetch = :refs/remotes/git-svn-issues-#4711

不幸的是,我收到一条错误消息:

W: Filesystem has no item: '/repos/projectname/!svn/rvr/6221/branches/issues' path not found at /usr/share/perl5/Git/SVN.pm line 153.
W: Ignoring error from SVN, path probably does not exist: (160013): Filesystem has no item: '/repos/projectname/!svn/rvr/600/branches/issues' path not found
W: Do not be alarmed at the above message git-svn is just searching aggressively for old history.
This may take a while on large repositories

似乎解析器在散列标记处中止,所以我也尝试使用一些转义,例如 \#4711&234711&0434711,但这些会产生错误出色地。我该怎么做才能使用 git-svn 签出该分支?如何正确转义分支名称?

我自己找到了答案:

[svn-remote "svn-issue-4711"]
    url = "https://example.com/repos/projectname/branches/issues/#4711"
    fetch = :refs/remotes/git-svn-issues-4711

如果其他人有这个问题,我将把整个事情留作文档之用。