Improve the use of std::shared_ptr in GitRepository::diff
Improve implementation of GitRepository::projectName