Weblate committed a PO file that doesn't pass lint_po
Originally created by @sajolida on #17693 (Redmine)
I got the following log from Git when trying to push changes to the mirrors pool today:
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 2 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 351 bytes | 351.00 KiB/s, done.
Total 3 (delta 2), reused 0 (delta 0)
remote: .--- Requesting update of website underlays... ----------------
remote: |
remote: | Already up-to-date.
remote: | From puppet-git.lizard:mirror-pool
remote: | 0fabacf..76dcc8c master -> origin/master
remote: | Updating 0fabacf..76dcc8c
remote: | Fast-forward
remote: | mirrors.json | 8 ++++----
remote: | 1 file changed, 4 insertions(+), 4 deletions(-)
remote: | Already up-to-date.
remote: | Already up-to-date.
remote: | Already up-to-date.
remote: | Ping received.
remote: |
remote: | scanning doc/upgrade.es.po
remote: | scanning doc/first_steps/welcome_screen/bridge_mode.es.po
remote: | Content-type: text/html
remote: |
remote: | <!DOCTYPE html>
remote: |
remote: | <html lang="en" dir="ltr" xmlns="http://www.w3.org/1999/xhtml">
remote: |
remote: | <head>
remote: |
remote: |
remote: | <base href="/" />
remote: |
remote: |
remote: | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
remote: | <title>Tails - Error</title>
remote: |
remote: |
remote: | <link rel="icon" href="/favicon.ico" type="image/x-icon" />
remote: |
remote: | <link rel="stylesheet" href="/style.css" type="text/css" />
remote: |
remote: | <link rel="stylesheet" href="/local.css?reload-2020-05-01" type="text/css" />
remote: |
remote: |
remote: | <script src="/lib/js/mirror-dispatcher.js" type="text/javascript"></script>
remote: |
remote: |
remote: |
remote: | </head>
remote: |
remote: |
remote: | <body class="en">
remote: |
remote: |
remote: | <div class="banner" role="banner">
remote: | <a class="tails" href="/index.en.html"><span>Tails</span></a>
remote: | <div id="search-and-donate">
remote: |
remote: | <div class="donate">
remote: | <a href="https://tails.boum.org/donate/?r=topbar" class="en"><span>Donate</span></a>
remote: | <a href="https://tails.boum.org/donate/?r=topbar" class="de"><span>Spenden</span></a>
remote: | <a href="https://tails.boum.org/donate/?r=topbar" class="es"><span>Donar</span></a>
remote: | <a href="https://tails.boum.org/donate/?r=topbar" class="fa"><span>اهدا کردن</span></a>
remote: | <a href="https://tails.boum.org/donate/?r=topbar" class="fr"><span>Faire un don</span></a>
remote: | <a href="https://tails.boum.org/donate/?r=topbar" class="it"><span>Dona</span></a>
remote: | <a href="https://tails.boum.org/donate/?r=topbar" class="pt"><span>Faça uma doação</span></a>
remote: | </div>
remote: | </div>
remote: | </div>
remote: |
remote: |
remote: |
remote: | <div class="page">
remote: |
remote: | <div class="pageheader">
remote: | <div class="header">
remote: | <span>
remote: | <span class="parentlinks">
remote: | <ul id="crumbs">
remote: | <li><a href="/index.en.html"><img src="/lib/home.png"></a></li>
remote: |
remote: |
remote: |
remote: |
remote: | <li><a href="/">The Amnesic Incognito Live System</a></li>
remote: |
remote: |
remote: |
remote: |
remote: | <li>Error</li>
remote: |
remote: | </ul>
remote: | </span>
remote: | <span class="title">
remote: | Error
remote: | </span>
remote: | </span>
remote: | </div>
remote: |
remote: |
remote: | <div class="actions">
remote: | <ul>
remote: |
remote: |
remote: | <li><a href="./recentchanges/">RecentChanges</a></li>
remote: |
remote: |
remote: |
remote: |
remote: | <li><a href="/ikiwiki.cgi?do=prefs">Preferences</a></li>
remote: |
remote: |
remote: |
remote: |
remote: |
remote: | </ul>
remote: | </div>
remote: |
remote: |
remote: |
remote: |
remote: |
remote: |
remote: | </div>
remote: |
remote: | <div id="pagebody">
remote: |
remote: | <div id="content" role="main">
remote: | <p class="error">Error: Invalid po file /tmp/ikiwiki-po-filter-in.M005HUJDrE:
remote: | /tmp/ikiwiki-po-filter-in.M005HUJDrE:176: 'msgid' and 'msgstr' entries do not both end with '\n'
remote: | msgfmt: found 1 fatal error
remote: |
remote: | </p>
remote: | </div>
remote: |
remote: |
remote: |
remote: |
remote: |
remote: | </div>
remote: |
remote: | <div id="footer" class="pagefooter" role="contentinfo">
remote: |
remote: | <!-- from The Amnesic Incognito Live System -->
remote: | </div>
remote: |
remote: | </div>
remote: |
remote: | <script type="text/javascript">
remote: | var linkelements = document.querySelectorAll('.use-mirror-pool');
remote: | // Avoid a traceback if mirror-dispatcher.js is not available.
remote: | if (typeof replaceUrlPrefixWithRandomMirror !== "undefined" && linkelements.length > 0) {
remote: | replaceUrlPrefixWithRandomMirror(linkelements);
remote: | }
remote: | </script>
remote: |
remote: | </body>
remote: | </html>
remote: |
remote: `--------------------------------------------------------------
To d53ykjpeekuikgoq.onion:mirror-pool.git
0fabacf..76dcc8c master -> master
I’ve never seen that before when pushing to this repo.
Also, the changes that I pushed (76dcc8c) are in origin/master but I can see them in https://tails.boum.org/mirrors.json.
Marking this as Urgent as it breaks downloads and upgrades for our users on the day after a release.