def get_tag(repo_key, tag_name): # NOTE: This endpoint is a RestfulGit extension repo = get_repo(repo_key) tag = lookup_ref(repo, TAG_REF_PREFIX + tag_name) if tag is None: raise NotFound("tag not found") result = { "name": tag.shorthand, "commit": convert_commit(repo_key, repo, tag.get_object()), "url": url_for("porcelain.get_tag", _external=True, repo_key=repo_key, tag_name=tag.shorthand), } # simple tag if tag.target != tag.get_object().id: tag_obj = repo[tag.target] result["tag"] = convert_tag(repo_key, repo, tag_obj) return result
def get_tag(repo_key, tag_name): # NOTE: This endpoint is a RestfulGit extension repo = get_repo(repo_key) tag = lookup_ref(repo, TAG_REF_PREFIX + tag_name) if tag is None: raise NotFound("tag not found") result = { "name": tag.shorthand, "commit": convert_commit(repo_key, repo, tag.peel()), "url": url_for('porcelain.get_tag', _external=True, repo_key=repo_key, tag_name=tag.shorthand), } # simple tag if tag.target != tag.peel().id: tag_obj = repo[tag.target] result['tag'] = convert_tag(repo_key, repo, tag_obj) return result
def get_tag(repo_key, sha): repo = get_repo(repo_key) tag = _get_tag(repo, sha) return convert_tag(repo_key, repo, tag)