mirror of
https://github.com/sourcegit-scm/sourcegit
synced 2025-06-02 17:44:59 +00:00
enhance: prevent requesting worktree files more than once time
Signed-off-by: leo <longshuang@msn.cn>
This commit is contained in:
parent
eb183589f5
commit
550493b572
1 changed files with 12 additions and 1 deletions
|
@ -294,6 +294,7 @@ namespace SourceGit.ViewModels
|
||||||
SelectedSearchedCommit = null;
|
SelectedSearchedCommit = null;
|
||||||
SearchCommitFilter = string.Empty;
|
SearchCommitFilter = string.Empty;
|
||||||
MatchedFilesForSearching = null;
|
MatchedFilesForSearching = null;
|
||||||
|
_requestingWorktreeFiles = false;
|
||||||
_worktreeFiles = null;
|
_worktreeFiles = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -568,6 +569,7 @@ namespace SourceGit.ViewModels
|
||||||
_searchedCommits.Clear();
|
_searchedCommits.Clear();
|
||||||
_selectedSearchedCommit = null;
|
_selectedSearchedCommit = null;
|
||||||
|
|
||||||
|
_requestingWorktreeFiles = false;
|
||||||
_worktreeFiles = null;
|
_worktreeFiles = null;
|
||||||
_matchedFilesForSearching = null;
|
_matchedFilesForSearching = null;
|
||||||
}
|
}
|
||||||
|
@ -2698,19 +2700,27 @@ namespace SourceGit.ViewModels
|
||||||
{
|
{
|
||||||
if (!IsSearchingCommitsByFilePath())
|
if (!IsSearchingCommitsByFilePath())
|
||||||
{
|
{
|
||||||
|
_requestingWorktreeFiles = false;
|
||||||
_worktreeFiles = null;
|
_worktreeFiles = null;
|
||||||
MatchedFilesForSearching = null;
|
MatchedFilesForSearching = null;
|
||||||
GC.Collect();
|
GC.Collect();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (_requestingWorktreeFiles)
|
||||||
|
return;
|
||||||
|
|
||||||
|
_requestingWorktreeFiles = true;
|
||||||
|
|
||||||
Task.Run(() =>
|
Task.Run(() =>
|
||||||
{
|
{
|
||||||
_worktreeFiles = new Commands.QueryRevisionFileNames(_fullpath, "HEAD").Result();
|
_worktreeFiles = new Commands.QueryRevisionFileNames(_fullpath, "HEAD").Result();
|
||||||
Dispatcher.UIThread.Invoke(() =>
|
Dispatcher.UIThread.Invoke(() =>
|
||||||
{
|
{
|
||||||
if (IsSearchingCommitsByFilePath())
|
if (IsSearchingCommitsByFilePath() && _requestingWorktreeFiles)
|
||||||
CalcMatchedFilesForSearching();
|
CalcMatchedFilesForSearching();
|
||||||
|
|
||||||
|
_requestingWorktreeFiles = false;
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -2796,6 +2806,7 @@ namespace SourceGit.ViewModels
|
||||||
private string _searchCommitFilter = string.Empty;
|
private string _searchCommitFilter = string.Empty;
|
||||||
private List<Models.Commit> _searchedCommits = new List<Models.Commit>();
|
private List<Models.Commit> _searchedCommits = new List<Models.Commit>();
|
||||||
private Models.Commit _selectedSearchedCommit = null;
|
private Models.Commit _selectedSearchedCommit = null;
|
||||||
|
private bool _requestingWorktreeFiles = false;
|
||||||
private List<string> _worktreeFiles = null;
|
private List<string> _worktreeFiles = null;
|
||||||
private List<string> _matchedFilesForSearching = null;
|
private List<string> _matchedFilesForSearching = null;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue