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}