From 6af24156f7b11fb3dfa92728446bb4418d425298 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Mon, 2 Feb 2026 01:57:11 +0000 Subject: [PATCH 1/3] Invert repo stats first-parent flag Co-authored-by: kylewrader --- Cargo.toml | 2 +- README.md | 2 +- src/main.rs | 12 ++++++------ 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 128ccfb..637783d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "loki-cli" -version = "1.9.0" +version = "2.0.0" authors = ["Kyle W. Rader"] description = "Loki: 🚀 A Git productivity tool" homepage = "https://github.com/kyle-rader/loki-cli" diff --git a/README.md b/README.md index fbe00ca..346afba 100644 --- a/README.md +++ b/README.md @@ -95,7 +95,7 @@ Analyze commits reachable from HEAD to see who has been landing work in a reposi - `--name` filters by author display name (repeatable, case-insensitive). - `--email` filters by author email (repeatable, case-insensitive). -- `--first-parent` limits the analysis to first-parent commits. +- `--all` includes all commits (default is first-parent only). #### Example ``` diff --git a/src/main.rs b/src/main.rs index 08d6f7d..2fea155 100644 --- a/src/main.rs +++ b/src/main.rs @@ -73,9 +73,9 @@ struct RepoStatsOptions { #[clap(long, default_value_t = 20)] top: usize, - /// Only include first-parent commits. + /// Include all commits (disables first-parent-only filtering). #[clap(long, default_value = "false")] - first_parent: bool, + all: bool, /// Only include commits authored by these names (repeatable, case-insensitive fuzzy match). #[clap(long = "name", value_name = "NAME")] @@ -236,7 +236,7 @@ fn repo_stats(options: &RepoStatsOptions) -> Result<(), String> { options.emails.iter().map(|s| s.to_lowercase()).collect(); let mut git_args: Vec = vec!["log".to_string()]; - if options.first_parent { + if !options.all { git_args.push("--first-parent".to_string()); } git_args.push("--pretty=format:%ct%x09%an%x09%ae".to_string()); @@ -343,14 +343,14 @@ fn repo_stats(options: &RepoStatsOptions) -> Result<(), String> { progress.finish(); if totals.is_empty() { - if options.first_parent { + if options.all { println!( - "No first-parent commits found between {} and {}.", + "No commits found between {} and {}.", range.start_label, range.end_label ); } else { println!( - "No commits found between {} and {}.", + "No first-parent commits found between {} and {}.", range.start_label, range.end_label ); } From b9d9468e1a9bec75aacfa1a91a5ae2145fa504f9 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Mon, 2 Feb 2026 02:03:58 +0000 Subject: [PATCH 2/3] Document cargo build lockfile update Co-authored-by: kylewrader --- AGENTS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/AGENTS.md b/AGENTS.md index a19b3ce..b189b30 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -3,6 +3,7 @@ Whenever an automated agent lands code in this repository, it must also: - Bump the crate version in `Cargo.toml` before shipping. +- Run `cargo build` so `Cargo.lock` is updated, and commit any lockfile changes. - Choose the bump size using semantic versioning rules: - Increment the **major** version (`x.0.0`) for breaking changes. - Increment the **minor** version when adding backward-compatible functionality. From e10dbdec2803f55ecb88407b9a97141ef208ff45 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Mon, 2 Feb 2026 02:04:23 +0000 Subject: [PATCH 3/3] Update Cargo.lock after build Co-authored-by: kylewrader --- Cargo.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.lock b/Cargo.lock index 9b2eb54..1041d08 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -237,7 +237,7 @@ checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432" [[package]] name = "loki-cli" -version = "1.9.0" +version = "2.0.0" dependencies = [ "chrono", "clap",