26 using Map = std::map<std::string, std::map<std::string, unsigned int>>;
28 using InsertUser = std::function<bool (
const std::string &email)>;
30 using InsertUFMap = std::function<bool (
const std::string &email,
31 const std::filesystem::path &file,
unsigned gitFixes,
unsigned realFixes)>;
40 repo(&repo), dumpRefs(dumpRefs), reportUnhandled(reportUnhandled)
53 PatchesAuthors() : repo(nullptr), dumpRefs(false), reportUnhandled(false) {}
54 friend void testProcessPatch();
56 int processPatch(
const std::filesystem::path &file,
const std::string &content);
60 const bool reportUnhandled;
Commit is a representation of a git commit.
Definition Commit.h:21
The most important Git class.
Definition Repo.h:45
std::map< std::string, std::map< std::string, unsigned int > > Map
E-mail -> file -> count mapping.
Definition PatchesAuthors.h:26
std::function< bool(const std::string &email)> InsertUser
A callback invoked for e-mail.
Definition PatchesAuthors.h:28
PatchesAuthors(const SlGit::Repo &repo, bool dumpRefs, bool reportUnhandled)
PatchesAuthors constructor.
Definition PatchesAuthors.h:39
bool processAuthors(const SlGit::Commit &commit, const InsertUser &insertUser, const InsertUFMap &insertUFMap)
The real work function of this class.
std::function< bool(const std::string &email, const std::filesystem::path &file, unsigned gitFixes, unsigned realFixes)> InsertUFMap
A callback invoked for e-mail, file, and counts of git-fixes and real changes.
Definition PatchesAuthors.h:30