INNER CODE UNIT · Python

get_default_branch_head_sha

RockxyApp/Rockxy · .github/tools/cla_gate.py:145

    def get_default_branch_head_sha(self, default_branch: str) -> str:
        status, data = self._request("GET", f"/repos/{self._repo}/git/ref/heads/{default_branch}")
        if status != 200 or not isinstance(data, dict):
            raise RuntimeError(f"failed to read default branch ref: HTTP {status}")
        return data["object"]["sha"]

    def ensure_branch(self, branch: str, default_branch: str) -> None:
        status, _ = self._request("GET", f"/repos/{self._repo}/git/ref/heads/{branch}")
        if status == 200:
            return
        if status != 404:
            raise RuntimeError(f"failed to probe branch {branch}: HTTP {status}")
        base_sha = self.get_default_branch_head_sha(default_branch)
        create_status, _ = self._request(
            "POST",
            f"/repos/{self._repo}/git/refs",
            {"ref": f"refs/heads/{branch}", "sha": base_sha},
        )

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…