)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"23a1b1d8c8017cb8f306bea809b25db50fb649d4","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Job to push Horizon translation to Transifex"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add script and job to push the 4 Horizon translation source files"},{"line_number":10,"context_line":"(4 English po files) to Transifex."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I7a42365414a6a5dcde276bc10761b08e3e756931"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAAUH%2F%2B3bY%3D","line":10,"updated":"2014-01-21 09:49:08.000000000","message":"4 files -\u003e 3 files. POT of django_openstack_auth is not updated by this script.","commit_id":"5f39aa8a48ddadf7f943c031585ccfc5eff40d97"}],"modules/jenkins/files/slave_scripts/upstream_translation_horizon.sh":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"23a1b1d8c8017cb8f306bea809b25db50fb649d4","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash -xe"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Copyright 2013 IBM Corp."},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":6,"context_line":"# not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-sh","patch_set":1,"id":"AAAAUH%2F%2B3cU%3D","line":3,"updated":"2014-01-21 09:49:08.000000000","message":"2013 -\u003e 2014","commit_id":"5f39aa8a48ddadf7f943c031585ccfc5eff40d97"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"23a1b1d8c8017cb8f306bea809b25db50fb649d4","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"PROJECT\u003d\"horizon\""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"if [ ! `echo $ZUUL_REFNAME | grep master` ]"},{"line_number":22,"context_line":"then"},{"line_number":23,"context_line":"    exit 0"},{"line_number":24,"context_line":"fi"}],"source_content_type":"text/x-sh","patch_set":1,"id":"AAAAUH%2F%2B3bI%3D","line":21,"updated":"2014-01-21 09:49:08.000000000","message":"Can we enable this script for havana too?","commit_id":"5f39aa8a48ddadf7f943c031585ccfc5eff40d97"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"23a1b1d8c8017cb8f306bea809b25db50fb649d4","unresolved":false,"context_lines":[{"line_number":39,"context_line":"# OpenStack Dashboard Translations"},{"line_number":40,"context_line":"tx set --auto-local -r ${PROJECT}.openstack-dashboard-translations \\"},{"line_number":41,"context_line":"\"openstack_dashboard/locale/\u003clang\u003e/LC_MESSAGES/django.po\" --source-lang en \\"},{"line_number":42,"context_line":"--source-file openstack_dashboard/locale/en/LC_MESSAGES/django.po -t PO --execute"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"# Invoke run_tests.sh to update the po files"},{"line_number":45,"context_line":"# Or else, \"../manage.py makemessages\" can be used."}],"source_content_type":"text/x-sh","patch_set":1,"id":"AAAAUH%2F%2B3m4%3D","line":42,"updated":"2014-01-21 09:49:08.000000000","message":"Horizon already has .tx/config. Do we need L.29-41?\n\nThe script for openstack-manuals does not do this.\nhttps://github.com/openstack-infra/config/blob/master/modules/jenkins/files/slave_scripts/upstream_translation_update_manuals.sh#L29","commit_id":"5f39aa8a48ddadf7f943c031585ccfc5eff40d97"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"23a1b1d8c8017cb8f306bea809b25db50fb649d4","unresolved":false,"context_lines":[{"line_number":49,"context_line":"git add ${PROJECT}/locale/en/LC_MESSAGES/*"},{"line_number":50,"context_line":"git add openstack_dashboard/locale/en/LC_MESSAGES/*"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"if [ ! `git diff-index --quiet HEAD --` ]"},{"line_number":53,"context_line":"then"},{"line_number":54,"context_line":"    # Push source file changes to transifex"},{"line_number":55,"context_line":"    tx --debug --traceback push -s"}],"source_content_type":"text/x-sh","patch_set":1,"id":"AAAAUH%2F%2B3ek%3D","line":52,"updated":"2014-01-21 09:49:08.000000000","message":"It is better to limit \"tx push\" only when strings are changed. With this condition, \"tx push\" will be called even for only lines changes. Please take a look at: https://github.com/openstack-infra/config/blob/master/modules/jenkins/files/slave_scripts/propose_translation_update_manuals.sh#L100","commit_id":"5f39aa8a48ddadf7f943c031585ccfc5eff40d97"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"95b63d3549b1fd40a48e9214e80bf932180e0fe4","unresolved":false,"context_lines":[{"line_number":43,"context_line":""},{"line_number":44,"context_line":"# Invoke run_tests.sh to update the po files"},{"line_number":45,"context_line":"# Or else, \"../manage.py makemessages\" can be used."},{"line_number":46,"context_line":"./run_tests.sh -N --makemessages"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"# Add all changed files to git"},{"line_number":49,"context_line":"git add ${PROJECT}/locale/en/LC_MESSAGES/*"}],"source_content_type":"text/x-sh","patch_set":4,"id":"AAAAU3%2F%2FyaU%3D","line":46,"updated":"2014-02-24 19:39:24.000000000","message":"Looking at run_tests.sh I think this may actually want to run in a virtualenv (remove the -N) since it uses the django manage.py command.","commit_id":"b1e5062e151e0b054b3f33be84397ccf7d2c0e5b"}],"modules/openstack_project/files/zuul/layout.yaml":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"d086fcdfaa703c8cebb6a96158d104fa2b4ed3e9","unresolved":false,"context_lines":[{"line_number":1413,"context_line":"    gate:"},{"line_number":1414,"context_line":"      - gate-django_openstack_auth-requirements"},{"line_number":1415,"context_line":"    post:"},{"line_number":1416,"context_line":"      - openstack_auth-upstream-translation-update"},{"line_number":1417,"context_line":"    pre-release:"},{"line_number":1418,"context_line":"      - django_openstack_auth-tarball"},{"line_number":1419,"context_line":"    release:"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"AAAAUH%2F%2Bkqc%3D","line":1416,"updated":"2014-01-26 20:30:26.000000000","message":"Corresponding jenkins job is not defined. Also, the name should contain \"django_\". I think \"openstack_auth\" is ambiguous.\n\nFor django openstack auth, can\u0027t we use the usual update job \"$name-upstream-translation-update\" ?","commit_id":"f820b0a54cdd695196476cd3bb3391c161b9596d"}]}
