mirror of
https://github.com/sourcegit-scm/sourcegit
synced 2025-05-24 05:35:00 +00:00
feature: add Preferred Merge Mode
in repository configure (#1156)
Signed-off-by: leo <longshuang@msn.cn>
This commit is contained in:
parent
ad9021e892
commit
3049730dd5
7 changed files with 73 additions and 10 deletions
|
@ -69,9 +69,14 @@ namespace SourceGit.ViewModels
|
|||
|
||||
private Models.MergeMode AutoSelectMergeMode()
|
||||
{
|
||||
var preferredMergeModeIdx = _repo.Settings.PreferredMergeMode;
|
||||
if (preferredMergeModeIdx < 0 || preferredMergeModeIdx > Models.MergeMode.Supported.Length)
|
||||
preferredMergeModeIdx = 0;
|
||||
|
||||
var defaultMergeMode = Models.MergeMode.Supported[preferredMergeModeIdx];
|
||||
var config = new Commands.Config(_repo.FullPath).Get($"branch.{Into}.mergeoptions");
|
||||
if (string.IsNullOrEmpty(config))
|
||||
return Models.MergeMode.Supported[0];
|
||||
return defaultMergeMode;
|
||||
if (config.Equals("--ff-only", StringComparison.Ordinal))
|
||||
return Models.MergeMode.Supported[1];
|
||||
if (config.Equals("--no-ff", StringComparison.Ordinal))
|
||||
|
@ -81,7 +86,7 @@ namespace SourceGit.ViewModels
|
|||
if (config.Equals("--no-commit", StringComparison.Ordinal) || config.Equals("--no-ff --no-commit", StringComparison.Ordinal))
|
||||
return Models.MergeMode.Supported[4];
|
||||
|
||||
return Models.MergeMode.Supported[0];
|
||||
return defaultMergeMode;
|
||||
}
|
||||
|
||||
private readonly Repository _repo = null;
|
||||
|
|
|
@ -36,6 +36,19 @@ namespace SourceGit.ViewModels
|
|||
}
|
||||
}
|
||||
|
||||
public int PreferredMergeMode
|
||||
{
|
||||
get => _repo.Settings.PreferredMergeMode;
|
||||
set
|
||||
{
|
||||
if (_repo.Settings.PreferredMergeMode != value)
|
||||
{
|
||||
_repo.Settings.PreferredMergeMode = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public bool GPGCommitSigningEnabled
|
||||
{
|
||||
get;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue