I am using git as a frontend to Subversion (via git svn).
So, for every svn trunk/branch I have remote branch in git named "remotes/xxx". For example "remotes/trunk", "remotes/coolfeature".
Now I want have one "default" local branch for every remote branch, to use it for dcommit. The problem is that I want such branches to be named after Subversion branches, like "trunk", "coolfeature", so I have the following branches in git:
trunk
coolfeature
remotes/trunk
remotes/coolfeature
The problem is that every time I reference "trunk" or "coolfeature" git complains branch name is ambiguous. Not a big deal, but I feel uncomfortable.
The question is, how can I deal with that warning, assuming that simply renaming branches is not what I want to do. What are the best practices for such cases?
If you pass the --prefix=svn/
flag to the git svn clone
command, then all of the Subversion branches would be named like remotes/svn/branchname
. If this is acceptable to you, it fixes the "refname is ambiguous" warning. It also gives you a nice way of referring to the remote svn branches, as in for instance if you want to create a local tracking branch it would be something like:
$ git checkout -b branchname svn/branchname
The local branch then has the same name as the remote svn branch, and no ambiguous refname problem.