mirror of
https://github.com/sourcegit-scm/sourcegit
synced 2025-05-20 19:55:00 +00:00
feature: supports issue tracker in commit message (#315)
This commit is contained in:
parent
fa1f4155da
commit
f754b2c63a
20 changed files with 563 additions and 85 deletions
|
@ -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;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue