Get a GitHub (user, repo) pair out of a git remote
(remote: str)
| 167 | |
| 168 | |
| 169 | def parse_remote(remote: str) -> tuple[str, str]: |
| 170 | """ |
| 171 | Get a GitHub (user, repo) pair out of a git remote |
| 172 | """ |
| 173 | if remote.startswith("https://"): |
| 174 | # Parse HTTP remote |
| 175 | parts = remote.split("/") |
| 176 | if len(parts) < 2: |
| 177 | raise RuntimeError(f"Unable to parse remote '{remote}'") |
| 178 | user, repo = parts[-2], parts[-1].replace(".git", "") |
| 179 | else: |
| 180 | # Parse SSH remote |
| 181 | m = re.search(r":(.*)/(.*)\.git", remote) |
| 182 | if m is None or len(m.groups()) != 2: |
| 183 | raise RuntimeError(f"Unable to parse remote '{remote}'") |
| 184 | user, repo = m.groups() |
| 185 | |
| 186 | user = os.getenv("DEBUG_USER", user) |
| 187 | repo = os.getenv("DEBUG_REPO", repo) |
| 188 | return user, repo |
| 189 | |
| 190 | |
| 191 | def git(command, **kwargs): |
no test coverage detected
searching dependent graphs…