Skip to content

Commit bb2284c

Browse files
committed
refactor: re-write commit searching (part 3)
Signed-off-by: leo <[email protected]>
1 parent ee7ccc0 commit bb2284c

File tree

3 files changed

+15
-18
lines changed

3 files changed

+15
-18
lines changed
Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
namespace SourceGit.Commands
1+
using System.Collections.Generic;
2+
3+
namespace SourceGit.Commands
24
{
35
public class QueryRevisionFileNames : Command
46
{
@@ -9,13 +11,17 @@ public QueryRevisionFileNames(string repo, string revision)
911
Args = $"ls-tree -r -z --name-only {revision}";
1012
}
1113

12-
public string[] Result()
14+
public List<string> Result()
1315
{
1416
var rs = ReadToEnd();
15-
if (rs.IsSuccess)
16-
return rs.StdOut.Split('\0', System.StringSplitOptions.RemoveEmptyEntries);
17+
if (!rs.IsSuccess)
18+
return [];
1719

18-
return [];
20+
var lines = rs.StdOut.Split('\0', System.StringSplitOptions.RemoveEmptyEntries);
21+
var outs = new List<string>();
22+
foreach (var line in lines)
23+
outs.Add(line);
24+
return outs;
1925
}
2026
}
2127
}

src/ViewModels/CommitDetail.cs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -814,14 +814,11 @@ private void RefreshRevisionSearchSuggestion()
814814
Task.Run(() =>
815815
{
816816
var files = new Commands.QueryRevisionFileNames(_repo.FullPath, sha).Result();
817-
var filesList = new List<string>();
818-
filesList.AddRange(files);
819-
820817
Dispatcher.UIThread.Invoke(() =>
821818
{
822819
if (sha == Commit.SHA)
823820
{
824-
_revisionFiles = filesList;
821+
_revisionFiles = files;
825822
if (!string.IsNullOrEmpty(_revisionFileSearchFilter))
826823
CalcRevisionFileSearchSuggestion();
827824
}

src/ViewModels/Repository.cs

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2376,17 +2376,11 @@ private void CalcWorktreeFilesForSearching()
23762376

23772377
Task.Run(() =>
23782378
{
2379-
var files = new Commands.QueryRevisionFileNames(_fullpath, "HEAD").Result();
2379+
_worktreeFiles = new Commands.QueryRevisionFileNames(_fullpath, "HEAD").Result();
23802380
Dispatcher.UIThread.Invoke(() =>
23812381
{
2382-
if (!IsSearchingCommitsByFilePath())
2383-
return;
2384-
2385-
_worktreeFiles = new List<string>();
2386-
foreach (var f in files)
2387-
_worktreeFiles.Add(f);
2388-
2389-
CalcMatchedFilesForSearching();
2382+
if (IsSearchingCommitsByFilePath())
2383+
CalcMatchedFilesForSearching();
23902384
});
23912385
});
23922386
}

0 commit comments

Comments
 (0)