Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit d3d1377

Browse files
refactor: auto-select merge mode
- Change the description of `Default` merge mode to `Use git configuration` - It's not necessary to read global `merge.ff` configuration
1 parent 7b02927 commit d3d1377

File tree

2 files changed

+7
-27
lines changed

2 files changed

+7
-27
lines changed

‎src/Models/MergeMode.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
public class MergeMode(string n, string d, string a)
44
{
55
public static readonly MergeMode Default =
6-
new MergeMode("Default", "Fast-forward if possible", "");
6+
new MergeMode("Default", "Use git configuration", "");
77

88
public static readonly MergeMode FastForward =
99
new MergeMode("Fast-forward", "Refuse to merge when fast-forward is not possible", "--ff-only");

‎src/ViewModels/Merge.cs

Lines changed: 6 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -78,47 +78,27 @@ public override async Task<bool> Sure()
7878
}
7979

8080
private Models.MergeMode AutoSelectMergeMode()
81-
{
82-
return
83-
GetGitConfigBranchMergeOptions() // Branch
84-
?? GetSettingsPreferredMergeMode() // Repository
85-
?? GetGitConfigMergeFF(); // Global
86-
}
87-
88-
private Models.MergeMode GetGitConfigBranchMergeOptions()
8981
{
9082
var config = new Commands.Config(_repo.FullPath).GetAsync($"branch.{Into}.mergeoptions").Result;
91-
return config switch
83+
varmode= config switch
9284
{
93-
null or "" => null,
9485
"--ff-only" => Models.MergeMode.FastForward,
9586
"--no-ff" => Models.MergeMode.NoFastForward,
9687
"--squash" => Models.MergeMode.Squash,
9788
"--no-commit" or "--no-ff --no-commit" => Models.MergeMode.DontCommit,
98-
_ => null
89+
_ => null,
9990
};
100-
}
10191

102-
private Models.MergeMode GetSettingsPreferredMergeMode()
103-
{
92+
if (mode != null)
93+
return mode;
94+
10495
var preferredMergeModeIdx = _repo.Settings.PreferredMergeMode;
10596
if (preferredMergeModeIdx < 0 || preferredMergeModeIdx > Models.MergeMode.Supported.Length)
106-
return null;
97+
return Models.MergeMode.Default;
10798

10899
return Models.MergeMode.Supported[preferredMergeModeIdx];
109100
}
110101

111-
private Models.MergeMode GetGitConfigMergeFF()
112-
{
113-
var config = new Commands.Config(_repo.FullPath).GetAsync("merge.ff").Result;
114-
return config switch
115-
{
116-
"false" => Models.MergeMode.NoFastForward,
117-
"only" => Models.MergeMode.FastForward,
118-
_ => Models.MergeMode.Default
119-
};
120-
}
121-
122102
private readonly Repository _repo = null;
123103
private readonly string _sourceName;
124104
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /