* Replace map[string]string with []CommitInfo in FindCommitterMismatchOutput
* Merge remote-tracking branch 'origin/main' into dd/pre-preceive-preprocessor
* Merge remote-tracking branch 'origin/main' into dd/pre-preceive-preprocessor
* Add total to FindCommitterMismatchOutput
* Reuse changedRefs for only deleted branches on push check
* Merge remote-tracking branch 'origin/main' into dd/pre-preceive-preprocessor
* Fix typo commiter -> committer
* Rename listAllObjects in listGitObjDir and loop thru dirs outside listGitObjDir
* Use line with commiter prefix to find commiter email
* Merge remote-tracking branch 'origin/main' into dd/pre-preceive-preprocessor
* Merge remote-tracking branch 'origin/main' into dd/pre-preceive-preprocessor
* Rename vars and add total to findOversizeFiles
* Use CatFileBatch instead of git show info to find commiter emails and remove unused CatFileBatchCheck
* Use WithAlternateObjectDirs in findCommiterEmailsMismatch
* Merge remote-tracking branch 'origin/mai
* Move output error init and error print outside of refupdates loop
* Merge remote-tracking branch 'origin/main' into dd/git-commiter
* Merge remote-tracking branch 'origin/main' into dd/git-commiter
* Merge remote-tracking branch 'origin/main' into dd/git-commiter
* Return commit sha email map and print user commiter mismatches
* Merge remote-tracking branch 'origin/main' into dd/git-commiter
* Move user commiter match check into separate func/file and add user_commiter_match setting
* Address empty repo push case
* Add GetBranchCommiterEmails func
* Add alt obj dirs to git GetCommit and getCommit
* Block any push that contains commits not committed by the user