git_revise/
git.rs

1use add::GitAdd;
2use cmit::GitCommit;
3use diff::GitDiff;
4use repo::GitRepository;
5
6use crate::ReviseResult;
7
8pub mod add;
9pub mod cmit;
10pub mod diff;
11pub mod repo;
12
13pub struct GitUtils;
14
15// pub struct GitUtils {
16//     repo: git2::Repository,
17// }
18
19// impl Default for GitUtils {
20//     fn default() -> Self {
21//         Self::new()
22//     }
23// }
24
25impl Default for GitUtils {
26    fn default() -> Self {
27        Self::new()
28    }
29}
30
31impl GitUtils {
32    pub const fn new() -> Self {
33        Self {}
34    }
35    pub fn diff(&self, exclude_files: &[String]) -> ReviseResult<String> {
36        Self::git_diff(exclude_files)
37    }
38    pub fn commit(&self, message: &str) -> ReviseResult<()> {
39        Self::git_cmit(message)
40    }
41    pub fn add(&self, paths: &[String]) -> ReviseResult<()> {
42        Self::git_add(paths)
43    }
44}
45
46impl GitDiff for GitUtils {}
47impl GitCommit for GitUtils {}
48impl GitRepository for GitUtils {}
49impl GitAdd for GitUtils {}