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
15impl 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 {}