{"push_id":674372055,"size":21,"distinct_size":21,"ref":"refs/heads/master","head":"1990f5893bebd6ee1ddb2aecd5c29598b7a1f909","before":"55741d3db8cfd03ea0e3cf0af3760be020616fcb","commits":[{"sha":"c82eb14447aa52c4d4fcb587df74bfed6c4390e5","author":{"email":"6b3799be4300e44489a08090123f3842e6419da5@mewburn.net","name":"Luke Mewburn"},"message":"filter-noise: don't require sed -E\n\nImprove portability of filter-noise and remove reliance upon sed -E.\n(sed 4.1 on CentOS 5 doesn't support -E)\nThe regexes are trivial to convert from ERE to BRE.\n\nSigned-off-by: Luke Mewburn <luke@mewburn.net>","distinct":true,"url":"https://api.github.com/repos/richardhansen/git-multimail/commits/c82eb14447aa52c4d4fcb587df74bfed6c4390e5"},{"sha":"98586b344883e5c70b48cd6dcfaf9171ce753408","author":{"email":"6b3799be4300e44489a08090123f3842e6419da5@mewburn.net","name":"Luke Mewburn"},"message":"test-env: support python 2.4\n\n* Fall back to email.Utils for format_addr (as git_multimail.py does)\n* Remove unused import of contextlib (not available)\n* Use subprocess.call() and assertEquals() instead of subprocess.check_call()\n\nSigned-off-by: Luke Mewburn <luke@mewburn.net>","distinct":true,"url":"https://api.github.com/repos/richardhansen/git-multimail/commits/98586b344883e5c70b48cd6dcfaf9171ce753408"},{"sha":"a13c3c9a169727dea8bcb9c9a5c289732b4f4ca3","author":{"email":"77397652b38ec60b50e56236b813774ce842bcdf@gmail.com","name":"Sebastian Schuberth"},"message":"Fall back to USERNAME if USER is not set\n\nWindows sets USERNAME instead of USER. This fixes issue #61.\n\nSigned-off-by: Sebastian Schuberth <sschuberth@gmail.com>","distinct":true,"url":"https://api.github.com/repos/richardhansen/git-multimail/commits/a13c3c9a169727dea8bcb9c9a5c289732b4f4ca3"},{"sha":"186d4a9ed61b66f8741f8dfe7c908650c202e815","author":{"email":"d4d2cc2a6ec7b2aa587d4887cc5ed200f9b685a1@imag.fr","name":"Matthieu Moy"},"message":"Merge pull request #81 from sschuberth/master\n\nFall back to USERNAME if USER is not set","distinct":true,"url":"https://api.github.com/repos/richardhansen/git-multimail/commits/186d4a9ed61b66f8741f8dfe7c908650c202e815"},{"sha":"0216c39a52f3c50b3835e336d64dd80872eda187","author":{"email":"d4d2cc2a6ec7b2aa587d4887cc5ed200f9b685a1@imag.fr","name":"Matthieu Moy"},"message":"Fix 'Push' object has no attribute 'environment' exception\n\nFixes #76.\n\nThis patch does the same as PR #79 by edward-dauvergne which lacks a\nSigned-off-by. I'm redoing the commit myself because it is needed to let\nthe testsuite pass. The fix is trivial even without looking at PR #79\nsince 'environment' is accessed a few lines below with\n'change.environment'.\n\nSigned-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>","distinct":true,"url":"https://api.github.com/repos/richardhansen/git-multimail/commits/0216c39a52f3c50b3835e336d64dd80872eda187"},{"sha":"d76e7be523ddf734d46aa422c28c24b0fa1bd0d8","author":{"email":"955405675e5ddb1a110d200661c528aa223ef60f@palantir.com","name":"Elijah Newren"},"message":"Emit single pushed commit as just a single email\n\nNo need to send both a refchanged email and commit email.\n\nIn the sadly-all-too-frequent usecase of people pushing only one of their\ncommits at a time to a repository, users feel the reference change summary\nemails are noise rather than important signal.  This is because there is a\nreference change summary email for each new commit, and all these\nsummaries do is point out that there is one new commit -- something that\nis obvious from the existence of the individual revision email that is\nalso sent.  In such cases, users prefer there to be no push summary email.\n\nSome examples where this is particularly important:\n\n    Sadly, gerrit's review mechanism essentially enforces a workflow where\n    every commit is submitted individually (things can be directly pushed\n    if permissions are set up to allow it, but those pushes bypass the\n    code review mechanisms).  Users can push several commits at once for\n    review, but each commit is reviewed and submitted individually, and it\n    is upon submit that gerrit merges the commit onto the real branch.\n    This serialization means that gerrit's equivalent to the post-receive\n    hook (named ref-updated) gets fired off for just a single new commit\n    (well, two commits if you count the implicit merge commit created by\n    gerrit, but users find emails about the implicit gerrit merge commits\n    to be noise as well).\n\n    Lots of people haven't weaned themselves from a cvs- or svn-like\n    workflow may also push each commit individually.  For people who\n    predominantly only push a single new commit, the push summary emails\n    are just noise.\n\nHowever, even in repositories where 98% of uses are one of the above,\nthere are still other folks that might sometimes do large merges between\nbranches, or push several commits at once, or potentially force update\nsome branches.  In all of these cases, the reference summary emails are\nvery useful and we still want them to be sent, so we do not want to just\nturn off the reference summary emails on a repo-by-repo basis.  We instead\nwant to have them turned off just for the particular pushes for which\nusers deem them to be noise.\n\nEventually, the email to be sent will be a combined commit. Currently, we\njust send the revision email and skip the summary email.\n\nHelped-by: Michael Haggerty <mhagger@alum.mit.edu>\nSigned-off-by: Elijah Newren <newren@palantir.com>","distinct":true,"url":"https://api.github.com/repos/richardhansen/git-multimail/commits/d76e7be523ddf734d46aa422c28c24b0fa1bd0d8"},{"sha":"67276408aece52c31fa73f11127074638e8ecb4c","author":{"email":"955405675e5ddb1a110d200661c528aa223ef60f@gmail.com","name":"Elijah Newren"},"message":"ReferenceChange: Control template selection by class variables\n\nStore the selection of header, intro, and footer templates in variables,\nso that we can override the choice in the case where we want to send a\ncombined refchange/revision email.\n\nSigned-off-by: Elijah Newren <newren@gmail.com>","distinct":true,"url":"https://api.github.com/repos/richardhansen/git-multimail/commits/67276408aece52c31fa73f11127074638e8ecb4c"},{"sha":"2e1a4589cc4a18a9a574b2283300636ae41a71c7","author":{"email":"955405675e5ddb1a110d200661c528aa223ef60f@gmail.com","name":"Elijah Newren"},"message":"Add templates for combined refchange/revision emails\n\nThis adds subject, header, intro, and footer templates which can be used\nfor combined emails.  The actual email body, for now, is simply the\nstandard ReferenceChange email body; this will be corrected in a subsequent\ncommit.\n\nSigned-off-by: Elijah Newren <newren@gmail.com>","distinct":true,"url":"https://api.github.com/repos/richardhansen/git-multimail/commits/2e1a4589cc4a18a9a574b2283300636ae41a71c7"},{"sha":"ba25346d5a619de304db9dc110ddab07a16882bf","author":{"email":"d4d2cc2a6ec7b2aa587d4887cc5ed200f9b685a1@imag.fr","name":"Matthieu Moy"},"message":"Add tests with Cc: fields in commit messages\n\nCurrently, git-multimail does nothing with these fields, but we add the\ntest in preparation with the feature, so that we can check the behavioral\nchange with the diff on t/test-repo.dump.","distinct":true,"url":"https://api.github.com/repos/richardhansen/git-multimail/commits/ba25346d5a619de304db9dc110ddab07a16882bf"},{"sha":"56b1564823ec8d49aa91b752dda8b7628196ff8e","author":{"email":"fa577405315cc9b8efd2145a48904e0c6dc2fb8f@gmail.com","name":"Azat Khuzhin"},"message":"Support new option multimailhook.scanCommitForCc\n\nFixes #60.\n\nFixes-and-tests-by: Matthieu Moy <Matthieu.Moy@imag.fr>\nSigned-off-by: Azat Khuzhin <a3at.mail@gmail.com>\nSigned-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>","distinct":true,"url":"https://api.github.com/repos/richardhansen/git-multimail/commits/56b1564823ec8d49aa91b752dda8b7628196ff8e"},{"sha":"f68fe63cd554feb2538448264e8412210332c696","author":{"email":"d4d2cc2a6ec7b2aa587d4887cc5ed200f9b685a1@imag.fr","name":"Matthieu Moy"},"message":"scanCommitForCc: don't include trailing whitespaces in the email\n\nSuggested-by: Azat Khuzhin <a3at.mail@gmail.com>\nSigned-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>","distinct":true,"url":"https://api.github.com/repos/richardhansen/git-multimail/commits/f68fe63cd554feb2538448264e8412210332c696"},{"sha":"17b7724c65fbd9e8fc7ffbd052ee56373d86d369","author":{"email":"d4d2cc2a6ec7b2aa587d4887cc5ed200f9b685a1@imag.fr","name":"Matthieu Moy"},"message":"post-receive: catch ConfigurationException\n\nThe catch is already done for you if you use git_multimail.py directly.\nBut if one whishes to use post-receive as a template, it is probably a\ngood idea to catch the exception here too.\n\nLeaving the exception uncaught could make sense too (to give more\ninformation to the developer), but it's easier to notice the try/catch\nand remove it than to guess that one should be there when it's not in the\ntemplate.\n\nSigned-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>","distinct":true,"url":"https://api.github.com/repos/richardhansen/git-multimail/commits/17b7724c65fbd9e8fc7ffbd052ee56373d86d369"},{"sha":"95b06d2624c1fa93c0c4477201ae48bb48c5fb33","author":{"email":"d4d2cc2a6ec7b2aa587d4887cc5ed200f9b685a1@imag.fr","name":"Matthieu Moy"},"message":"Test case where refchangelist == commitlist\n\nSigned-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>","distinct":true,"url":"https://api.github.com/repos/richardhansen/git-multimail/commits/95b06d2624c1fa93c0c4477201ae48bb48c5fb33"},{"sha":"7d53b3246ebb28fb6d2ab27d8c7b4a92c1acc97f","author":{"email":"955405675e5ddb1a110d200661c528aa223ef60f@gmail.com","name":"Elijah Newren"},"message":"Do not combine refchange & revision emails if recipients differ\n\nSigned-off-by: Elijah Newren <newren@gmail.com>","distinct":true,"url":"https://api.github.com/repos/richardhansen/git-multimail/commits/7d53b3246ebb28fb6d2ab27d8c7b4a92c1acc97f"},{"sha":"aa0e510b9cf649d0d16a96988f27c69a0076e39b","author":{"email":"955405675e5ddb1a110d200661c528aa223ef60f@gmail.com","name":"Elijah Newren"},"message":"Avoid omitting merges with interesting non-trivial-merge changes\n\nWe try to combine refchange and revision emails if only one new revision\nemail was added in a push.  However, since many development teams have a\nworkflow of having all revisions uploaded to a review site (e.g. Gerrit\nor Atlassian Stash) and then being merged in, the combined email should\nreally still be sent even if there is a merge commit on top -- users\ngenerally see the merge made by these review tools as an uninteresting\nimplementational detail and often consider emails about them to be spam.\n\nHOWEVER, if a merge commit is present and it doesn't represent a trivial\nconflict-free merge (because its creation involved conflict resolutions or\nhad other interesting changes), then we absolutely do want a special email\nabout the merge commit.  Make sure it is sent by avoiding the combined\nrefchange/revision email codepath.\n\nSigned-off-by: Elijah Newren <newren@gmail.com>","distinct":true,"url":"https://api.github.com/repos/richardhansen/git-multimail/commits/aa0e510b9cf649d0d16a96988f27c69a0076e39b"},{"sha":"db7371fd6c44d110dc0f2fcf78083e8ac11743fe","author":{"email":"d4d2cc2a6ec7b2aa587d4887cc5ed200f9b685a1@imag.fr","name":"Matthieu Moy"},"message":"Merge pull request #71 from lukem/lukem-centos5-compat\n\nFix testsuite compatibility","distinct":true,"url":"https://api.github.com/repos/richardhansen/git-multimail/commits/db7371fd6c44d110dc0f2fcf78083e8ac11743fe"},{"sha":"18203d0d8a08873b0d5e6ff02c1fb185dadd57e4","author":{"email":"d4d2cc2a6ec7b2aa587d4887cc5ed200f9b685a1@imag.fr","name":"Matthieu Moy"},"message":"Merge pull request #83 from git-multimail/fewer-emails-if-single-commit-pushed-v2\n\nFewer emails if single commit pushed v2","distinct":true,"url":"https://api.github.com/repos/richardhansen/git-multimail/commits/18203d0d8a08873b0d5e6ff02c1fb185dadd57e4"},{"sha":"af0c08b5128b84c54f818f5651c1c2b20e1b585c","author":{"email":"d4d2cc2a6ec7b2aa587d4887cc5ed200f9b685a1@imag.fr","name":"Matthieu Moy"},"message":"run-tests: run pep8 before testing\n\nSigned-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>","distinct":true,"url":"https://api.github.com/repos/richardhansen/git-multimail/commits/af0c08b5128b84c54f818f5651c1c2b20e1b585c"},{"sha":"08eb87123c7e8cf60196e1f8354d73a58413c694","author":{"email":"d4d2cc2a6ec7b2aa587d4887cc5ed200f9b685a1@imag.fr","name":"Matthieu Moy"},"message":"fix PEP8 errors\n\nSigned-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>","distinct":true,"url":"https://api.github.com/repos/richardhansen/git-multimail/commits/08eb87123c7e8cf60196e1f8354d73a58413c694"},{"sha":"a97e6db39ba28bcee8bf2d421f7128a12f8f5638","author":{"email":"d4d2cc2a6ec7b2aa587d4887cc5ed200f9b685a1@imag.fr","name":"Matthieu Moy"},"message":"post-receive: avoid confusion on how to use it\n\nRename it to post-receive.example, and start the docstring right away\nsaying that this is not the simplest way to use git-multimail.\n\nSigned-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>","distinct":true,"url":"https://api.github.com/repos/richardhansen/git-multimail/commits/a97e6db39ba28bcee8bf2d421f7128a12f8f5638"}]}