@@ -2563,7 +2563,7 @@ var CHECKOUT_OPTS_WITH_VALUE = new Set([
25632563 "--unified"
25642564] ) ;
25652565var CHECKOUT_OPTS_WITH_OPTIONAL_VALUE = new Set ( [ "--recurse-submodules" , "--track" , "-t" ] ) ;
2566- var CHECKOUT_SHORT_OPTS_WITH_VALUE = new Set ( [ "b" , "B" , "U" ] ) ;
2566+ var CHECKOUT_SHORT_OPTS_WITH_VALUE = new Set ( [ "- b" , "- B" , "- U" ] ) ;
25672567var SWITCH_SHORT_OPTS_WITH_VALUE = new Set ( [ "-c" , "-C" ] ) ;
25682568var CHECKOUT_KNOWN_OPTS_NO_VALUE = new Set ( [
25692569 "-q" ,
@@ -2678,7 +2678,10 @@ function extractGitSubcommandAndRest(tokens) {
26782678}
26792679function analyzeGitCheckout ( tokens ) {
26802680 const { index : doubleDashIdx , before : beforeDash } = splitAtDoubleDash ( tokens ) ;
2681- if ( hasCheckoutForceFlag ( beforeDash ) ) {
2681+ const shortOpts = extractShortOpts ( beforeDash , {
2682+ shortOptsWithValue : CHECKOUT_SHORT_OPTS_WITH_VALUE
2683+ } ) ;
2684+ if ( beforeDash . includes ( "--force" ) || shortOpts . has ( "-f" ) ) {
26822685 return REASON_CHECKOUT_FORCE ;
26832686 }
26842687 for ( const token of tokens ) {
@@ -2705,30 +2708,6 @@ function analyzeGitCheckout(tokens) {
27052708 }
27062709 return null ;
27072710}
2708- function hasCheckoutForceFlag ( tokens ) {
2709- for ( const token of tokens ) {
2710- if ( token === "--force" ) {
2711- return true ;
2712- }
2713- if ( ! token . startsWith ( "-" ) || token . startsWith ( "--" ) || token === "-" ) {
2714- continue ;
2715- }
2716- const chars = token . slice ( 1 ) ;
2717- for ( let i = 0 ; i < chars . length ; i ++ ) {
2718- const char = chars [ i ] ;
2719- if ( ! char || ! / [ a - z A - Z ] / . test ( char ) ) {
2720- break ;
2721- }
2722- if ( CHECKOUT_SHORT_OPTS_WITH_VALUE . has ( char ) ) {
2723- break ;
2724- }
2725- if ( char === "f" ) {
2726- return true ;
2727- }
2728- }
2729- }
2730- return false ;
2731- }
27322711function analyzeGitSwitch ( tokens ) {
27332712 const { before } = splitAtDoubleDash ( tokens ) ;
27342713 if ( before . includes ( "--discard-changes" ) ) {
0 commit comments