use git::OpenRepository; use git_next_config::{BranchName, GitDir, RepoConfig}; use git_next_git::{self as git, GitRef}; use crate::{branch, file, validation, CommitStatus}; struct MockForge; #[derive(Clone, Debug)] pub struct MockForgeEnv; impl MockForgeEnv { pub(crate) const fn new() -> Self { Self } } #[async_trait::async_trait] impl super::ForgeLike for MockForgeEnv { fn name(&self) -> String { "mock".to_string() } async fn branches_get_all(&self) -> Result, branch::Error> { todo!() } async fn file_contents_get( &self, _branch: &BranchName, _file_path: &str, ) -> Result { todo!() } async fn branches_validate_positions( &self, _repository: OpenRepository, _repo_config: RepoConfig, ) -> validation::Result { todo!() } fn branch_reset( &self, _repository: &OpenRepository, _branch_name: BranchName, _to_commit: GitRef, _force: git::push::Force, ) -> git::push::Result { todo!() } async fn commit_status(&self, _commit: &git::Commit) -> CommitStatus { todo!() } fn repo_clone(&self, _gitdir: GitDir) -> Result { todo!() } }