Sorry for big BC. throw away OOP related codes as to improve Maintainability.
almost codes were generated by cli script. so please ignore compile
warnings at this time.
api docs: (see libgit2 api)
Git clone creates a directory named after the project you are cloning. The initial step to change directory assumed we were already in the cloned directory, which would not be the case if you had just run the command above it.