package Ġuk . co . lit t lem ike . g ish graph . dd ag . git Ċ Ċ import Ġorg . eclipse . j git . api . Git Ċ import Ġorg . eclipse . j git . rev walk . Rev Commit Ċ import Ġorg . eclipse . j git . rev walk . Rev Walk Ċ import Ġuk . co . lit t lem ike . g ish graph . extensions . use Ċ import Ġjava . nio . file . Path Ċ Ċ class ĠGit Repository ( val Ġworking Directory : ĠPath ) Ġ{ ĊĠĠĠ Ġval Ġgit Ġ: ĠGit Ġ= ĠGit . init (). set Directory ( working Directory . to File ()). call () ĊĊĠĠĠ Ġfun Ġis Clean () Ġ= Ġgit . status (). call (). is Clean ĊĊĠĠĠ Ġfun Ġas Remote ( id : ĠString ) Ġ= Ġworking Directory . remote ( id ) ĊĊĠĠĠ Ġfun Ġref Exists ( ref Name : ĠString ) Ġ= Ġgit . repository . find Ref ( ref Name ) Ġ!= Ġnull ĊĊĠĠĠ Ġfun Ġfind Commit ( ref Name : ĠString ): ĠRev Commit ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcommit Id Ġ= Ġgit . repository . find Ref ( ref Name )?. leaf ?. objectId Ġ?: Ġreturn Ġnull ĊĠĠĠĠĠĠĠ ĠRev Walk ( git . repository ). use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġit . parse Commit ( commit Id ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ