// ĠCopyright Ġ 2 0 0 0 - 2 0 1 9 ĠJetBrains Ġs . r . o . ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense Ġthat Ġcan Ġbe Ġfound Ġin Ġthe ĠLICENSE Ġfile . Ċ package Ġgit 4 idea . branch Ċ Ċ import Ġgit 4 idea . config . Git Version Ċ import Ġgit 4 idea . config . Git Version Special ty Ċ import Ġgit 4 idea . re base . Git Re base Editor Handler Ċ Ċ class ĠGit Re base Params Ġprivate Ġconstructor ( private Ġval Ġversion : ĠGit Version , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbranch : ĠString ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnew Base : ĠString ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġupstream : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġinteractive : ĠBoolean , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġpreserve Merge s : ĠBoolean , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġauto S qu ash : ĠAuto S qu ash Option , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġeditor Handler : ĠGit Re base Editor Handler ? Ġ= Ġnull ) Ġ{ ĊĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠ Ġfun Ġedit Commits ( version : ĠGit Version , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbase : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġeditor Handler : ĠGit Re base Editor Handler ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpreserve Merge s : ĠBoolean , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġauto S qu ash : ĠAuto S qu ash Option Ġ= ĠAuto S qu ash Option . DEFAULT ): ĠGit Re base Params Ġ= ĊĠĠĠĠĠ ĠGit Re base Params ( version , Ġnull , Ġnull , Ġbase , Ġtrue , Ġpreserve Merge s , Ġauto S qu ash , Ġeditor Handler ) ĊĠ Ġ} ĊĊĠ Ġenum Ġclass ĠAuto S qu ash Option Ġ{ ĊĠĠĠ ĠDEFAULT , ĊĠĠĠ ĠENABLE , ĊĠĠĠ ĠDISABLE ĊĠ Ġ} ĊĊĠ Ġval Ġbranch : ĠString ? Ġ= Ġbranch ?. take If Ġ{ Ġit . isNotBlank () Ġ} ĊĠ Ġval Ġnew Base : ĠString ? Ġ= Ġnew Base ?. take If Ġ{ Ġit . isNotBlank () Ġ} ĊĊĠ Ġconstructor ( version : ĠGit Version , Ġupstream : ĠString ) Ġ: Ġthis ( version , Ġnull , Ġnull , Ġupstream , Ġfalse , Ġfalse ) ĊĊĠ Ġconstructor ( version : ĠGit Version , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbranch : ĠString ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnew Base : ĠString ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupstream : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinteractive : ĠBoolean , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpreserve Merge s : ĠBoolean ) Ġ: Ġthis ( version , Ġbranch , Ġnew Base , Ġupstream , Ġinteractive , Ġpreserve Merge s , ĠAuto S qu ash Option . DEFAULT ) ĊĊĠ Ġfun Ġas CommandLine Arguments (): ĠList < String > Ġ= Ġmutable ListOf < String >(). apply Ġ{ ĊĠĠĠ Ġif Ġ( interactive ) Ġ{ ĊĠĠĠĠĠ Ġadd ("-- interactive ") ĊĠĠĠ Ġ} ĊĠĠĠ Ġif Ġ( preserve Merge s ) Ġ{ ĊĠĠĠĠĠ Ġif Ġ( Git Version Special ty . RE BASE _ MER GES _ REPL ACES _ PRE SER VE _ MER GES . exists In ( version )) Ġ{ ĊĠĠĠĠĠĠĠ Ġadd ("-- re base - mer ges ") ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġadd ("-- preserve - mer ges ") ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġwhen Ġ( auto S qu ash ) Ġ{ ĊĠĠĠĠĠ ĠAuto S qu ash Option . DEFAULT Ġ-> Ġ{ ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ ĠAuto S qu ash Option . ENABLE Ġ-> Ġadd ("-- autos qu ash ") ĊĠĠĠĠĠ ĠAuto S qu ash Option . DISABLE Ġ-> Ġadd ("-- no - autos qu ash ") ĊĠĠĠ Ġ} ĊĠĠĠ Ġif Ġ( new Base Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠ Ġadd All ( listOf ("-- onto ", Ġnew Base )) ĊĠĠĠ Ġ} ĊĠĠĠ Ġadd ( upstream ) ĊĠĠĠ Ġif Ġ( branch Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠ Ġadd ( branch ) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġfun Ġis Interactive (): ĠBoolean Ġ= Ġinteractive ĊĊĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ= Ġas CommandLine Arguments (). join ToString (" Ġ") Ċ }