I believe the explanation for this occurs with the tags being the same with the branches: Git Svn was not able to find a "parent" commit for the first commit of the SVN branch so that it can connect the branch with the history of the other branches.
This is because SVN allows a branch to be created from any directory that is not necessarily a branch (or trunk) within SVN. For example, copying the directory /trunk/foo
to /branches/bar
instead of copying from /trunk
will give rise to this branch.
The format in which it creates the branch (or tag) is:
<branchname>@<SVN-Revisão>
Now, explaining the source of this review and why Git makes this decision is more complicated . I confess that I read and did not understand very well and, to not simply translate what is said there, I leave the link for read the explanation of the documentation. I think this helps, because it is not so simple to search for information about this problem on Google:).
This happens with tag
also because in SVN there is not much difference between branch and tag: both are created by copying directories. Git Svn then reflects the same behavior for both.
How to avoid this situation
In cloning the repository, this branch / tag creation with the at sign ( @
) can be avoided with the parameter --no-follow-branches
.