Issue #78 explicitly required that review.ContentEntry and review.GiteaClient be deleted in the same PR as vcs/types.go, with the note: "These deletions are owned by #78 and must be included in the same PR as vcs/types.go. They are not deferred — #82 depends on them already being gone."
Both types still exist in review/repo_persona.go unchanged. review.ContentEntry duplicates vcs.ContentEntry and review.GiteaClient duplicates vcs.FileReader (partially). The review/ package can safely import vcs/ without a cycle since vcs/ has no upward dependencies.
Source
PR: #83 — feat(vcs): extract interfaces and types from gitea/ (Phase 1)
Linked issue: #78 — feat(vcs): extract interfaces and types from gitea/ (Phase 1)
File: review/repo_persona.go lines 14–28
What needs to happen
Delete review.ContentEntry from review/repo_persona.go
Replace all usages of review.ContentEntry in review/ with vcs.ContentEntry
Delete review.GiteaClient and replace with vcs.FileReader in review.LoadRepoPersonas signature
Update review/repo_persona_test.go: mockGiteaClient.ListContents return type changes from []review.ContentEntry to []vcs.ContentEntry
## What was missed
Issue #78 explicitly required that `review.ContentEntry` and `review.GiteaClient` be deleted in the same PR as `vcs/types.go`, with the note: "These deletions are owned by #78 and must be included in the same PR as `vcs/types.go`. They are not deferred — #82 depends on them already being gone."
Both types still exist in `review/repo_persona.go` unchanged. `review.ContentEntry` duplicates `vcs.ContentEntry` and `review.GiteaClient` duplicates `vcs.FileReader` (partially). The `review/` package can safely import `vcs/` without a cycle since `vcs/` has no upward dependencies.
## Source
- PR: #83 — feat(vcs): extract interfaces and types from gitea/ (Phase 1)
- Linked issue: #78 — feat(vcs): extract interfaces and types from gitea/ (Phase 1)
- File: `review/repo_persona.go` lines 14–28
## What needs to happen
- Delete `review.ContentEntry` from `review/repo_persona.go`
- Replace all usages of `review.ContentEntry` in `review/` with `vcs.ContentEntry`
- Delete `review.GiteaClient` and replace with `vcs.FileReader` in `review.LoadRepoPersonas` signature
- Update `review/repo_persona_test.go`: `mockGiteaClient.ListContents` return type changes from `[]review.ContentEntry` to `[]vcs.ContentEntry`
- `go build ./...` and `go test ./...` pass
## References
- [PR #83](https://gitea.weiker.me/rodin/review-bot/pulls/83)
- [Issue #78](https://gitea.weiker.me/rodin/review-bot/issues/78)
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
What was missed
Issue #78 explicitly required that
review.ContentEntryandreview.GiteaClientbe deleted in the same PR asvcs/types.go, with the note: "These deletions are owned by #78 and must be included in the same PR asvcs/types.go. They are not deferred — #82 depends on them already being gone."Both types still exist in
review/repo_persona.gounchanged.review.ContentEntryduplicatesvcs.ContentEntryandreview.GiteaClientduplicatesvcs.FileReader(partially). Thereview/package can safely importvcs/without a cycle sincevcs/has no upward dependencies.Source
review/repo_persona.golines 14–28What needs to happen
review.ContentEntryfromreview/repo_persona.goreview.ContentEntryinreview/withvcs.ContentEntryreview.GiteaClientand replace withvcs.FileReaderinreview.LoadRepoPersonassignaturereview/repo_persona_test.go:mockGiteaClient.ListContentsreturn type changes from[]review.ContentEntryto[]vcs.ContentEntrygo build ./...andgo test ./...passReferences
rodin referenced this issue2026-05-12 19:39:02 +00:00