{"thread":{"id":"34431","subject":"[PATCH v4 0/2] git-multimail: a replacement for post-receive-email","startedAt":"2013-07-14T08:09:01Z","lastAt":"2013-07-23T04:20:12Z","messageCount":8,"participants":["Michael Haggerty","Jonathan Nieder","Matthieu Moy","Junio C Hamano"],"isPatch":true,"patchVersion":4,"patchTotal":2},"messages":[{"id":"223271","messageId":"1373789343-3189-1-git-send-email-mhagger@alum.mit.edu","threadId":"34431","inReplyTo":null,"subject":"[PATCH v4 0/2] git-multimail: a replacement for post-receive-email","fromName":"Michael Haggerty","fromEmail":"mhagger@alum.mit.edu","sentAt":"2013-07-14T08:09:01Z","receivedAt":"2013-07-14T08:09:01Z","isPatch":true,"sender":{"key":"mhagger@alum.mit.edu","avatar":"https://avatars.githubusercontent.com/u/119718?v=4"},"body":"This is the fourth iteration submission of git-multimail to Git.  The\nearlier submissions have all gotten a lot of good feedback, which has\nmostly been implemented.  This submission differs from v3 in the\nfollowing ways:\n\n* Renames the directory within the Git project from\n  contrib/hooks/git-multimail/ to contrib/hooks/multimail/.  The\n  \"git-\" seems redundant within the Git project [1].  I have no strong\n  feelings either way.\n\n* Includes the latest version of the upstream project.  Highlights:\n\n  * A change in how git-multimail is configured via Python.  I wasn't\n    happy with the old method; concerns were not separated well\n    enough.  I wanted to get this right before more people start\n    writing against the internal API.  The new version uses mixin\n    classes, which is a technique that can easily be overdone.  But in\n    this case I was happy with the way that it permitted different\n    aspects of the configuration to be disentangled quite well.  (This\n    doesn't change how the script is configured externally via \"git\n    config\"; that has been stable for quite some time already.)\n\n  * Fixes a scalability issue for repos with lots of refs that was\n    pointed out by Ævar Bjarmason.\n\n  * Allows an arbitrary program to be substituted in place of\n    /usr/sbin/sendmail when using the SendMailer.\n\n  * Improvements suggested by Ramkumar Ramachandra's code review\n    (thanks!).\n\n  * Various documentation improvements.\n\n* Adds a new file, README.Git, which explains the relationship between\n  the Git and git-multimail projects, and documents the version of the\n  upstream project that corresponds to the code being submitted to the\n  Git project.\n\n* Adds a notice to contrib/hooks/multimail/post-receive deprecating\n  that script and pointing users to git-multimail.\n\nThe upstream project also now includes better tests.  Though I am not\nincluding the tests in the code submitted to the Git project,\nobviously the code benefits from them.\n\n[1] I also got the feeling that Junio prefers the new directory name,\n    though there is a good chance that I read more into one of his\n    emails than he intended.\n\nMichael Haggerty (2):\n  git-multimail: an improved replacement for post-receive-email\n  post-receive-email: deprecate script in favor of git-multimail\n\n contrib/hooks/multimail/README                     |  486 ++++\n contrib/hooks/multimail/README.Git                 |   15 +\n .../README.migrate-from-post-receive-email         |  146 ++\n contrib/hooks/multimail/git_multimail.py           | 2394 ++++++++++++++++++++\n contrib/hooks/multimail/migrate-mailhook-config    |  270 +++\n contrib/hooks/multimail/post-receive               |   90 +\n contrib/hooks/post-receive-email                   |   17 +-\n 7 files changed, 3414 insertions(+), 4 deletions(-)\n create mode 100644 contrib/hooks/multimail/README\n create mode 100644 contrib/hooks/multimail/README.Git\n create mode 100644 contrib/hooks/multimail/README.migrate-from-post-receive-email\n create mode 100755 contrib/hooks/multimail/git_multimail.py\n create mode 100755 contrib/hooks/multimail/migrate-mailhook-config\n create mode 100755 contrib/hooks/multimail/post-receive\n\n-- \n1.8.3.2\n"},{"id":"223272","messageId":"1373789343-3189-3-git-send-email-mhagger@alum.mit.edu","threadId":"34431","inReplyTo":"1373789343-3189-1-git-send-email-mhagger@alum.mit.edu","subject":"[PATCH v4 2/2] post-receive-email: deprecate script in favor of git-multimail","fromName":"Michael Haggerty","fromEmail":"mhagger@alum.mit.edu","sentAt":"2013-07-14T08:09:03Z","receivedAt":"2013-07-14T08:09:03Z","isPatch":true,"sender":{"key":"mhagger@alum.mit.edu","avatar":"https://avatars.githubusercontent.com/u/119718?v=4"},"body":"Add a notice to the top of post-receive-email explaining that the\nscript is no longer under active development and pointing the user to\ngit-multimail.\n\nSigned-off-by: Michael Haggerty <mhagger@alum.mit.edu>\n---\nIf you think this is premature or the wording is too strong; feel free\nto change or omit this patch.  I think it's fine, but then I might be\nbiased...\n\n contrib/hooks/post-receive-email | 17 +++++++++++++----\n 1 file changed, 13 insertions(+), 4 deletions(-)\n\ndiff --git a/contrib/hooks/post-receive-email b/contrib/hooks/post-receive-email\nindex 0e5b72d..23d7783 100755\n--- a/contrib/hooks/post-receive-email\n+++ b/contrib/hooks/post-receive-email\n@@ -2,10 +2,19 @@\n #\n # Copyright (c) 2007 Andy Parkins\n #\n-# An example hook script to mail out commit update information.  This hook\n-# sends emails listing new revisions to the repository introduced by the\n-# change being reported.  The rule is that (for branch updates) each commit\n-# will appear on one email and one email only.\n+# An example hook script to mail out commit update information.\n+#\n+# ***NOTICE***: This script is no longer under active development.  It\n+# has been superseded by git-multimail, which is more capable and\n+# configurable and is largely backwards-compatible with this script;\n+# please see \"contrib/hooks/multimail/\".  For instructions on how to\n+# migrate from post-receive-email to git-multimail, please see\n+# \"README.migrate-from-post-receive-email\" in that directory.\n+#\n+# This hook sends emails listing new revisions to the repository\n+# introduced by the change being reported.  The rule is that (for\n+# branch updates) each commit will appear on one email and one email\n+# only.\n #\n # This hook is stored in the contrib/hooks directory.  Your distribution\n # will have put this somewhere standard.  You should make this script\n-- \n1.8.3.2\n"},{"id":"223380","messageId":"20130715054734.GC2962@elie.Belkin","threadId":"34431","inReplyTo":"1373789343-3189-2-git-send-email-mhagger@alum.mit.edu","subject":"Re: [PATCH v4 1/2] git-multimail: an improved replacement for post-receive-email","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2013-07-15T05:47:34Z","receivedAt":"2013-07-15T05:47:34Z","isPatch":true,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Michael Haggerty wrote:\n\n> Add git-multimail, a tool for generating notification emails for\n> pushes to a Git repository.  It is largely plug-in compatible with\n> post-receive-email, and is proposed to eventually replace that script.\n> The advantages of git-multimail relative to post-receive-email are\n> described in README.migrate-from-post-receive-email.\n\nYay!\n\n>  contrib/hooks/multimail/README                     |  486 ++++\n>  contrib/hooks/multimail/README.Git                 |   15 +\n>  .../README.migrate-from-post-receive-email         |  146 ++\n>  contrib/hooks/multimail/git_multimail.py           | 2394 ++++++++++++++++++++\n>  contrib/hooks/multimail/migrate-mailhook-config    |  270 +++\n>  contrib/hooks/multimail/post-receive               |   90 +\n>  6 files changed, 3401 insertions(+)\n>  create mode 100644 contrib/hooks/multimail/README\n>  create mode 100644 contrib/hooks/multimail/README.Git\n>  create mode 100644 contrib/hooks/multimail/README.migrate-from-post-receive-email\n>  create mode 100755 contrib/hooks/multimail/git_multimail.py\n>  create mode 100755 contrib/hooks/multimail/migrate-mailhook-config\n>  create mode 100755 contrib/hooks/multimail/post-receive\n\nI wouldn't be surprised if it is possible to improve this in some\nway or other, but where as usual \"Reviewed-by\" means \"If I were\nmaintainer I would commit and push it out and as a non maintainer\nI vouch for its suitability\",\n\nReviewed-by: Jonathan Nieder <jrnieder@gmail.com>\n\nThe patch integrates it into the git tree sanely and further\nrefinements can safely come on top.  Thanks for your hard work.\n"},{"id":"223381","messageId":"20130715060245.GD2962@elie.Belkin","threadId":"34431","inReplyTo":"1373789343-3189-3-git-send-email-mhagger@alum.mit.edu","subject":"Re: [PATCH v4 2/2] post-receive-email: deprecate script in favor of git-multimail","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2013-07-15T06:02:45Z","receivedAt":"2013-07-15T06:02:45Z","isPatch":true,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Michael Haggerty wrote:\n\n> Add a notice to the top of post-receive-email explaining that the\n> script is no longer under active development and pointing the user to\n> git-multimail.\n\nI think the spirit of this patch is sane.  Some thoughts on wording:\n\n[...]\n> --- a/contrib/hooks/post-receive-email\n> +++ b/contrib/hooks/post-receive-email\n> @@ -2,10 +2,19 @@\n>  #\n>  # Copyright (c) 2007 Andy Parkins\n>  #\n> -# An example hook script to mail out commit update information.  This hook\n> -# sends emails listing new revisions to the repository introduced by the\n> -# change being reported.  The rule is that (for branch updates) each commit\n> -# will appear on one email and one email only.\n> +# An example hook script to mail out commit update information.\n> +#\n> +# ***NOTICE***: This script is no longer under active development.  It\n> +# has been superseded by git-multimail, which is more capable and\n> +# configurable and is largely backwards-compatible with this script;\n> +# please see \"contrib/hooks/multimail/\".  For instructions on how to\n> +# migrate from post-receive-email to git-multimail, please see\n> +# \"README.migrate-from-post-receive-email\" in that directory.\n\nI think I'd say something like\n\n(1)\n\t# An example hook script to mail out commit update information.\n\t#\n\t# This script is kept for compatibility, but it is no longer actively\n\t# maintained.  Consider switching to git-multimail, which is more\n\t# configurable and largely compatible with this script.  See\n\t# contrib/hooks/multimail/README.migrate-from-post-receive.\n\t#\n\t# This hook sends emails listing new revisions ...\n\nor, if I wanted to emphasize the warning,\n\n(2)\n\t# An example hook ...\n\t#\n\t# Warning: this script is kept for compatibility, but it is no longer\n\t# actively maintained.  Consider switching to ...\n\nor, if I wanted to avoid seeming to promise that the script will be\naround in the future,\n\n(3)\n\t# An example hook ...\n\t#\n\t# Warning: this script is no longer actively maintained.  Consider\n\t# switching to ...\n\nI prefer (2), which makes it clear to the reader that it is dangerous\nto keep using the script (since no one is actively chasing down bugs)\nwhile also making it clear why a potentially buggy script with a good\nnatural successor is still in contrib for now.  What do you think?\n\nThanks,\nJonathan\n"},{"id":"223397","messageId":"51E3B006.5010503@alum.mit.edu","threadId":"34431","inReplyTo":"20130715060245.GD2962@elie.Belkin","subject":"Re: [PATCH v4 2/2] post-receive-email: deprecate script in favor of git-multimail","fromName":"Michael Haggerty","fromEmail":"mhagger@alum.mit.edu","sentAt":"2013-07-15T08:17:10Z","receivedAt":"2013-07-15T08:17:10Z","isPatch":true,"sender":{"key":"mhagger@alum.mit.edu","avatar":"https://avatars.githubusercontent.com/u/119718?v=4"},"body":"On 07/15/2013 08:02 AM, Jonathan Nieder wrote:\n> Michael Haggerty wrote:\n> \n>> Add a notice to the top of post-receive-email explaining that the\n>> script is no longer under active development and pointing the user to\n>> git-multimail.\n> \n> I think the spirit of this patch is sane.  Some thoughts on wording:\n> \n> [...]\n>> --- a/contrib/hooks/post-receive-email\n>> +++ b/contrib/hooks/post-receive-email\n>> @@ -2,10 +2,19 @@\n>>  #\n>>  # Copyright (c) 2007 Andy Parkins\n>>  #\n>> -# An example hook script to mail out commit update information.  This hook\n>> -# sends emails listing new revisions to the repository introduced by the\n>> -# change being reported.  The rule is that (for branch updates) each commit\n>> -# will appear on one email and one email only.\n>> +# An example hook script to mail out commit update information.\n>> +#\n>> +# ***NOTICE***: This script is no longer under active development.  It\n>> +# has been superseded by git-multimail, which is more capable and\n>> +# configurable and is largely backwards-compatible with this script;\n>> +# please see \"contrib/hooks/multimail/\".  For instructions on how to\n>> +# migrate from post-receive-email to git-multimail, please see\n>> +# \"README.migrate-from-post-receive-email\" in that directory.\n> \n> I think I'd say something like\n> \n> (1)\n> \t# An example hook script to mail out commit update information.\n> \t#\n> \t# This script is kept for compatibility, but it is no longer actively\n> \t# maintained.  Consider switching to git-multimail, which is more\n> \t# configurable and largely compatible with this script.  See\n> \t# contrib/hooks/multimail/README.migrate-from-post-receive.\n> \t#\n> \t# This hook sends emails listing new revisions ...\n> \n> or, if I wanted to emphasize the warning,\n> \n> (2)\n> \t# An example hook ...\n> \t#\n> \t# Warning: this script is kept for compatibility, but it is no longer\n> \t# actively maintained.  Consider switching to ...\n> \n> or, if I wanted to avoid seeming to promise that the script will be\n> around in the future,\n> \n> (3)\n> \t# An example hook ...\n> \t#\n> \t# Warning: this script is no longer actively maintained.  Consider\n> \t# switching to ...\n> \n> I prefer (2), which makes it clear to the reader that it is dangerous\n> to keep using the script (since no one is actively chasing down bugs)\n> while also making it clear why a potentially buggy script with a good\n> natural successor is still in contrib for now.  What do you think?\n\nHonestly, as the main author of git-multimail, I am biased and think it\nwould be better for other people to make the decision about if/how/when\nto annotate post-receive-email.  Any of your suggestions are fine with me.\n\nMichael\n\n-- \nMichael Haggerty\nmhagger@alum.mit.edu\nhttp://softwareswirl.blogspot.com/\n"},{"id":"223398","messageId":"vpqoba4gr9h.fsf@anie.imag.fr","threadId":"34431","inReplyTo":"20130715060245.GD2962@elie.Belkin","subject":"Re: [PATCH v4 2/2] post-receive-email: deprecate script in favor of git-multimail","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@grenoble-inp.fr","sentAt":"2013-07-15T08:29:46Z","receivedAt":"2013-07-15T08:29:46Z","isPatch":true,"sender":{"key":"matthieu.moy@grenoble-inp.fr","avatar":"https://gravatar.com/avatar/72c8a2705971a25dfaff23cece15130d405685845d911aedd5667ace277f3fc5?d=mp&s=160"},"body":"Jonathan Nieder <jrnieder@gmail.com> writes:\n\n> (3)\n> \t# An example hook ...\n> \t#\n> \t# Warning: this script is no longer actively maintained.  Consider\n> \t# switching to ...\n>\n> I prefer (2), which makes it clear to the reader that it is dangerous\n> to keep using the script (since no one is actively chasing down bugs)\n> while also making it clear why a potentially buggy script with a good\n> natural successor is still in contrib for now.  What do you think?\n\nI don't think it is dangerous to keep using the old script. If you look\nat its history, it's pretty stable these day. I think it has known bugs\nin new revision detections that are fixed by git-multimail, but nothing\nreally blocking IMHO.\n\nThere are two good reasons to use it: 1) you already use it, and you're\ntoo lazy to change (e.g. because it's packaged by Debian and is already\nthere on your server), and 2) you don't have Python on your server.\n\nI think the notice still deserve the \"***NOTICE***\" or whatever makes it\nvisible enough to distinguish it from the traditional licence &\nnon-warranty header, but I don't think we should kill the old script too\nearly.\n\n-- \nMatthieu Moy\nhttp://www-verimag.imag.fr/~moy/\n"},{"id":"223429","messageId":"7vip0cdju9.fsf@alter.siamese.dyndns.org","threadId":"34431","inReplyTo":"vpqoba4gr9h.fsf@anie.imag.fr","subject":"Re: [PATCH v4 2/2] post-receive-email: deprecate script in favor of git-multimail","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2013-07-15T13:38:22Z","receivedAt":"2013-07-15T13:38:22Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Matthieu Moy <Matthieu.Moy@grenoble-inp.fr> writes:\n\n> Jonathan Nieder <jrnieder@gmail.com> writes:\n>\n>> (3)\n>> \t# An example hook ...\n>> \t#\n>> \t# Warning: this script is no longer actively maintained.  Consider\n>> \t# switching to ...\n>>\n>> I prefer (2), which makes it clear to the reader that it is dangerous\n>> to keep using the script (since no one is actively chasing down bugs)\n>> while also making it clear why a potentially buggy script with a good\n>> natural successor is still in contrib for now.  What do you think?\n>\n> I don't think it is dangerous to keep using the old script. If you look\n> at its history, it's pretty stable these day. I think it has known bugs\n> in new revision detections that are fixed by git-multimail, but nothing\n> really blocking IMHO.\n>\n> There are two good reasons to use it: 1) you already use it, and you're\n> too lazy to change (e.g. because it's packaged by Debian and is already\n> there on your server), and 2) you don't have Python on your server.\n\nWell said.\n\n> I think the notice still deserve the \"***NOTICE***\" or whatever makes it\n> visible enough to distinguish it from the traditional licence &\n> non-warranty header, but I don't think we should kill the old script too\n> early.\n\nTrue.  I personally felt that Jonathan's (1) read the most natural\n(i.e. showing no strong preference, just let the users decide).\n"},{"id":"223963","messageId":"7vtxjl9abn.fsf@alter.siamese.dyndns.org","threadId":"34431","inReplyTo":"7vip0cdju9.fsf@alter.siamese.dyndns.org","subject":"Re: [PATCH v4 2/2] post-receive-email: deprecate script in favor of git-multimail","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2013-07-23T04:20:12Z","receivedAt":"2013-07-23T04:20:12Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Junio C Hamano <gitster@pobox.com> writes:\n\n>> I think the notice still deserve the \"***NOTICE***\" or whatever makes it\n>> visible enough to distinguish it from the traditional licence &\n>> non-warranty header, but I don't think we should kill the old script too\n>> early.\n>\n> True.  I personally felt that Jonathan's (1) read the most natural\n> (i.e. showing no strong preference, just let the users decide).\n\nWe need a decider to push this forward, so let's squash this in to\ntone it down and then merge the result to 'next' (and then 'master'\nby -rc1).\n\n contrib/hooks/post-receive-email | 4 ++--\n 1 file changed, 2 insertions(+), 2 deletions(-)\n\ndiff --git a/contrib/hooks/post-receive-email b/contrib/hooks/post-receive-email\nindex 23d7783..1531150 100755\n--- a/contrib/hooks/post-receive-email\n+++ b/contrib/hooks/post-receive-email\n@@ -4,8 +4,8 @@\n #\n # An example hook script to mail out commit update information.\n #\n-# ***NOTICE***: This script is no longer under active development.  It\n-# has been superseded by git-multimail, which is more capable and\n+# NOTE: This script is no longer under active development.  There\n+# is another script, git-multimail, which is more capable and\n # configurable and is largely backwards-compatible with this script;\n # please see \"contrib/hooks/multimail/\".  For instructions on how to\n # migrate from post-receive-email to git-multimail, please see\n"}]}