package Ġmain Ċ Ċ import Ġorg . eclipse . j git . lib . ObjectId Ċ import Ġorg . eclipse . j git . rev walk . Rev Commit Ċ import Ġorg . eclipse . j git . rev walk . Rev Walk Ċ import Ġjava . time . Z onedDateTime Ċ Ċ /** Ċ Ġ* ĠA Ġcommit . Ċ Ġ*/ Ċ data Ġclass ĠCommit ( ĊĊĠĠĠ Ġ/** ĠThe Ġfull Ġhash Ġof Ġthe Ġcommit . Ġ*/ ĊĠĠĠ Ġval Ġid : ĠString , ĊĊĠĠĠ Ġ/** ĠThe Ġabbre vi ated Ġhash Ġof Ġthe Ġcommit . Ġ*/ ĊĠĠĠ Ġval Ġabbre vi ated Id : ĠString , ĊĊĠĠĠ Ġ/** ĠHas hes Ġof Ġany Ġparent Ġcommits . Ġ*/ ĊĠĠĠ Ġval Ġparent Ids : ĠList < String >, ĊĊĠĠĠ Ġ/** ĠThe Ġauthor Ġof Ġthe Ġchanges Ġin Ġthe Ġcommit . Ġ*/ ĊĠĠĠ Ġval Ġauthor : ĠPerson , ĊĊĠĠĠ Ġ/** ĠThe Ġcommit ter Ġof Ġthe Ġchanges Ġin Ġthe Ġcommit . Ġ*/ ĊĠĠĠ Ġval Ġcommit ter : ĠPerson , ĊĊĠĠĠ Ġ/** ĠThe Ġtime Ġthe Ġcommit Ġwas Ġcreated Ġwith Ġthe Ġtime Ġzone Ġof Ġthe Ġcommit ter , Ġif Ġavailable . Ġ*/ ĊĠĠĠ Ġval ĠdateTime : ĠZ onedDateTime , ĊĊĠĠĠ Ġ/** ĠThe Ġfull Ġcommit Ġmessage . Ġ*/ ĊĠĠĠ Ġval Ġfull Message : ĠString , ĊĊĠĠĠ Ġ/** ĠThe Ġshort ened Ġcommit Ġmessage . Ġ*/ ĊĠĠĠ Ġval Ġshort Message : ĠString ) Ġ{ ĊĊĠĠĠ Ġconstructor ( repo : ĠRepo , Ġrev : ĠRev Commit ) Ġ: Ġthis ( ĊĠĠĠĠĠĠĠ Ġid Ġ= ĠObjectId . toString ( rev ), ĊĠĠĠĠĠĠĠ Ġabbre vi ated Id Ġ= Ġrepo . j git . repository . new Object Reader (). use Ġ{ Ġit . abbre vi ate ( rev ). name () Ġ}, ĊĠĠĠĠĠĠĠ Ġcommit ter Ġ= ĠPerson ( rev . commit ter Ident ), ĊĠĠĠĠĠĠĠ Ġauthor Ġ= ĠPerson ( rev . author Ident ), ĊĠĠĠĠĠĠĠ ĠdateTime Ġ= Ġrev . dateTime , ĊĠĠĠĠĠĠĠ Ġparent Ids Ġ= Ġrev . parents . map Ġ{ ĠObjectId . toString ( it ) Ġ}, ĊĠĠĠĠĠĠĠ Ġfull Message Ġ= Ġrev . full Message , ĊĠĠĠĠĠĠĠ Ġshort Message Ġ= Ġrev . short Message ) ĊĊĠĠĠ Ġdata Ġclass ĠDiff ( ĊĠĠĠĠĠĠĠ Ġval Ġcommit : ĠCommit ?, ĊĠĠĠĠĠĠĠ Ġval Ġadded : ĠSet < String > Ġ= Ġempty Set (), ĊĠĠĠĠĠĠĠ Ġval Ġcopied : ĠSet < String > Ġ= Ġempty Set (), ĊĠĠĠĠĠĠĠ Ġval Ġmodified : ĠSet < String > Ġ= Ġempty Set (), ĊĠĠĠĠĠĠĠ Ġval Ġremoved : ĠSet < String > Ġ= Ġempty Set (), ĊĠĠĠĠĠĠĠ Ġval Ġrenamed : ĠSet < String > Ġ= Ġempty Set (), ĊĠĠĠĠĠĠĠ Ġval Ġre nam ings : ĠMap < String , ĠString > Ġ= Ġempty Map ()) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ/** ĠGets Ġall Ġchanged Ġfiles . Ġ*/ ĊĠĠĠĠĠĠĠ Ġval Ġall Changes : ĠSet < String > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= Ġadded Ġ+ Ġcopied Ġ+ Ġmodified Ġ+ Ġremoved Ġ+ Ġrenamed ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠChecks Ġif Ġthis Ġis Ġan Ġancestor Ġof Ġ{@ code Ġtip }. ĊĠĠĠĠ Ġ* Ġ@ param Ġrepo Ġthe Ġrepository Ġto Ġlook Ġin ĊĠĠĠĠ Ġ* Ġ@ param Ġtip Ġthe Ġtip Ġversion ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġis Ancestor Of ( tip : ĠCommit , Ġrepo : ĠRepo ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġj git Ġ= Ġrepo . j git . repository ĊĠĠĠĠĠĠĠ Ġval Ġrev Walk Ġ= ĠRev Walk ( j git ) ĊĠĠĠĠĠĠĠ Ġval Ġbase Commit Ġ= Ġrev Walk . lookup Commit ( j git . resolve ( id )) ĊĠĠĠĠĠĠĠ Ġval Ġtip Commit Ġ= Ġrev Walk . lookup Commit ( j git . resolve ( tip . id )) ĊĠĠĠĠĠĠĠ Ġreturn Ġrev Walk . is Merged Into ( base Commit , Ġtip Commit ) ĊĠĠĠ Ġ} Ċ }