1use std::process::Command;
2
3pub fn run() {
4 let output = Command::new("git")
5 .args(get_git_log_args())
6 .output()
7 .expect("Failed to run git log");
8
9 if output.status.success() {
10 let result = String::from_utf8_lossy(&output.stdout);
11 println!("{result}");
12 } else {
13 let err = String::from_utf8_lossy(&output.stderr);
14 eprintln!("{}", format_git_error(&err));
15 }
16}
17
18pub fn get_git_log_args() -> [&'static str; 5] {
20 ["log", "--oneline", "--graph", "--decorate", "--all"]
21}
22
23pub fn format_git_error(stderr: &str) -> String {
25 format!("❌ git log failed:\n{stderr}")
26}