)]}'
{"docker/heka/Dockerfile.j2":[{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"5c230bc67465d84fcfdcd1050a917c173f021e1a","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"{% endif %}"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"COPY plugins/modules /usr/share/heka/lua_modules/"},{"line_number":18,"context_line":"COPY plugins/decoders /usr/share/heka/lua_decoders/"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"COPY heka_sudoers /etc/sudoers.d/heka_sudoers"}],"source_content_type":"text/x-jinja2","patch_set":2,"id":"5a5ae5dd_d53e2d8a","line":17,"updated":"2016-02-06 16:17:50.000000000","message":"this is confusing to me. is there a file called modules or is that a folder? if its a folder you can rename the folders and do a one line operation like:\n\n    COPY plugins/lua_modules/ plugins/lua_decoders/ /usr/share/heka/","commit_id":"4fb46ba37fbe4926d54cbe4d41ef63572d52a49b"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"151b7fa26955497b452764353f9ea03216d5b7ef","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"{% endif %}"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"COPY plugins/modules /usr/share/heka/lua_modules/"},{"line_number":18,"context_line":"COPY plugins/decoders /usr/share/heka/lua_decoders/"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"COPY heka_sudoers /etc/sudoers.d/heka_sudoers"}],"source_content_type":"text/x-jinja2","patch_set":2,"id":"5a5ae5dd_4699d51e","line":17,"in_reply_to":"5a5ae5dd_1a7b7b7c","updated":"2016-02-09 10:44:39.000000000","message":"Ah and I take it the /usr/share/heka/lua_modules is not empty.","commit_id":"4fb46ba37fbe4926d54cbe4d41ef63572d52a49b"},{"author":{"_account_id":19300,"name":"Eric Lemoine","email":"elemoine@mirantis.com","username":"elemoine"},"change_message_id":"f10c1bbd21d45d79e8cf22f4f6a08adcb6ba6338","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"{% endif %}"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"COPY plugins/modules /usr/share/heka/lua_modules/"},{"line_number":18,"context_line":"COPY plugins/decoders /usr/share/heka/lua_decoders/"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"COPY heka_sudoers /etc/sudoers.d/heka_sudoers"}],"source_content_type":"text/x-jinja2","patch_set":2,"id":"5a5ae5dd_1a7b7b7c","line":17,"in_reply_to":"5a5ae5dd_d53e2d8a","updated":"2016-02-08 16:12:16.000000000","message":"plugins/lua_modules/ and plugins/lua_decoders/ are directories, and COPY copies the *contents* of the directory. So if I used the form you suggest I would end up with the contents of both lua_modules/ and lua_decoders/ mixed in /usr/share/heka/, which is not what I want.","commit_id":"4fb46ba37fbe4926d54cbe4d41ef63572d52a49b"}],"docker/heka/plugins/decoders/os_syslog.lua":[{"author":{"_account_id":6794,"name":"Simon Pasquier","email":"pasquier.simon@gmail.com","username":"simon-pasquier"},"change_message_id":"8d7d7e4d844655bfad5308c92d009847323bdbe6","unresolved":false,"context_lines":[{"line_number":23,"context_line":"local msg \u003d {"},{"line_number":24,"context_line":"    Timestamp   \u003d nil,"},{"line_number":25,"context_line":"    Type        \u003d \u0027Syslog\u0027,"},{"line_number":26,"context_line":"    Hostname    \u003d nil,"},{"line_number":27,"context_line":"    Payload     \u003d nil,"},{"line_number":28,"context_line":"    Pid         \u003d nil,"},{"line_number":29,"context_line":"    Severity    \u003d nil,"}],"source_content_type":"text/x-lua","patch_set":10,"id":"3a57f1b5_a0bbbc71","line":26,"updated":"2016-02-10 14:29:37.000000000","message":"If you write:\n\n  Hostname \u003d read_config(\"hostname\")\n\nThen you get rid of L21 and L51-53","commit_id":"0aae615cb0a33a2dd3d0263154ad60a6e9448715"},{"author":{"_account_id":19300,"name":"Eric Lemoine","email":"elemoine@mirantis.com","username":"elemoine"},"change_message_id":"ae99c9384b11af6db7ea03821004afa147d8e828","unresolved":false,"context_lines":[{"line_number":23,"context_line":"local msg \u003d {"},{"line_number":24,"context_line":"    Timestamp   \u003d nil,"},{"line_number":25,"context_line":"    Type        \u003d \u0027Syslog\u0027,"},{"line_number":26,"context_line":"    Hostname    \u003d nil,"},{"line_number":27,"context_line":"    Payload     \u003d nil,"},{"line_number":28,"context_line":"    Pid         \u003d nil,"},{"line_number":29,"context_line":"    Severity    \u003d nil,"}],"source_content_type":"text/x-lua","patch_set":10,"id":"3a57f1b5_01a88f1e","line":26,"in_reply_to":"3a57f1b5_1401aeae","updated":"2016-02-10 15:41:32.000000000","message":"Done","commit_id":"0aae615cb0a33a2dd3d0263154ad60a6e9448715"},{"author":{"_account_id":19300,"name":"Eric Lemoine","email":"elemoine@mirantis.com","username":"elemoine"},"change_message_id":"a95b6feb26fac1563d9e3a45e29127f4cd2dc7d5","unresolved":false,"context_lines":[{"line_number":23,"context_line":"local msg \u003d {"},{"line_number":24,"context_line":"    Timestamp   \u003d nil,"},{"line_number":25,"context_line":"    Type        \u003d \u0027Syslog\u0027,"},{"line_number":26,"context_line":"    Hostname    \u003d nil,"},{"line_number":27,"context_line":"    Payload     \u003d nil,"},{"line_number":28,"context_line":"    Pid         \u003d nil,"},{"line_number":29,"context_line":"    Severity    \u003d nil,"}],"source_content_type":"text/x-lua","patch_set":10,"id":"3a57f1b5_1401aeae","line":26,"in_reply_to":"3a57f1b5_a0bbbc71","updated":"2016-02-10 15:09:29.000000000","message":"Good comment.  Will change.","commit_id":"0aae615cb0a33a2dd3d0263154ad60a6e9448715"}],"docker/heka/plugins/encoders/os_syslog.lua":[{"author":{"_account_id":6794,"name":"Simon Pasquier","email":"pasquier.simon@gmail.com","username":"simon-pasquier"},"change_message_id":"8d7d7e4d844655bfad5308c92d009847323bdbe6","unresolved":false,"context_lines":[{"line_number":16,"context_line":"local interpolate \u003d require \"msg_interpolate\""},{"line_number":17,"context_line":"local utils \u003d require \"os_utils\""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"local header_template \u003d \"\u003c%{Severity}\u003e%{%FT%TZ} %{Hostname} %{programname}\""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"function process_message()"},{"line_number":22,"context_line":"    local timestamp \u003d read_message(\"Timestamp\") / 1e9"}],"source_content_type":"text/x-lua","patch_set":10,"id":"3a57f1b5_80124061","line":19,"updated":"2016-02-10 14:29:37.000000000","message":"what about the PID?","commit_id":"0aae615cb0a33a2dd3d0263154ad60a6e9448715"},{"author":{"_account_id":19300,"name":"Eric Lemoine","email":"elemoine@mirantis.com","username":"elemoine"},"change_message_id":"5a1c6fa67e2f69daedf4b8783aae7f04c74c2204","unresolved":false,"context_lines":[{"line_number":16,"context_line":"local interpolate \u003d require \"msg_interpolate\""},{"line_number":17,"context_line":"local utils \u003d require \"os_utils\""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"local header_template \u003d \"\u003c%{Severity}\u003e%{%FT%TZ} %{Hostname} %{programname}\""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"function process_message()"},{"line_number":22,"context_line":"    local timestamp \u003d read_message(\"Timestamp\") / 1e9"}],"source_content_type":"text/x-lua","patch_set":10,"id":"3a57f1b5_81a47f57","line":19,"in_reply_to":"3a57f1b5_80124061","updated":"2016-02-10 15:40:59.000000000","message":"Oversight.  Thanks.","commit_id":"0aae615cb0a33a2dd3d0263154ad60a6e9448715"},{"author":{"_account_id":19300,"name":"Eric Lemoine","email":"elemoine@mirantis.com","username":"elemoine"},"change_message_id":"ae99c9384b11af6db7ea03821004afa147d8e828","unresolved":false,"context_lines":[{"line_number":16,"context_line":"local interpolate \u003d require \"msg_interpolate\""},{"line_number":17,"context_line":"local utils \u003d require \"os_utils\""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"local header_template \u003d \"\u003c%{Severity}\u003e%{%FT%TZ} %{Hostname} %{programname}\""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"function process_message()"},{"line_number":22,"context_line":"    local timestamp \u003d read_message(\"Timestamp\") / 1e9"}],"source_content_type":"text/x-lua","patch_set":10,"id":"3a57f1b5_81723fe4","line":19,"in_reply_to":"3a57f1b5_81a47f57","updated":"2016-02-10 15:41:32.000000000","message":"Done","commit_id":"0aae615cb0a33a2dd3d0263154ad60a6e9448715"}],"docker/heka/plugins/modules/os_utils.lua":[{"author":{"_account_id":6794,"name":"Simon Pasquier","email":"pasquier.simon@gmail.com","username":"simon-pasquier"},"change_message_id":"8d7d7e4d844655bfad5308c92d009847323bdbe6","unresolved":false,"context_lines":[{"line_number":49,"context_line":""},{"line_number":50,"context_line":"function chomp(s)"},{"line_number":51,"context_line":"    return string.gsub(s, \"\\n$\", \"\")"},{"line_number":52,"context_line":"end"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"-- Call inject_message() wrapped by pcall()"},{"line_number":55,"context_line":"function safe_inject_message(msg)"}],"source_content_type":"text/x-lua","patch_set":10,"id":"3a57f1b5_03f2dad2","line":52,"updated":"2016-02-10 14:29:37.000000000","message":"is it used?","commit_id":"0aae615cb0a33a2dd3d0263154ad60a6e9448715"},{"author":{"_account_id":19300,"name":"Eric Lemoine","email":"elemoine@mirantis.com","username":"elemoine"},"change_message_id":"a95b6feb26fac1563d9e3a45e29127f4cd2dc7d5","unresolved":false,"context_lines":[{"line_number":49,"context_line":""},{"line_number":50,"context_line":"function chomp(s)"},{"line_number":51,"context_line":"    return string.gsub(s, \"\\n$\", \"\")"},{"line_number":52,"context_line":"end"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"-- Call inject_message() wrapped by pcall()"},{"line_number":55,"context_line":"function safe_inject_message(msg)"}],"source_content_type":"text/x-lua","patch_set":10,"id":"3a57f1b5_34738a82","line":52,"in_reply_to":"3a57f1b5_03f2dad2","updated":"2016-02-10 15:09:29.000000000","message":"It is used by the RabbitMQ decoder, which is added by a child commit.  I try to minimize conflicts between my commits, hence this \"infrastructure\" commit with the common code.","commit_id":"0aae615cb0a33a2dd3d0263154ad60a6e9448715"},{"author":{"_account_id":6794,"name":"Simon Pasquier","email":"pasquier.simon@gmail.com","username":"simon-pasquier"},"change_message_id":"8d7d7e4d844655bfad5308c92d009847323bdbe6","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        if t1[k] \u003d\u003d nil then return false end"},{"line_number":85,"context_line":"    end"},{"line_number":86,"context_line":"    return true"},{"line_number":87,"context_line":"end"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"return M"}],"source_content_type":"text/x-lua","patch_set":10,"id":"3a57f1b5_e3d8de55","line":87,"updated":"2016-02-10 14:29:37.000000000","message":"IIUC this function isn\u0027t needed for now.","commit_id":"0aae615cb0a33a2dd3d0263154ad60a6e9448715"},{"author":{"_account_id":19300,"name":"Eric Lemoine","email":"elemoine@mirantis.com","username":"elemoine"},"change_message_id":"a95b6feb26fac1563d9e3a45e29127f4cd2dc7d5","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        if t1[k] \u003d\u003d nil then return false end"},{"line_number":85,"context_line":"    end"},{"line_number":86,"context_line":"    return true"},{"line_number":87,"context_line":"end"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"return M"}],"source_content_type":"text/x-lua","patch_set":10,"id":"3a57f1b5_9414bef5","line":87,"in_reply_to":"3a57f1b5_e3d8de55","updated":"2016-02-10 15:09:29.000000000","message":"It is used by the OpenStack decoder, which is added by a child commit.","commit_id":"0aae615cb0a33a2dd3d0263154ad60a6e9448715"}]}
