@@ -85,42 +85,40 @@ private Models.MergeMode AutoSelectMergeMode()
8585 return
8686 GetGitConfigBranchMergeOptions ( ) // Branch
8787 ?? GetSettingsPreferredMergeMode ( ) // Repository
88- ?? GetGitConfigMergeFF ( ) // Global
89- ?? Models . MergeMode . Default ; // Fallback
88+ ?? GetGitConfigMergeFF ( ) ; // Global
89+ }
90+
91+ private Models . MergeMode GetGitConfigBranchMergeOptions ( )
92+ {
93+ var config = new Commands . Config ( _repo . FullPath ) . Get ( $ "branch.{ Into } .mergeoptions") ;
94+ return config switch
95+ {
96+ null or "" => null ,
97+ "--ff-only" => Models . MergeMode . FastForward ,
98+ "--no-ff" => Models . MergeMode . NoFastForward ,
99+ "--squash" => Models . MergeMode . Squash ,
100+ "--no-commit" or "--no-ff --no-commit" => Models . MergeMode . DontCommit ,
101+ _ => null
102+ } ;
90103 }
91104
92105 private Models . MergeMode GetSettingsPreferredMergeMode ( )
93106 {
94107 var preferredMergeModeIdx = _repo . Settings . PreferredMergeMode ;
95108 if ( preferredMergeModeIdx < 0 || preferredMergeModeIdx > Models . MergeMode . Supported . Length )
96- return Models . MergeMode . Supported [ preferredMergeModeIdx ] ;
109+ return null ;
97110
98- return Models . MergeMode . Default ;
111+ return Models . MergeMode . Supported [ preferredMergeModeIdx ] ;
99112 }
100113
101114 private Models . MergeMode GetGitConfigMergeFF ( )
102115 {
103116 var config = new Commands . Config ( _repo . FullPath ) . Get ( "merge.ff" ) ;
104117 return config switch
105118 {
106- null or "" => null ,
107119 "false" => Models . MergeMode . NoFastForward ,
108120 "only" => Models . MergeMode . FastForward ,
109- _ => null
110- } ;
111- }
112-
113- private Models . MergeMode GetGitConfigBranchMergeOptions ( )
114- {
115- var config = new Commands . Config ( _repo . FullPath ) . Get ( $ "branch.{ Into } .mergeoptions") ;
116- return config switch
117- {
118- null or "" => null ,
119- "--ff-only" => Models . MergeMode . FastForward ,
120- "--no-ff" => Models . MergeMode . NoFastForward ,
121- "--squash" => Models . MergeMode . Squash ,
122- "--no-commit" or "--no-ff --no-commit" => Models . MergeMode . DontCommit ,
123- _ => null
121+ _ => Models . MergeMode . Default
124122 } ;
125123 }
126124
0 commit comments