)]}'
{
  "commit": "2e73d712d9f386375973a6d39442dbfc0076d000",
  "tree": "eff3bed57dccffa7facab4376e8b4d1def8c0d80",
  "parents": [
    "86d2534a97d1f8fc77cd05b82c7851a8ba3091cb"
  ],
  "author": {
    "name": "Julie Hockett",
    "email": "juliehockett@google.com",
    "time": "Mon Jun 10 16:41:17 2019 -0700"
  },
  "committer": {
    "name": "Commit Bot",
    "email": "commit-bot@chromium.org",
    "time": "Fri Jun 14 21:00:44 2019 +0000"
  },
  "message": "Add command_launcher field to tools\n\nThis is a field to specify the command launcher for a given tool\u0027s\ncommand. It appends the launcher to the command in the Ninja rule, but\nkeeps the two separate inside of GN. This allows the IDE writer tools\n(e.g. the compilation command database) to be written without the\nlauncher prefix.\n\nThe presence of the launcher in the command has been breaking a number\nof developer workflows in VSCode, CLion, and clangd. This should resolve\nall of those workflows.\n\nChange-Id: Idec6f530ddc48da01ac0c79b64032c7cc88856a4\nReviewed-on: https://gn-review.googlesource.com/c/gn/+/5200\nCommit-Queue: Julie Hockett \u003cjuliehockett@google.com\u003e\nReviewed-by: Petr Hosek \u003cphosek@google.com\u003e\nReviewed-by: Brett Wilson \u003cbrettw@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e5ee5bc7931b62ff3a3107148fafee85167758c5",
      "old_mode": 33188,
      "old_path": "tools/gn/function_toolchain.cc",
      "new_id": "cb686121a6f55fc809907800d63362a5caaed377",
      "new_mode": 33188,
      "new_path": "tools/gn/function_toolchain.cc"
    },
    {
      "type": "modify",
      "old_id": "ef301e723b51d70c3d31067eaa9ad729e59d98e8",
      "old_mode": 33188,
      "old_path": "tools/gn/function_toolchain_unittest.cc",
      "new_id": "baf2e26ce13bf3f71a527fa9160110157196c407",
      "new_mode": 33188,
      "new_path": "tools/gn/function_toolchain_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "faf9d8a30e1c4caa4ecf856ffbdacd8897aef97c",
      "old_mode": 33188,
      "old_path": "tools/gn/ninja_toolchain_writer.cc",
      "new_id": "6bfeb468df4926484ea982fc0d71901da00df2b2",
      "new_mode": 33188,
      "new_path": "tools/gn/ninja_toolchain_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "6db8d3c45bce1e8372bf6167b1779248b0cfac1d",
      "old_mode": 33188,
      "old_path": "tools/gn/ninja_toolchain_writer.h",
      "new_id": "b9b9906c48d63289466a9f514e18a0989bf8f738",
      "new_mode": 33188,
      "new_path": "tools/gn/ninja_toolchain_writer.h"
    },
    {
      "type": "modify",
      "old_id": "2edc26a2f291d9cfe88aa5927627ac4b1485ef9e",
      "old_mode": 33188,
      "old_path": "tools/gn/ninja_toolchain_writer_unittest.cc",
      "new_id": "ce1c533016e352a30c7edf6abb5220afedde3699",
      "new_mode": 33188,
      "new_path": "tools/gn/ninja_toolchain_writer_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "4ebbbfaca5962275fe60bd1ce93712897a284c88",
      "old_mode": 33188,
      "old_path": "tools/gn/test_with_scope.cc",
      "new_id": "80d969295be8013b177e864696bf7a7fe2d1f953",
      "new_mode": 33188,
      "new_path": "tools/gn/test_with_scope.cc"
    },
    {
      "type": "modify",
      "old_id": "72bce145fa54066278b77592ce3cfc3d1c2a5831",
      "old_mode": 33188,
      "old_path": "tools/gn/tool.cc",
      "new_id": "8e06d11b7e681b1228490819a5a39b1804f2e0fa",
      "new_mode": 33188,
      "new_path": "tools/gn/tool.cc"
    },
    {
      "type": "modify",
      "old_id": "f6bf5157efc5bac70a14ac5e125da05b8a7f12c9",
      "old_mode": 33188,
      "old_path": "tools/gn/tool.h",
      "new_id": "2f853ef9ca353146dff69a82116154214241c830",
      "new_mode": 33188,
      "new_path": "tools/gn/tool.h"
    }
  ]
}
