)]}'
{
  "commit": "9a469b2209500d455f546700720a4d1d987adf44",
  "tree": "eef3554a298d032a65deda30bcce6b079321a219",
  "parents": [
    "19f79dec426cb241313fa3d6020b6ff4e8faa984"
  ],
  "author": {
    "name": "Julie Hockett",
    "email": "juliehockett@google.com",
    "time": "Thu Apr 25 14:07:51 2019 -0700"
  },
  "committer": {
    "name": "Commit Bot",
    "email": "commit-bot@chromium.org",
    "time": "Mon May 06 18:04:17 2019 +0000"
  },
  "message": "Refactor SubstitutionType for increased flexibility\n\nThis removes the SubstitutionType enum and the associated arrays of GN\nand Ninja substitution names, replacing them with a more dynamic\ncollection of data.\n\nThis is part of a larger refactoring that will allow for additional\ntypes of Tools (e.g. non-C/C++ langauge compilation) to be added more\nsimply and cleanly.\n\nChange-Id: I2267a87b16d69790e584e729e426dab594784f71\nReviewed-on: https://gn-review.googlesource.com/c/gn/+/4760\nCommit-Queue: Julie Hockett \u003cjuliehockett@google.com\u003e\nReviewed-by: Brett Wilson \u003cbrettw@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "700617f2825572fb0dd392ce79399c4d48350408",
      "new_mode": 33188,
      "new_path": "base/containers/flat_set.h"
    },
    {
      "type": "modify",
      "old_id": "eeb7cb55d2f8714f238ef205df2c6578e5268257",
      "old_mode": 33261,
      "old_path": "build/gen.py",
      "new_id": "874ecbaa4ed3d1f4ed0eac353b3555ce9ceb955e",
      "new_mode": 33261,
      "new_path": "build/gen.py"
    },
    {
      "type": "modify",
      "old_id": "c0ba6c8058f1d9e44f6f10e7b6037e77c0144e97",
      "old_mode": 33188,
      "old_path": "tools/gn/action_target_generator.cc",
      "new_id": "61e9d091bc55e4a14c298542d129c0cc7578037e",
      "new_mode": 33188,
      "new_path": "tools/gn/action_target_generator.cc"
    },
    {
      "type": "modify",
      "old_id": "23f26fd679d5f6e90308651270b7f0489f16fba3",
      "old_mode": 33188,
      "old_path": "tools/gn/bundle_data_target_generator.cc",
      "new_id": "cfd29031a1084be1e971a0a814f0fa880031e100",
      "new_mode": 33188,
      "new_path": "tools/gn/bundle_data_target_generator.cc"
    },
    {
      "type": "modify",
      "old_id": "5dffb07e929c24b888ae22c7354e506f8be56e01",
      "old_mode": 33188,
      "old_path": "tools/gn/bundle_file_rule.cc",
      "new_id": "2b9881c56067849a1a47c3c955c38eca3d2f8aea",
      "new_mode": 33188,
      "new_path": "tools/gn/bundle_file_rule.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3054124f4bdf825ea9d13eebf088783901a54f9b",
      "new_mode": 33188,
      "new_path": "tools/gn/c_substitution_type.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "eee5304663828b601e56546c3326768e75f85028",
      "new_mode": 33188,
      "new_path": "tools/gn/c_substitution_type.h"
    },
    {
      "type": "modify",
      "old_id": "61672860b7f8f706bcf05c1c72e2fef22354f76f",
      "old_mode": 33188,
      "old_path": "tools/gn/c_tool.cc",
      "new_id": "59452fbe8395a4416faca5c043d90e55a9427be0",
      "new_mode": 33188,
      "new_path": "tools/gn/c_tool.cc"
    },
    {
      "type": "modify",
      "old_id": "045024ccc58a8b8a38d3d82c0cc47f0daa22f1b3",
      "old_mode": 33188,
      "old_path": "tools/gn/c_tool.h",
      "new_id": "129a73328eff90ba57a2d0ab00833d80b539e27a",
      "new_mode": 33188,
      "new_path": "tools/gn/c_tool.h"
    },
    {
      "type": "modify",
      "old_id": "e0af1216889824e8f6f83321a9aef9dfeff83889",
      "old_mode": 33188,
      "old_path": "tools/gn/compile_commands_writer.cc",
      "new_id": "e4a1a1914c93ff1c686aea55492a2e579ad3a45f",
      "new_mode": 33188,
      "new_path": "tools/gn/compile_commands_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "47de6407f1aeb897ff75122574dbf0ee9ee7aaf8",
      "old_mode": 33188,
      "old_path": "tools/gn/function_process_file_template.cc",
      "new_id": "7035503380df6b8424465a7a25e9133755b9a1c2",
      "new_mode": 33188,
      "new_path": "tools/gn/function_process_file_template.cc"
    },
    {
      "type": "modify",
      "old_id": "d89dd304603bd3b765b6058e7a5b4e85a0e04d24",
      "old_mode": 33188,
      "old_path": "tools/gn/general_tool.cc",
      "new_id": "a0f285ddd91b928e54245e91be77370625a0ad50",
      "new_mode": 33188,
      "new_path": "tools/gn/general_tool.cc"
    },
    {
      "type": "modify",
      "old_id": "df9caf2b7cf5dee4c1ce1f5694df082b6665e52e",
      "old_mode": 33188,
      "old_path": "tools/gn/general_tool.h",
      "new_id": "b6e1af0cca50f8eaa8459c97f2afd191291a152f",
      "new_mode": 33188,
      "new_path": "tools/gn/general_tool.h"
    },
    {
      "type": "modify",
      "old_id": "b96e72445137f728a0a4a72c8022b4ab87762a0c",
      "old_mode": 33188,
      "old_path": "tools/gn/ninja_c_binary_target_writer.cc",
      "new_id": "f6ffd1504373b4f3466dafd5412c7c707f4051f8",
      "new_mode": 33188,
      "new_path": "tools/gn/ninja_c_binary_target_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "4fb89d914410b04813ce1844563072924f31f7f1",
      "old_mode": 33188,
      "old_path": "tools/gn/ninja_c_binary_target_writer.h",
      "new_id": "4d1bdfa0e077666df80d39a0e94f84675d341fd6",
      "new_mode": 33188,
      "new_path": "tools/gn/ninja_c_binary_target_writer.h"
    },
    {
      "type": "modify",
      "old_id": "2aa3e4bf0389694ca1a12664d9d9617a4491b613",
      "old_mode": 33188,
      "old_path": "tools/gn/ninja_target_command_util.cc",
      "new_id": "ef9957e8c250e65daa5287eade5c9c896fb8eb13",
      "new_mode": 33188,
      "new_path": "tools/gn/ninja_target_command_util.cc"
    },
    {
      "type": "modify",
      "old_id": "686fadac8533ab3fb0aa803a0856152f0e4dc7c3",
      "old_mode": 33188,
      "old_path": "tools/gn/ninja_target_command_util.h",
      "new_id": "327e120279c5b26d20b18b67fbef356646e7b192",
      "new_mode": 33188,
      "new_path": "tools/gn/ninja_target_command_util.h"
    },
    {
      "type": "modify",
      "old_id": "8287ec0c4d2286bc1b6f55c8d0fbb996b1f0900b",
      "old_mode": 33188,
      "old_path": "tools/gn/ninja_target_writer.cc",
      "new_id": "239e50fb4cb398059b800341422c2699519a224b",
      "new_mode": 33188,
      "new_path": "tools/gn/ninja_target_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "a6db06038f2c317d9f86614091caead538c303aa",
      "old_mode": 33188,
      "old_path": "tools/gn/ninja_target_writer.h",
      "new_id": "b49f33e3a11eed07bf636d520ccab26f5254a255",
      "new_mode": 33188,
      "new_path": "tools/gn/ninja_target_writer.h"
    },
    {
      "type": "modify",
      "old_id": "45123cbe502e7f938d3ef2ef1a6719546d2aa252",
      "old_mode": 33188,
      "old_path": "tools/gn/substitution_list.h",
      "new_id": "e8614eb52008fd9a625630bd63bab8b0de0e3950",
      "new_mode": 33188,
      "new_path": "tools/gn/substitution_list.h"
    },
    {
      "type": "modify",
      "old_id": "9b5e815f9400f9c94da59453081e045e1ee358cd",
      "old_mode": 33188,
      "old_path": "tools/gn/substitution_pattern.cc",
      "new_id": "b02532d1696a6f0048e9ad9e00fc2ad6128bbc61",
      "new_mode": 33188,
      "new_path": "tools/gn/substitution_pattern.cc"
    },
    {
      "type": "modify",
      "old_id": "850d736280ca3ee1d0126f7f7dfdf7bcde267194",
      "old_mode": 33188,
      "old_path": "tools/gn/substitution_pattern.h",
      "new_id": "81bd89712a4ea6c894baea5427ff1bb8b27e040a",
      "new_mode": 33188,
      "new_path": "tools/gn/substitution_pattern.h"
    },
    {
      "type": "modify",
      "old_id": "c8c739670de68678a4480417bdb525798e057a83",
      "old_mode": 33188,
      "old_path": "tools/gn/substitution_pattern_unittest.cc",
      "new_id": "59c057f4ac59f136a6e30db5922ec8edf062036a",
      "new_mode": 33188,
      "new_path": "tools/gn/substitution_pattern_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "d47a8d0fdc68ce080ea52feed3a38c34be7b25e9",
      "old_mode": 33188,
      "old_path": "tools/gn/substitution_type.cc",
      "new_id": "f38013e2fa787bab563957e1c7422c6d2a10514d",
      "new_mode": 33188,
      "new_path": "tools/gn/substitution_type.cc"
    },
    {
      "type": "modify",
      "old_id": "9e2bdb728b9b47bd54423071b33fa211c8af668f",
      "old_mode": 33188,
      "old_path": "tools/gn/substitution_type.h",
      "new_id": "5bdbf908e72a0bd2039cece8a7c4ec93f9faaeaa",
      "new_mode": 33188,
      "new_path": "tools/gn/substitution_type.h"
    },
    {
      "type": "modify",
      "old_id": "96a12b1db6c03b8ca42076d9b79d5940dd6895ec",
      "old_mode": 33188,
      "old_path": "tools/gn/substitution_writer.cc",
      "new_id": "c8bc70fd0d025f5b4ea0141c9ecd4a4e83d59334",
      "new_mode": 33188,
      "new_path": "tools/gn/substitution_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "530f06476959e0af1886a7c02384d55d1b244b9d",
      "old_mode": 33188,
      "old_path": "tools/gn/substitution_writer.h",
      "new_id": "24cc283b24d3b4d9e5007c1b758f265efb740901",
      "new_mode": 33188,
      "new_path": "tools/gn/substitution_writer.h"
    },
    {
      "type": "modify",
      "old_id": "cc476e47d0e6f8f6b01e43e9888b44808ae32c6b",
      "old_mode": 33188,
      "old_path": "tools/gn/substitution_writer_unittest.cc",
      "new_id": "bea8fec9abb1c3f4fed6a4f53aa0c1fec1d721da",
      "new_mode": 33188,
      "new_path": "tools/gn/substitution_writer_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "9ad8969d9a36d45030a5792c41cb60ff301ac61b",
      "old_mode": 33188,
      "old_path": "tools/gn/target_generator.cc",
      "new_id": "a46842670e9edf5fcf911782699bc8e136ec3089",
      "new_mode": 33188,
      "new_path": "tools/gn/target_generator.cc"
    },
    {
      "type": "modify",
      "old_id": "51e0bc28d859c347da29940cc35a805ad7b4b579",
      "old_mode": 33188,
      "old_path": "tools/gn/tool.cc",
      "new_id": "f60e3d48065b86ac308423c493b6b427cf15dd9e",
      "new_mode": 33188,
      "new_path": "tools/gn/tool.cc"
    },
    {
      "type": "modify",
      "old_id": "4060527d9e05e7e95fef923a9b1277e7e48d80c1",
      "old_mode": 33188,
      "old_path": "tools/gn/tool.h",
      "new_id": "d80088634a2ad0a9bb5d39be5dc2640663e39f72",
      "new_mode": 33188,
      "new_path": "tools/gn/tool.h"
    }
  ]
}
