Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix creating references containing '@' #854

Open

Commits on Mar 15, 2019

  1. Fix creating references containing '@'

    References containing the '@' char are legal in git but fail with
    [1]. This fails because as soon as '@' is encountered we stop
    searching for a ref name, assume it is there and fail while retrieving
    it. This can be fixed by catching this exception and continue with the
    search for a valid ref.
    
    [1] Trace:
    Traceback (most recent call last):
      File "/opt/zuul/lib/python3.7/site-packages/zuul/merger/merger.py", line 108, in __init__
       self._ensure_cloned()
      File "/opt/zuul/lib/python3.7/site-packages/zuul/merger/merger.py", line 178, in _ensure_cloned
        repo.create_head(ref.remote_head, ref, force=True)
      File "/opt/zuul/lib/python3.7/site-packages/git/repo/base.py", line 373, in create_head
        return Head.create(self, path, commit, force, logmsg)
      File "/opt/zuul/lib/python3.7/site-packages/git/refs/symbolic.py", line 546, in create
        return cls._create(repo, path, cls._resolve_ref_on_create, reference, force, logmsg)
      File "/opt/zuul/lib/python3.7/site-packages/git/refs/symbolic.py", line 497, in _create
        target = repo.rev_parse(str(reference))
      File "/opt/zuul/lib/python3.7/site-packages/git/repo/fun.py", line 211, in rev_parse
        ref = name_to_object(repo, rev[:start], return_ref=True)
      File "/opt/zuul/lib/python3.7/site-packages/git/repo/fun.py", line 142, in name_to_object
        raise BadObject("Couldn't find reference named %r" % name)
    gitdb.exc.BadObject: <unprintable BadObject object>
    tobiashenkel committed Mar 15, 2019
You can’t perform that action at this time.