)]}'
{
  "commit": "ec91732c6dd6777786774c83287c5fae50e0621b",
  "tree": "ffc2d1af4c269ebb5cd98dee46368a31f2f9bb99",
  "parents": [
    "893d9a0fd9e76ed998c28ccf647e39293661c376"
  ],
  "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": "c088603866a9bbcd06bc24ee1c33572a8c288288",
      "old_mode": 33188,
      "old_path": "alpine/Makefile",
      "new_id": "db55ec6b22368b9017db15a41e992821bf254602",
      "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": "b961e65c77ab19d4bf478af73e11d155ee39c59c",
      "old_mode": 33188,
      "old_path": "debian/Makefile",
      "new_id": "2e26fd1f92c2c37c0b385c3f2bbe4b7cc22c2c7a",
      "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": "423f47a86b02bad149a7b01fa7e139ddf346733b",
      "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": "8cf6f485997cfabf9e5d280930b9f2e3ce4c10e2",
      "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": "e86e8f6b0ea25f80325ae55a3a52e3b8cead1fc1",
      "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": "e49831c684339fbb4b333db08087b4956050125e",
      "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": "248a99e06c0087c4ddb7df10ab2e1341a695a25d",
      "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": "e7920ed87bcd78161f8cb20a978eafb8d5c47b8b",
      "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": "42b9c232e9a7d47b4fee37a02afddf3d935cea46",
      "old_mode": 33188,
      "old_path": "rpm/SPECS/Makefile",
      "new_id": "d4dfd09ee973b2e69a72d69610180bdf4389a11f",
      "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": "ef058d39abd3c4b55c5aa43373630a48a6a36952",
      "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": "6a6c55d47db4510a4a2673fa56422322fe0cc289",
      "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": "6c9ec9e02c61ec63c10ccc0b7aa4491cbf6b182c",
      "old_mode": 33188,
      "old_path": "rpm/SPECS/nginx.spec.in",
      "new_id": "2cffcd63140e4432c8f8dea1af39e5545e66d174",
      "new_mode": 33188,
      "new_path": "rpm/SPECS/nginx.spec.in"
    }
  ]
}
