warning: refname 'xxx' is ambiguous when using git-svn

后端 未结 4 1154
故里飘歌
故里飘歌 2020-12-28 11:40

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/tru

相关标签:
4条回答
  • 2020-12-28 12:18

    To avoid the conflict messages, when referring to local branches, prefix them with heads/

    for example, the conflicting branch topic

    $ git diff topic remotes/topic
    warning: reframe 'topic' is ambiguous.
    ...
    

    becomes

    $ git diff heads/topic remotes/topic
    ...
    
    0 讨论(0)
  • 2020-12-28 12:22

    If you just want to get rid of warning, set core.warnAmbiguousRefs to false:

    git config --global core.warnambiguousrefs false
    

    If you want this behavior only for single repository, omit --global flag.

    0 讨论(0)
  • 2020-12-28 12:43

    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.

    0 讨论(0)
  • 2020-12-28 12:43

    It can be possible that you have another 'trunk' and 'coolfeature' as a tag. In this case, git doesn't know if you refer to branch or tag. Rename the tags and check if git doesn't report "ambiguous" name

    0 讨论(0)
提交回复
热议问题