1#[cfg(test)]
7#[path = "./types_test.rs"]
8mod types_test;
9
10use std::collections::HashMap;
11
12#[derive(Debug, Clone, Default)]
13#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
14pub struct Head {
16 pub last_commit_hash: Option<String>,
18 pub last_commit_hash_short: Option<String>,
20}
21
22impl Head {
23 pub fn new() -> Head {
25 Default::default()
26 }
27}
28
29#[derive(Debug, Clone, Default)]
30#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
31pub struct GitInfo {
33 pub user_name: Option<String>,
35 pub user_email: Option<String>,
37 pub dirty: Option<bool>,
39 pub current_branch: Option<String>,
41 pub branches: Option<Vec<String>>,
43 pub head: Head,
45 pub config: Option<HashMap<String, String>>,
47}
48
49impl GitInfo {
50 pub fn new() -> GitInfo {
52 Default::default()
53 }
54}