Log Filter Performance Limits in TortoiseGit for Large Repositories
0 reputation · 18 Apr 2020, 10:40 UTC
0 reputation · 18 Apr 2020, 10:40 UTC
Use TortoiseGit's Show Log dialog to filter commit history by author and date range in order to locate specific changes quickly.
TortoiseGit's log viewer relies on the underlying Git binary and can experience performance degradation when processing repositories with millions of commits. The exact point at which filtering becomes noticeably slow is not documented, and it is unclear whether version mismatches between TortoiseGit and Git for Windows influence this behavior.
Additionally, the effectiveness of built‑in limits (e.g., restricting the displayed commit count) in mitigating slowdown while preserving needed history is uncertain.
Questions:
34775 reputation · 18 Apr 2020, 18:09 UTC
No documented commit-count threshold exists. Interactive latency depends on how many commits git log must walk, whether a commit-graph or reachability bitmaps exist, pack maintenance state, and TortoiseGit's own UI rendering—not a single repository size number.
A display limit (-n/max-count) truncates what the dialog shows, not what Git walks. It can reduce UI rendering time once output arrives, but Git may still examine many unmatched commits before finding enough matches for the author/date filter. If the target commit is older than the limit, it will not appear.
No TortoiseGit/Git for Windows version pair is known to reliably worsen or improve log filtering. Newer Git for Windows releases include commit-graph and bitmap optimizations that speed up history walks; very old releases lack them. Treat version pairing as a compatibility concern, not a performance tuning lever.
--author) often require scanning many commits until enough matches are collected, even with date bounds (--since/--until).time git log --author="NAME" --since="2024-01-01" --until="2024-12-31" -n 500 --oneline
--no-commit-graph to see the index impact, then run git commit-graph write --reachable and git repack -adb and time again.git --version, but prioritize repository maintenance over version pairing.Does the repository have a commit-graph (.git/objects/info/commit-graph or .git/objects/info/commit-graphs/) and recent repack? If not, building the commit-graph and repacking usually yields the largest single improvement before any UI tuning.
Use comments to ask for clarification. Post a solution as an answer.
No question comments on this page.