feature: supports issue tracker in commit message (#315)

This commit is contained in:
leo 2024-08-05 17:34:49 +08:00
parent fa1f4155da
commit f754b2c63a
No known key found for this signature in database
20 changed files with 563 additions and 85 deletions

View file

@ -44,6 +44,11 @@ namespace SourceGit.ViewModels
get => _settings;
}
public IssueTrackerRuleSetting IssueTrackerSetting
{
get => _issueTrackerSetting;
}
public int SelectedViewIndex
{
get => _selectedViewIndex;
@ -319,6 +324,23 @@ namespace SourceGit.ViewModels
_settings = new Models.RepositorySettings();
}
var issueTrackerSettingsFile = Path.Combine(_gitDir, "sourcegit.issuetracker.settings");
if (File.Exists(issueTrackerSettingsFile))
{
try
{
_issueTrackerSetting = JsonSerializer.Deserialize(File.ReadAllText(issueTrackerSettingsFile), JsonCodeGen.Default.IssueTrackerRuleSetting);
}
catch
{
_issueTrackerSetting = new IssueTrackerRuleSetting();
}
}
else
{
_issueTrackerSetting = new IssueTrackerRuleSetting();
}
_watcher = new Models.Watcher(this);
_histories = new Histories(this);
_workingCopy = new WorkingCopy(this);
@ -339,6 +361,10 @@ namespace SourceGit.ViewModels
File.WriteAllText(Path.Combine(_gitDir, "sourcegit.settings"), settingsSerialized);
_settings = null;
var issueTrackerSerialized = JsonSerializer.Serialize(_issueTrackerSetting, JsonCodeGen.Default.IssueTrackerRuleSetting);
File.WriteAllText(Path.Combine(_gitDir, "sourcegit.issuetracker.settings"), issueTrackerSerialized);
_issueTrackerSetting = null;
_watcher.Dispose();
_histories.Cleanup();
_workingCopy.Cleanup();
@ -1960,6 +1986,7 @@ namespace SourceGit.ViewModels
private string _fullpath = string.Empty;
private string _gitDir = string.Empty;
private Models.RepositorySettings _settings = null;
private IssueTrackerRuleSetting _issueTrackerSetting = null;
private Models.Watcher _watcher = null;
private Histories _histories = null;