From fb38f9d5079ccd7bd920710de9d3bd898e536065 Mon Sep 17 00:00:00 2001 From: Sina Hinderks Date: Sat, 28 Jun 2025 18:43:35 +0200 Subject: [PATCH] fix: searching for tree/blob hash never-ending Searching for a tree or blob hash instead of a commit hash created a seemingly never-ending search (internally an exception was thrown). Examples for non-ending searches in the SourceGit repository itself are searching for 6b83a0a (that is the tree "src" of commit 190d2ee) or e686a53 (that is the file ".gitignore" in the tree of commit 190d2ee). --- src/Commands/QuerySingleCommit.cs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/Commands/QuerySingleCommit.cs b/src/Commands/QuerySingleCommit.cs index 35289ec58..3f2deef38 100644 --- a/src/Commands/QuerySingleCommit.cs +++ b/src/Commands/QuerySingleCommit.cs @@ -6,6 +6,9 @@ public class QuerySingleCommit : Command { public QuerySingleCommit(string repo, string sha) { + _repo = repo; + _sha = sha; + WorkingDirectory = repo; Context = repo; Args = $"show --no-show-signature --decorate=full --format=%H%n%P%n%D%n%aN±%aE%n%at%n%cN±%cE%n%ct%n%s -s {sha}"; @@ -13,6 +16,10 @@ public QuerySingleCommit(string repo, string sha) public Models.Commit Result() { + var isCommitSHA = new IsCommitSHA(_repo, _sha).Result(); + if (!isCommitSHA) + return null; + var rs = ReadToEnd(); if (rs.IsSuccess && !string.IsNullOrEmpty(rs.StdOut)) { @@ -37,5 +44,8 @@ public Models.Commit Result() return null; } + + private readonly string _repo; + private readonly string _sha; } }