)]}'
{
  "commit": "a663f9d6195bbc6b956321c21c3b4099d28b35db",
  "tree": "ea3a239a9eb11a0ae010955bee969bf2d7123a2d",
  "parents": [
    "9c47cd766869428d9ff60eb3d9cd7b774980fbf9"
  ],
  "author": {
    "name": "Andrei Belov",
    "email": "defan@nginx.com",
    "time": "Thu Oct 22 14:40:18 2020 +0300"
  },
  "committer": {
    "name": "Andrei Belov",
    "email": "defan@nginx.com",
    "time": "Thu Oct 22 14:40:18 2020 +0300"
  },
  "message": "Package generation refactoring, stage 1.\n\nNotable changes:\n\n - changelogs are now stored in XML (single source of information,\n   ability to quickly extend for possible future export formats);\n\n - every module now has its own Makefile (easier maintenance,\n   flexibility for fine-tuning of specific build pipelines);\n\n - introduced MODULE_TARGET environment variable for building\n   the same set of modules for nginx/foss and NGINX Plus from\n   the same set of sources.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "29cf39f5868dff618126954a4c4fbbc6f5336135",
      "old_mode": 33188,
      "old_path": "alpine/APKBUILD-base.in",
      "new_id": "e75e74a1fbea8214be687d0e7a12be3334b1491c",
      "new_mode": 33188,
      "new_path": "alpine/APKBUILD-base.in"
    },
    {
      "type": "modify",
      "old_id": "0c111e3752f344e23be60ecb729a082b755fc809",
      "old_mode": 33188,
      "old_path": "alpine/APKBUILD-module.in",
      "new_id": "e986377a31b7a90a6783f3d93fc3f4ea9de37b4e",
      "new_mode": 33188,
      "new_path": "alpine/APKBUILD-module.in"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e62b9db7562a5f550e5464a907b42acdf03b767c",
      "new_mode": 33188,
      "new_path": "alpine/APKBUILD-plus-module.in"
    },
    {
      "type": "modify",
      "old_id": "1f6442566d14216974764efa1426b521b278f7e0",
      "old_mode": 33188,
      "old_path": "alpine/Makefile",
      "new_id": "e4afb87cefc40910e066d7a8a38b1205f104e0c4",
      "new_mode": 33188,
      "new_path": "alpine/Makefile"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1b421d7c449c4bcdf85ea0caae94a07cac79ec4f",
      "new_mode": 33188,
      "new_path": "alpine/Makefile.module-geoip"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7c874e6d39e17e8c31fcc02f5150eac9192f5538",
      "new_mode": 33188,
      "new_path": "alpine/Makefile.module-image-filter"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "466f67d83db0e3ff8fc5d2681035c00fb2d86777",
      "new_mode": 33188,
      "new_path": "alpine/Makefile.module-njs"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "330dd4817920775d729cb04eea05dd22827da65c",
      "new_mode": 33188,
      "new_path": "alpine/Makefile.module-perl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f4674a1645c70ca53e414882c7dce854c81a2199",
      "new_mode": 33188,
      "new_path": "alpine/Makefile.module-xslt"
    },
    {
      "type": "modify",
      "old_id": "1f74c1000f9bfdb97f3061cb26f5b2e36526a351",
      "old_mode": 33188,
      "old_path": "debian/Makefile",
      "new_id": "2312cf351bba83f04e46a1b40fe0a0d86bfcfcbb",
      "new_mode": 33188,
      "new_path": "debian/Makefile"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5823ed09b545ee15b97cd4fc1b7a7a399ed5e633",
      "new_mode": 33188,
      "new_path": "debian/Makefile.module-geoip"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5c54ebb18ca3b6b785e4b0a0a68bf33f37757913",
      "new_mode": 33188,
      "new_path": "debian/Makefile.module-image-filter"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b4775570b81a98253c9fa2e018bcd90939707457",
      "new_mode": 33188,
      "new_path": "debian/Makefile.module-njs"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "50dedfafe9a56c9d81cc361b889611ce55e20af9",
      "new_mode": 33188,
      "new_path": "debian/Makefile.module-perl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5e655bb82332d1b8f249e6bf6df4d8317a7debec",
      "new_mode": 33188,
      "new_path": "debian/Makefile.module-xslt"
    },
    {
      "type": "delete",
      "old_id": "d32070ba1f87b5082b46d3fb661006075208c083",
      "old_mode": 33188,
      "old_path": "debian/copyright",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "ec8882ef62b8a7ed1023526e68d053ece8549a1b",
      "old_mode": 33188,
      "old_path": "debian/nginx-module-geoip.changelog.in",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "ef41811155a80edfd6b19aacfdb394eaf5576343",
      "old_mode": 33188,
      "old_path": "debian/nginx-module-image-filter.changelog.in",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "ebc5789e3873f67f769060dad239177466736e72",
      "old_mode": 33188,
      "old_path": "debian/nginx-module-njs.changelog.in",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "69824e5ed110969ff55033f5264c3ed126e4119d",
      "old_mode": 33188,
      "old_path": "debian/nginx-module-perl.changelog.in",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "6d51874047cc030b478e37ec2d6d64383175c0a1",
      "old_mode": 33188,
      "old_path": "debian/nginx-module-xslt.changelog.in",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "27e63cc89ea69e231bbe9f06c6c3dff038104ede",
      "old_mode": 33188,
      "old_path": "debian/nginx-module.control.in",
      "new_id": "1b489cbcceb8a822c38469335d39f219b3533979",
      "new_mode": 33188,
      "new_path": "debian/nginx-module.control.in"
    },
    {
      "type": "delete",
      "old_id": "bf5e1da20482bc0461dea4eef12522ce54701dfd",
      "old_mode": 33188,
      "old_path": "debian/nginx.changelog.in",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "8eb7068ca714d42b821bd1210d087dbae8138723",
      "old_mode": 33188,
      "old_path": "debian/nginx.control.in",
      "new_id": "69a34cf52ab4d159aa03af98865a3085a9312810",
      "new_mode": 33188,
      "new_path": "debian/nginx.control.in"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "244c64c9df4b65682583ff75aef54de75daae7a4",
      "new_mode": 33188,
      "new_path": "docs/Makefile"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d8e90e354d6f5b223b720bd8595938a65e11e2df",
      "new_mode": 33188,
      "new_path": "docs/change_log_conf.dtd"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1b99da9504839834038bd73b9a3896848f752d16",
      "new_mode": 33188,
      "new_path": "docs/change_log_conf.xml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e2189613a2ab74ac87fe379b45b959f86fe4ba91",
      "new_mode": 33188,
      "new_path": "docs/changes.dtd"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0c7ae2d28d6406f24dfa8cea80f4bfcc1c31af3c",
      "new_mode": 33188,
      "new_path": "docs/changes.xsls"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2401b463c87451f04bf6743aa81194d909d1ec4d",
      "new_mode": 33188,
      "new_path": "docs/changes.xslt"
    },
    {
      "type": "rename",
      "old_id": "af51e2f57d4620bd5a7c29c60f13106dc0c98d3f",
      "old_mode": 33188,
      "old_path": "alpine/COPYRIGHT",
      "new_id": "af51e2f57d4620bd5a7c29c60f13106dc0c98d3f",
      "new_mode": 33188,
      "new_path": "docs/nginx-module-geoip.copyright",
      "score": 100
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d06485eafcbad371edc0577a384e94f3aec2e665",
      "new_mode": 33188,
      "new_path": "docs/nginx-module-geoip.xml"
    },
    {
      "type": "copy",
      "old_id": "af51e2f57d4620bd5a7c29c60f13106dc0c98d3f",
      "old_mode": 33188,
      "old_path": "alpine/COPYRIGHT",
      "new_id": "af51e2f57d4620bd5a7c29c60f13106dc0c98d3f",
      "new_mode": 33188,
      "new_path": "docs/nginx-module-image-filter.copyright",
      "score": 100
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ceec3635da22db11e9a7f91640d5a6d89cce2482",
      "new_mode": 33188,
      "new_path": "docs/nginx-module-image-filter.xml"
    },
    {
      "type": "rename",
      "old_id": "af51e2f57d4620bd5a7c29c60f13106dc0c98d3f",
      "old_mode": 33188,
      "old_path": "rpm/SOURCES/COPYRIGHT",
      "new_id": "b5950c4249634e2f0930389bba1ffc9fed0907d3",
      "new_mode": 33188,
      "new_path": "docs/nginx-module-njs.copyright",
      "score": 87
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d3295577a4e5952caa0a4b67dc568a80fd8c158d",
      "new_mode": 33188,
      "new_path": "docs/nginx-module-njs.xml"
    },
    {
      "type": "copy",
      "old_id": "af51e2f57d4620bd5a7c29c60f13106dc0c98d3f",
      "old_mode": 33188,
      "old_path": "alpine/COPYRIGHT",
      "new_id": "af51e2f57d4620bd5a7c29c60f13106dc0c98d3f",
      "new_mode": 33188,
      "new_path": "docs/nginx-module-perl.copyright",
      "score": 100
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7c63a968e93581acc3a8fa97fdc066e18d576ddf",
      "new_mode": 33188,
      "new_path": "docs/nginx-module-perl.xml"
    },
    {
      "type": "copy",
      "old_id": "af51e2f57d4620bd5a7c29c60f13106dc0c98d3f",
      "old_mode": 33188,
      "old_path": "alpine/COPYRIGHT",
      "new_id": "af51e2f57d4620bd5a7c29c60f13106dc0c98d3f",
      "new_mode": 33188,
      "new_path": "docs/nginx-module-xslt.copyright",
      "score": 100
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f6f88f60f8c21e6cbd053ddbcbe876c58034d0e7",
      "new_mode": 33188,
      "new_path": "docs/nginx-module-xslt.xml"
    },
    {
      "type": "copy",
      "old_id": "af51e2f57d4620bd5a7c29c60f13106dc0c98d3f",
      "old_mode": 33188,
      "old_path": "alpine/COPYRIGHT",
      "new_id": "af51e2f57d4620bd5a7c29c60f13106dc0c98d3f",
      "new_mode": 33188,
      "new_path": "docs/nginx.copyright",
      "score": 100
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "055f1aff35c77cd4b335c5338e2eb7b428bd6e3f",
      "new_mode": 33188,
      "new_path": "docs/nginx.xml"
    },
    {
      "type": "modify",
      "old_id": "79e5c15cbba49338f31214ff7b74cd0d6e99f8d8",
      "old_mode": 33188,
      "old_path": "rpm/SPECS/Makefile",
      "new_id": "55bdef0e040520b8c23f072ecbe3a4bef526cd45",
      "new_mode": 33188,
      "new_path": "rpm/SPECS/Makefile"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4ff160d60c7a97d5a96a79c208c19c92c0e8dc82",
      "new_mode": 33188,
      "new_path": "rpm/SPECS/Makefile.module-geoip"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6f9286034ad28aaa54f6aa998ae1e57c8808c789",
      "new_mode": 33188,
      "new_path": "rpm/SPECS/Makefile.module-image-filter"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d80c04724f26ec0b6888def2b2a788c38f473e5c",
      "new_mode": 33188,
      "new_path": "rpm/SPECS/Makefile.module-njs"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "67205fa8ef4e8eb877373a1897a0930c02683b13",
      "new_mode": 33188,
      "new_path": "rpm/SPECS/Makefile.module-perl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4403110ed774189a4e44189d4a1c4940e2f5872d",
      "new_mode": 33188,
      "new_path": "rpm/SPECS/Makefile.module-xslt"
    },
    {
      "type": "delete",
      "old_id": "fbd0c1a33f381ba6b64660f87b3e928cf2cccdf2",
      "old_mode": 33188,
      "old_path": "rpm/SPECS/nginx-module-njs.changelog.in",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "547871d6dedc93d56ed2c4bce4064c06e9c2da27",
      "old_mode": 33188,
      "old_path": "rpm/SPECS/nginx-module.changelog.in",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "bdf0f33e4e23d844993d53699e096e074794f7d0",
      "old_mode": 33188,
      "old_path": "rpm/SPECS/nginx-module.spec.in",
      "new_id": "8640f87f4855712a71e50be6c8c0cd8b2add6915",
      "new_mode": 33188,
      "new_path": "rpm/SPECS/nginx-module.spec.in"
    },
    {
      "type": "modify",
      "old_id": "18d4280f057c0058dd3d522d6273b4dbf9c6198d",
      "old_mode": 33188,
      "old_path": "rpm/SPECS/nginx-plus-module.spec.in",
      "new_id": "560cae3458addda814999f14500139a344b4ae5a",
      "new_mode": 33188,
      "new_path": "rpm/SPECS/nginx-plus-module.spec.in"
    },
    {
      "type": "modify",
      "old_id": "df72af720ee007795d05d8dd1c083fdf0dcb5cff",
      "old_mode": 33188,
      "old_path": "rpm/SPECS/nginx.spec.in",
      "new_id": "78debb5d918ca2d4394a6978d05ec2939f89dd32",
      "new_mode": 33188,
      "new_path": "rpm/SPECS/nginx.spec.in"
    }
  ]
}
