This is the fourth iteration submission of git-multimail to Git. The earlier submissions have all gotten a lot of good feedback, which has mostly been implemented. This submission differs from v3 in the following ways:
* Renames the directory within the Git project from contrib/hooks/git-multimail/ to contrib/hooks/multimail/. The "git-" seems redundant within the Git project [1]. I have no strong feelings either way.
* Includes the latest version of the upstream project. Highlights:
* A change in how git-multimail is configured via Python. I wasn't
happy with the old method; concerns were not separated well
enough. I wanted to get this right before more people start
writing against the internal API. The new version uses mixin
classes, which is a technique that can easily be overdone. But in
this case I was happy with the way that it permitted different
aspects of the configuration to be disentangled quite well. (This
doesn't change how the script is configured externally via "git
config"; that has been stable for quite some time already.) * Fixes a scalability issue for repos with lots of refs that was
pointed out by Ævar Bjarmason. * Allows an arbitrary program to be substituted in place of
/usr/sbin/sendmail when using the SendMailer. * Improvements suggested by Ramkumar Ramachandra's code review
(thanks!).* Various documentation improvements.
* Adds a new file, README.Git, which explains the relationship between the Git and git-multimail projects, and documents the version of the upstream project that corresponds to the code being submitted to the Git project.
* Adds a notice to contrib/hooks/multimail/post-receive deprecating that script and pointing users to git-multimail.
The upstream project also now includes better tests. Though I am not including the tests in the code submitted to the Git project, obviously the code benefits from them.
[1] I also got the feeling that Junio prefers the new directory name,
though there is a good chance that I read more into one of his
emails than he intended.Michael Haggerty (2): git-multimail: an improved replacement for post-receive-email post-receive-email: deprecate script in favor of git-multimail
contrib/hooks/multimail/README | 486 ++++ contrib/hooks/multimail/README.Git | 15 + .../README.migrate-from-post-receive-email | 146 ++ contrib/hooks/multimail/git_multimail.py | 2394 ++++++++++++++++++++ contrib/hooks/multimail/migrate-mailhook-config | 270 +++ contrib/hooks/multimail/post-receive | 90 + contrib/hooks/post-receive-email | 17 +- 7 files changed, 3414 insertions(+), 4 deletions(-) create mode 100644 contrib/hooks/multimail/README create mode 100644 contrib/hooks/multimail/README.Git create mode 100644 contrib/hooks/multimail/README.migrate-from-post-receive-email create mode 100755 contrib/hooks/multimail/git_multimail.py create mode 100755 contrib/hooks/multimail/migrate-mailhook-config create mode 100755 contrib/hooks/multimail/post-receive
-- 1.8.3.2