You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
chore: update CI workflow to use latest action versions and improve caching strategy; enhance fuzzy search functionality with validation and new options
Copy file name to clipboardExpand all lines: README.md
+35-17Lines changed: 35 additions & 17 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,7 @@
7
7
8
8
**Human-friendly, temporal & intent-driven wrapper around `git log`.**
9
9
10
-
TGQ provides natural-language-style flags, fuzzy search, glob path filters, named presets, and structured exports (table, JSON, CSV, Markdown).
10
+
Git-When provides natural-language-style flags, fuzzy search, glob path filters, named presets, and structured exports (table, JSON, CSV, Markdown).
11
11
12
12
---
13
13
@@ -45,13 +45,19 @@ npm install -g .
45
45
• Dates passed to `--when` are interpreted in UTC by default (e.g. `2023-05-07` → `2023-05-07T00:00:00Z`). If your local timezone is behind UTC, a shorter-than-expected time window may appear. Always use ISO (`YYYY-MM-DD..YYYY-MM-DD`) or natural ranges (`today`, `last-week`).
46
46
47
47
### Glob Pattern Gotchas
48
-
• Your shell may expand globs before TGQ sees them. Quote patterns (e.g. `--path="src/**/*.js"`) to avoid unintended matches.
48
+
• Your shell may expand globs before Git-When sees them. Quote patterns (e.g. `--path="src/**/*.js"`) to avoid unintended matches.
49
49
50
50
### Tips for Large Repositories
51
51
- Use `--limit <n>` to stop after the first _n_ commits.
52
52
- Push filtering into Git: `--author`, `--grep`, and `--path` reduce data before JS processing.
53
53
- Combine flags: `git-when --who Alice --limit 50 --format=json` for a quick API export.
54
54
55
+
### Fuzzy Search Tips
56
+
-**Default threshold**: 0.4 (balanced between strict and lenient)
57
+
-**Stricter matching**: Use `--fuzzy-level=0.1` to `0.3` for more precise results
58
+
-**Lenient matching**: Use `--fuzzy-level=0.6` to `0.8` to catch more variations
59
+
-**Exact matching**: Use Git's native `--author` and `--grep` flags instead of `--who`/`--what`
60
+
55
61
### Exit Codes
56
62
-**0**: Successful execution (even if no commits match).
57
63
-**1**: An error occurred, such as invalid flags, invalid date ranges, malformed presets, or Git errors (e.g., not a Git repository).
@@ -62,11 +68,17 @@ npm install -g .
62
68
"perf-q2": {
63
69
"when": "2025-02-01..2025-02-28",
64
70
"who": "Bob",
65
-
"what": "perf"
71
+
"what": "perf",
72
+
"fuzzyThreshold": 0.3
66
73
},
67
74
"alice-week": {
68
75
"when": "last-week",
69
76
"who": "Alice"
77
+
},
78
+
"strict-search": {
79
+
"who": "john",
80
+
"fuzzyThreshold": 0.1,
81
+
"format": "json"
70
82
}
71
83
}
72
84
```
@@ -89,17 +101,18 @@ git-when [preset] [options]
89
101
90
102
-**Preset**: If the first argument matches a saved preset name, its filters load automatically.
91
103
-**Options**:
92
-
-`-w`, `--when <range>` Date range (e.g. `2023-01..2023-03`, `last-week`, `today`)
0 commit comments