(line: str)
| 111 | |
| 112 | |
| 113 | def parse_name_status(line: str) -> tuple[str, str, str | None] | None: |
| 114 | if not line.strip(): |
| 115 | return None |
| 116 | parts = line.split("\t") |
| 117 | status = parts[0] |
| 118 | if status.startswith("R") or status.startswith("C"): |
| 119 | if len(parts) < 3: |
| 120 | return None |
| 121 | return status[0], parts[2], parts[1] |
| 122 | if len(parts) < 2: |
| 123 | return None |
| 124 | return status[0], parts[1], None |
| 125 | |
| 126 | |
| 127 | def add_file_delta(plan: TestImpactPlan, status: str, path: str) -> None: |