理解git-svn配置

理解git-svn配置,git,svn,git-svn,git-config,Git,Svn,Git Svn,Git Config,git svn手册页有以下示例: [svn-remote "project-a"] url = http://server.org/svn fetch = trunk/project-a:refs/remotes/project-a/trunk 因此,据我所知,它将svn配置为从中获取更改http://server.org/svn/trunk/project-a,这是trunk/project-a的相对路径和根url连接的结果,根url为http://serve

git svn手册页有以下示例:

[svn-remote "project-a"]
        url = http://server.org/svn
        fetch = trunk/project-a:refs/remotes/project-a/trunk
因此,据我所知,它将svn配置为从中获取更改http://server.org/svn/trunk/project-a,这是trunk/project-a的相对路径和根url连接的结果,根url为http://server.org/svn. 这是正确的吗

另外,我对fetch中的:分隔符感到困惑。它是作为列表中元素的分隔符还是元组


最后,为什么trunk/project-a在这个列表中重复了两次,为什么它第二次有refs/remotes?

fetch的值是一个refspec,它由一个远程部分和一个本地部分组成。冒号左侧的部分是远程SVN存储库中的路径,而冒号右侧的部分是本地git存储库中相应的ref。您可以在git config remote.*和git fetch手册页上找到更多信息。我似乎记得git svn对通配符的处理与refspecs中git的正常通配符处理有一些不同。

谢谢您的回答!你能解释fetch和branchs变量之间的区别吗?