mirror of
https://github.com/sourcegit-scm/sourcegit
synced 2025-06-05 19:15:00 +00:00
enhance: prevent requesting revision files more than once time
Signed-off-by: leo <longshuang@msn.cn>
This commit is contained in:
parent
d56c6a5030
commit
eb183589f5
1 changed files with 10 additions and 1 deletions
|
@ -149,6 +149,7 @@ namespace SourceGit.ViewModels
|
||||||
_diffContext = null;
|
_diffContext = null;
|
||||||
_viewRevisionFileContent = null;
|
_viewRevisionFileContent = null;
|
||||||
_cancellationSource = null;
|
_cancellationSource = null;
|
||||||
|
_requestingRevisionFiles = false;
|
||||||
_revisionFiles = null;
|
_revisionFiles = null;
|
||||||
_revisionFileSearchSuggestion = null;
|
_revisionFileSearchSuggestion = null;
|
||||||
}
|
}
|
||||||
|
@ -546,6 +547,7 @@ namespace SourceGit.ViewModels
|
||||||
private void Refresh()
|
private void Refresh()
|
||||||
{
|
{
|
||||||
_changes = null;
|
_changes = null;
|
||||||
|
_requestingRevisionFiles = false;
|
||||||
_revisionFiles = null;
|
_revisionFiles = null;
|
||||||
|
|
||||||
SignInfo = null;
|
SignInfo = null;
|
||||||
|
@ -812,16 +814,22 @@ namespace SourceGit.ViewModels
|
||||||
{
|
{
|
||||||
if (_revisionFiles == null)
|
if (_revisionFiles == null)
|
||||||
{
|
{
|
||||||
|
if (_requestingRevisionFiles)
|
||||||
|
return;
|
||||||
|
|
||||||
var sha = Commit.SHA;
|
var sha = Commit.SHA;
|
||||||
|
_requestingRevisionFiles = true;
|
||||||
|
|
||||||
Task.Run(() =>
|
Task.Run(() =>
|
||||||
{
|
{
|
||||||
var files = new Commands.QueryRevisionFileNames(_repo.FullPath, sha).Result();
|
var files = new Commands.QueryRevisionFileNames(_repo.FullPath, sha).Result();
|
||||||
Dispatcher.UIThread.Invoke(() =>
|
Dispatcher.UIThread.Invoke(() =>
|
||||||
{
|
{
|
||||||
if (sha == Commit.SHA)
|
if (sha == Commit.SHA && _requestingRevisionFiles)
|
||||||
{
|
{
|
||||||
_revisionFiles = files;
|
_revisionFiles = files;
|
||||||
|
_requestingRevisionFiles = false;
|
||||||
|
|
||||||
if (!string.IsNullOrEmpty(_revisionFileSearchFilter))
|
if (!string.IsNullOrEmpty(_revisionFileSearchFilter))
|
||||||
CalcRevisionFileSearchSuggestion();
|
CalcRevisionFileSearchSuggestion();
|
||||||
}
|
}
|
||||||
|
@ -907,6 +915,7 @@ namespace SourceGit.ViewModels
|
||||||
private DiffContext _diffContext = null;
|
private DiffContext _diffContext = null;
|
||||||
private object _viewRevisionFileContent = null;
|
private object _viewRevisionFileContent = null;
|
||||||
private CancellationTokenSource _cancellationSource = null;
|
private CancellationTokenSource _cancellationSource = null;
|
||||||
|
private bool _requestingRevisionFiles = false;
|
||||||
private List<string> _revisionFiles = null;
|
private List<string> _revisionFiles = null;
|
||||||
private string _revisionFileSearchFilter = string.Empty;
|
private string _revisionFileSearchFilter = string.Empty;
|
||||||
private List<string> _revisionFileSearchSuggestion = null;
|
private List<string> _revisionFileSearchSuggestion = null;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue