<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>