git_next_core/git/
mod.rs

1//
2pub mod commit;
3pub mod fetch;
4pub mod file;
5pub mod forge;
6mod generation;
7mod git_ref;
8mod git_remote;
9pub mod graph;
10pub mod push;
11mod repo_details;
12pub mod repository;
13mod user_notification;
14pub mod validation;
15
16#[cfg(test)]
17mod tests;
18
19pub use commit::Commit;
20pub use forge::ForgeLike;
21pub use forge::MockForgeLike;
22pub use generation::Generation;
23#[allow(clippy::module_name_repetitions)]
24pub use git_ref::GitRef;
25#[allow(clippy::module_name_repetitions)]
26pub use git_remote::GitRemote;
27pub use repo_details::RepoDetails;
28pub use repository::Repository;
29pub use repository::RepositoryFactory;
30pub use user_notification::UserNotification;
31
32use crate::common::branch_name;
33use crate::common::repo_alias;
34use crate::common::repo_path;
35use crate::ForgeDetails;
36use crate::GitDir;
37use crate::RepoConfig;
38
39#[must_use]
40pub fn repo_details(
41    n: u32,
42    generation: Generation,
43    forge: ForgeDetails,
44    repo_config: Option<RepoConfig>,
45    gitdir: GitDir,
46) -> RepoDetails {
47    RepoDetails {
48        generation,
49        repo_alias: repo_alias(n),
50        repo_path: repo_path(n),
51        gitdir,
52        branch: branch_name(n),
53        forge,
54        repo_config,
55    }
56}