Skip to main content

parse_commits

Function parse_commits 

Source
pub fn parse_commits(raw: &str) -> Vec<CommitSummary>
Examples found in repository?
examples/snapshot.rs (line 59)
51fn collect_git(root: &PathBuf) -> Result<GitSignals, String> {
52    let branch = run_git(root, &["rev-parse", "--abbrev-ref", "HEAD"])?
53        .trim()
54        .to_string();
55    let log = run_git(
56        root,
57        &["log", "--since=7 days ago", "--max-count=40", "--format=%H%x09%ct%x09%s"],
58    )?;
59    let recent_commits: Vec<CommitSummary> = git_signal::parse_commits(&log);
60    let status = run_git(root, &["status", "--short"])?;
61    let (staged, unstaged): (Vec<ChangeSummary>, Vec<ChangeSummary>) =
62        git_signal::parse_status_public(&status);
63    let clean = staged.is_empty() && unstaged.is_empty();
64    Ok(GitSignals {
65        branch,
66        recent_commits,
67        staged_changes: staged,
68        unstaged_changes: unstaged,
69        clean_worktree: clean,
70    })
71}