mirror of
https://github.com/sourcegit-scm/sourcegit
synced 2025-05-23 21:24:59 +00:00
enhance: supports search commits by changed file path like src/Commands/*
or */Add.cs
.
This commit is contained in:
parent
89f2d3dd11
commit
6426da3289
5 changed files with 59 additions and 16 deletions
|
@ -185,6 +185,13 @@ namespace SourceGit.ViewModels
|
|||
}
|
||||
}
|
||||
|
||||
[JsonIgnore]
|
||||
public int SearchCommitFilterType
|
||||
{
|
||||
get => _searchCommitFilterType;
|
||||
set => SetProperty(ref _searchCommitFilterType, value);
|
||||
}
|
||||
|
||||
[JsonIgnore]
|
||||
public string SearchCommitFilter
|
||||
{
|
||||
|
@ -416,18 +423,26 @@ namespace SourceGit.ViewModels
|
|||
return;
|
||||
|
||||
var visible = new List<Models.Commit>();
|
||||
foreach (var c in _histories.Commits)
|
||||
|
||||
if (_searchCommitFilterType == 0)
|
||||
{
|
||||
if (c.SHA.Contains(_searchCommitFilter, StringComparison.OrdinalIgnoreCase)
|
||||
|| c.Body.Contains(_searchCommitFilter, StringComparison.OrdinalIgnoreCase)
|
||||
|| c.Author.Name.Contains(_searchCommitFilter, StringComparison.OrdinalIgnoreCase)
|
||||
|| c.Committer.Name.Contains(_searchCommitFilter, StringComparison.OrdinalIgnoreCase)
|
||||
|| c.Author.Email.Contains(_searchCommitFilter, StringComparison.OrdinalIgnoreCase)
|
||||
|| c.Committer.Email.Contains(_searchCommitFilter, StringComparison.OrdinalIgnoreCase))
|
||||
foreach (var c in _histories.Commits)
|
||||
{
|
||||
visible.Add(c);
|
||||
if (c.SHA.Contains(_searchCommitFilter, StringComparison.OrdinalIgnoreCase)
|
||||
|| c.Body.Contains(_searchCommitFilter, StringComparison.OrdinalIgnoreCase)
|
||||
|| c.Author.Name.Contains(_searchCommitFilter, StringComparison.OrdinalIgnoreCase)
|
||||
|| c.Committer.Name.Contains(_searchCommitFilter, StringComparison.OrdinalIgnoreCase)
|
||||
|| c.Author.Email.Contains(_searchCommitFilter, StringComparison.OrdinalIgnoreCase)
|
||||
|| c.Committer.Email.Contains(_searchCommitFilter, StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
visible.Add(c);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
visible = new Commands.QueryCommits(FullPath, $"-1000 -- \"{_searchCommitFilter}\"", false).Result();
|
||||
}
|
||||
|
||||
SearchedCommits = visible;
|
||||
}
|
||||
|
@ -1508,6 +1523,7 @@ namespace SourceGit.ViewModels
|
|||
private object _selectedView = null;
|
||||
|
||||
private bool _isSearching = false;
|
||||
private int _searchCommitFilterType = 0;
|
||||
private string _searchCommitFilter = string.Empty;
|
||||
private List<Models.Commit> _searchedCommits = new List<Models.Commit>();
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue