<p dir="ltr">This is awesome. Kudos to Erik for the suggestion!</p>
<div class="gmail_quote">On 7 Oct 2013 12:26, "S Page" <<a href="mailto:spage@wikimedia.org">spage@wikimedia.org</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr"><div><div>This git hook checks that there's a qqq message for every English message. With a little enhancement it could be generalized to most extensions.<br><br></div>Can someone add a test like this to Jenkins? Would it go in <br>


<<a href="https://git.wikimedia.org/blob/integration%2Fjenkins-job-builder-config.git/HEAD/mediawiki-extensions.yaml" target="_blank">https://git.wikimedia.org/blob/integration%2Fjenkins-job-builder-config.git/HEAD/mediawiki-extensions.yaml</a>><br>

</div><div>
<div><div><div><br><div class="gmail_quote">---------- Forwarded message ----------<br>From: <b class="gmail_sendername">Erik Bernhardson</b> <span dir="ltr"><<a href="mailto:ebernhardson@wikimedia.org" target="_blank">ebernhardson@wikimedia.org</a>></span><br>


Date: Wed, Oct 2, 2013 at 10:36 AM<br>Subject: [E2] i18n messages<br>To: E2 development team <<a href="mailto:e2@lists.wikimedia.org" target="_blank">e2@lists.wikimedia.org</a>><br><br><br><div dir="ltr">I've noticed a recurrence of git reviews about missing i18n documentation, to help solve these up front we could add a hook to git review (or git commit if you prefer) that checks this at a basic level for us.<div>



<br></div><div><br></div><div>In <b>.git/hooks/pre-review</b> put the following:</div><div><font face="courier new, monospace"><br></font></div><div><blockquote style="margin:0px 0px 0px 40px;border:medium none;padding:0px">


<div>
<div><font face="courier new, monospace">#!/usr/bin/env php</font></div><div><font face="courier new, monospace"><?php</font></div></div></blockquote><blockquote style="margin:0px 0px 0px 40px;border:medium none;padding:0px">



<div><div><font face="courier new, monospace">// This file must have the executable flag set to work as a hook</font></div></div></blockquote><blockquote style="margin:0px 0px 0px 40px;border:medium none;padding:0px"><div>


<div><font face="courier new, monospace">// A hooks path is always /path/to/repo/.git/hooks/hook-name</font></div>
<div><font face="courier new, monospace">$repo = dirname( dirname( dirname( realpath( $argv[0] ) ) ) );</font></div><div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace">include "$repo/Flow.i18n.php";</font></div>



<div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace">$missing = array_diff( array_keys( $messages['en'] ), array_keys( $messages['qqq'] ) );</font></div><div>


<font face="courier new, monospace">if ( $missing ) {</font></div>
<div><font face="courier new, monospace">        echo "Missing i18n messages:\n\t" . implode( "\n\t", $missing ) . "\n";</font></div><div><font face="courier new, monospace">        exit( 1 );</font></div>



<div><font face="courier new, monospace">}</font></div></div></blockquote><br></div><div>chmod +x the new file, and anytime you do a git review with missing qqq it should say:</div><div><br></div><div><blockquote style="margin:0px 0px 0px 40px;border:medium none;padding:0px">



<div><div><font face="courier new, monospace">git review</font></div><div><font face="courier new, monospace">Custom script execution failed.</font></div><div><font face="courier new, monospace">The following command failed with exit code 255</font></div>



<div><font face="courier new, monospace">    "/home/guy/Jobs/mediawiki/vagrant/mediawiki/extensions/Flow/.git/hooks/pre-review"</font></div><div><font face="courier new, monospace">-----------------------</font></div>



<div><div><font face="courier new, monospace">Missing i18n messages:</font></div><div><font face="courier new, monospace">        flow-post-action-censor-post</font></div><div><font face="courier new, monospace"><br></font></div>



</div><div><font face="courier new, monospace">-----------------------</font></div></div></blockquote><br></div><div>Relatedly, there is a new patch in gerrit to fix that missing message that made it through review.</div>



<div><br></div><div>Erik B.</div></div>
<br>_______________________________________________<br>
E2 mailing list<br>
<a href="mailto:E2@lists.wikimedia.org" target="_blank">E2@lists.wikimedia.org</a><br>
<a href="https://lists.wikimedia.org/mailman/listinfo/e2" target="_blank">https://lists.wikimedia.org/mailman/listinfo/e2</a><br>
<br></div><br><br clear="all"><br>-- <br><div dir="ltr">=S Page  Features engineer<br></div>
</div></div></div></div></div>
<br>_______________________________________________<br>
QA mailing list<br>
<a href="mailto:QA@lists.wikimedia.org">QA@lists.wikimedia.org</a><br>
<a href="https://lists.wikimedia.org/mailman/listinfo/qa" target="_blank">https://lists.wikimedia.org/mailman/listinfo/qa</a><br>
<br></blockquote></div>