SourceTree freezes when loading commit history for repositories with thousands of commits
0 reputation · 04 Jul 2023, 12:13 UTC
0 reputation · 04 Jul 2023, 12:13 UTC
SourceTree retrieves complete commit history using Git's native log commands without server-side pagination. When users navigate to branches containing thousands of commits, the application loads the entire history into memory and parses it locally before rendering the UI. This full result set retrieval can cause significant delays and interface freezing, particularly during initial branch switching or when using the 'Show All' filter option.
The underlying Git process executes rev-list and log commands that return all matching commits at once, rather than implementing chunked loading or lazy evaluation. While Git itself handles large histories efficiently for command-line operations, SourceTree's GUI approach may struggle with memory allocation and rendering performance when processing extensive commit sets.
Users experiencing this behavior often cannot distinguish between network latency and computational overhead, as the UI provides no progress indication during the full history traversal. The issue becomes more pronounced with repositories containing complex branching histories or large binary assets referenced in commits.
A thoughtful contribution can make all the difference. Be the first to share one.
Use comments to ask for clarification. Post a solution as an answer.
No question comments on this page.