)]}'
{
  "commit": "a899709c3b024eddade4cf7eab167b5962164fb0",
  "tree": "2ce7b3b28ca01fca3e64423aef34c4b1ff50a890",
  "parents": [
    "61377e3df1eb9e21712a43b481c7769292c1a2b3"
  ],
  "author": {
    "name": "Brett Wilson",
    "email": "brettw@chromium.org",
    "time": "Fri Feb 14 14:58:26 2020 -0800"
  },
  "committer": {
    "name": "Commit Bot",
    "email": "commit-bot@chromium.org",
    "time": "Tue Feb 18 18:59:37 2020 +0000"
  },
  "message": "Allow labels to go above the source root.\n\nSupports paths in labels that go above the source root. These will then\nbe expanded to the absolute location of the source root on the local\nsystem, and the relative directories will be expanded from there. This\npatches the behavior for file path handling.\n\nFor example, if the current directory is \"//\" and the source root is\n\"/home/me/project\", the strings \"../..:foo\" and \"//../..:foo\" will\nresolve to \"/home:foo\".\n\nChange-Id: I5e0a73105a24d91c9c6dc8905663421493caffe6\nReviewed-on: https://gn-review.googlesource.com/c/gn/+/7480\nReviewed-by: Scott Graham \u003cscottmg@chromium.org\u003e\nCommit-Queue: Brett Wilson \u003cbrettw@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ea5b0aeee73b14f1de928717b92dd90db1664665",
      "old_mode": 33188,
      "old_path": "src/gn/action_target_generator.cc",
      "new_id": "73fa28895a74e36b503dd70c0000ecfc9f639124",
      "new_mode": 33188,
      "new_path": "src/gn/action_target_generator.cc"
    },
    {
      "type": "modify",
      "old_id": "18563b87724c3e5fa886aba4d01a64d4e24cbef0",
      "old_mode": 33188,
      "old_path": "src/gn/analyzer.cc",
      "new_id": "c269af7021de227f65c7fda19ed8a7c0aec5e552",
      "new_mode": 33188,
      "new_path": "src/gn/analyzer.cc"
    },
    {
      "type": "modify",
      "old_id": "1098a0c98babe7e485f9e4a0821abfd38e71ff50",
      "old_mode": 33188,
      "old_path": "src/gn/binary_target_generator.cc",
      "new_id": "7322adb72d14621e995acc2ce105949d142cd354",
      "new_mode": 33188,
      "new_path": "src/gn/binary_target_generator.cc"
    },
    {
      "type": "modify",
      "old_id": "fb33f309309280aced8de1f09ad1da75d510df38",
      "old_mode": 33188,
      "old_path": "src/gn/command_gen.cc",
      "new_id": "57828ad14614d49e26eb3fac42ffb97299af4379",
      "new_mode": 33188,
      "new_path": "src/gn/command_gen.cc"
    },
    {
      "type": "modify",
      "old_id": "b1ea76c51b6c774402ac3cca4e83ce3c4a243340",
      "old_mode": 33188,
      "old_path": "src/gn/commands.cc",
      "new_id": "6dcf16ada9d238ab31828d7e719ece181c86bd76",
      "new_mode": 33188,
      "new_path": "src/gn/commands.cc"
    },
    {
      "type": "modify",
      "old_id": "1632572c10dfa8c3d7f95683102196ebbe2cf9f9",
      "old_mode": 33188,
      "old_path": "src/gn/create_bundle_target_generator.cc",
      "new_id": "dae86835badfced5c8bd6cd73f14561ba5370568",
      "new_mode": 33188,
      "new_path": "src/gn/create_bundle_target_generator.cc"
    },
    {
      "type": "modify",
      "old_id": "d9157325f051f13cdc8dfded4a557fb2313321e8",
      "old_mode": 33188,
      "old_path": "src/gn/function_get_label_info.cc",
      "new_id": "04fa9a7dd4a3dea01b09ea5f57d0b5701b7fd17d",
      "new_mode": 33188,
      "new_path": "src/gn/function_get_label_info.cc"
    },
    {
      "type": "modify",
      "old_id": "f7c1c3e13a2fd59e30ea576db5e90196955f0360",
      "old_mode": 33188,
      "old_path": "src/gn/function_get_target_outputs.cc",
      "new_id": "7995a49082df4a1664897d60b0e6b935c1233b49",
      "new_mode": 33188,
      "new_path": "src/gn/function_get_target_outputs.cc"
    },
    {
      "type": "modify",
      "old_id": "8620b2e5b065eb987d563c1e62a63ba044111c63",
      "old_mode": 33188,
      "old_path": "src/gn/function_set_default_toolchain.cc",
      "new_id": "13693773e0152d8d9452fcbde81c2ed20cf7b1c1",
      "new_mode": 33188,
      "new_path": "src/gn/function_set_default_toolchain.cc"
    },
    {
      "type": "modify",
      "old_id": "0efcd1e4530ff06928dab0f443033ad8d26ef48e",
      "old_mode": 33188,
      "old_path": "src/gn/function_toolchain.cc",
      "new_id": "e5ddc5901eb91099f4bac757ec2630e1f93080b2",
      "new_mode": 33188,
      "new_path": "src/gn/function_toolchain.cc"
    },
    {
      "type": "modify",
      "old_id": "640bcea0802b1a95adf1db00b0bf54abe86049e9",
      "old_mode": 33188,
      "old_path": "src/gn/functions.cc",
      "new_id": "abbf18896226425ae8a3529722b3e13b4b3b4dc4",
      "new_mode": 33188,
      "new_path": "src/gn/functions.cc"
    },
    {
      "type": "modify",
      "old_id": "ba59f5d07e90dd399957c5cc70a80d12cf786391",
      "old_mode": 33188,
      "old_path": "src/gn/header_checker_unittest.cc",
      "new_id": "a290d4531831b31f96efa91b360164c90daeebfd",
      "new_mode": 33188,
      "new_path": "src/gn/header_checker_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "9bba8b5bf2f23d2cbd80f4da45cbdeccb2bb7227",
      "old_mode": 33188,
      "old_path": "src/gn/label.cc",
      "new_id": "4811196fcb99780750b324ea384d28a34f60f6ae",
      "new_mode": 33188,
      "new_path": "src/gn/label.cc"
    },
    {
      "type": "modify",
      "old_id": "3be06e01f680134071de9ab3681ff57ca8a9e743",
      "old_mode": 33188,
      "old_path": "src/gn/label.h",
      "new_id": "c2668282800ef55b886d7a35fd49bc933f5d6aff",
      "new_mode": 33188,
      "new_path": "src/gn/label.h"
    },
    {
      "type": "modify",
      "old_id": "d5f8f6f3627a22d73362515d0ca35afe3e949b77",
      "old_mode": 33188,
      "old_path": "src/gn/label_pattern.cc",
      "new_id": "ec90b5c9c0a99bf63d63ff4a3dd2501d5eff7a0c",
      "new_mode": 33188,
      "new_path": "src/gn/label_pattern.cc"
    },
    {
      "type": "modify",
      "old_id": "b64e838a8774c3045a41c6a8905648cb01260530",
      "old_mode": 33188,
      "old_path": "src/gn/label_pattern.h",
      "new_id": "f40750eea0ced24084d9cd65e76cbf8f134cf5fe",
      "new_mode": 33188,
      "new_path": "src/gn/label_pattern.h"
    },
    {
      "type": "modify",
      "old_id": "de7b88d6a144377b60ad325139bee91c619727ed",
      "old_mode": 33188,
      "old_path": "src/gn/label_pattern_unittest.cc",
      "new_id": "ad984016f0f3f2aad3e72461238f515c5a9a7458",
      "new_mode": 33188,
      "new_path": "src/gn/label_pattern_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "f46970b9ed427a99533dfedd83fcec7fa2790039",
      "old_mode": 33188,
      "old_path": "src/gn/label_unittest.cc",
      "new_id": "8882019050253382d918e3a85ca6ade4ab24bc5b",
      "new_mode": 33188,
      "new_path": "src/gn/label_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "422e8c93e9dd8199099b3d6fd50c6353556b2bef",
      "old_mode": 33188,
      "old_path": "src/gn/runtime_deps.cc",
      "new_id": "3b6d683febe339c2d7624bb84f6128f7c858efdc",
      "new_mode": 33188,
      "new_path": "src/gn/runtime_deps.cc"
    },
    {
      "type": "modify",
      "old_id": "8592677b6dd4b2198382dd7b6c21af5f6f99d214",
      "old_mode": 33188,
      "old_path": "src/gn/runtime_deps.h",
      "new_id": "82e0f10cbe9a27541101dab7698ec34c339d8822",
      "new_mode": 33188,
      "new_path": "src/gn/runtime_deps.h"
    },
    {
      "type": "modify",
      "old_id": "38588b43a6b6f031b28a42fadad835bcb7a4fb42",
      "old_mode": 33188,
      "old_path": "src/gn/rust_values_generator.cc",
      "new_id": "926ab21f6d36c3ac571e91958bd024f82da16699",
      "new_mode": 33188,
      "new_path": "src/gn/rust_values_generator.cc"
    },
    {
      "type": "modify",
      "old_id": "cbaa958c65a9e0c99f20c099f5c254414a216692",
      "old_mode": 33188,
      "old_path": "src/gn/setup.cc",
      "new_id": "75638cfd75e667e47b5f4e446e95bca39b8a20f4",
      "new_mode": 33188,
      "new_path": "src/gn/setup.cc"
    },
    {
      "type": "modify",
      "old_id": "6df5ede122e0a27e21ece3d5bfa4ea798b494c8d",
      "old_mode": 33188,
      "old_path": "src/gn/target.cc",
      "new_id": "fdf473ebe060fbd927d1175c1816dd978ba0b07e",
      "new_mode": 33188,
      "new_path": "src/gn/target.cc"
    },
    {
      "type": "modify",
      "old_id": "0111d72cbab8a20e25d248981280b870460ae111",
      "old_mode": 33188,
      "old_path": "src/gn/target_generator.cc",
      "new_id": "0ae9dafda81ebf6ea9b7c2e87c793d80d1950af2",
      "new_mode": 33188,
      "new_path": "src/gn/target_generator.cc"
    },
    {
      "type": "modify",
      "old_id": "70d1612f18c92a4e38f7812deb67a5a0645826c4",
      "old_mode": 33188,
      "old_path": "src/gn/test_with_scope.cc",
      "new_id": "ae9c93972413cba75dde17e039c164627e21287a",
      "new_mode": 33188,
      "new_path": "src/gn/test_with_scope.cc"
    },
    {
      "type": "modify",
      "old_id": "6dc46e701ac92c117e8f4182638e0b1e5382eea3",
      "old_mode": 33188,
      "old_path": "src/gn/tool.cc",
      "new_id": "3b29775bebe67f4132f35c3279cee7754311bc10",
      "new_mode": 33188,
      "new_path": "src/gn/tool.cc"
    },
    {
      "type": "modify",
      "old_id": "baf116ce7061f939a9d432e0b090f6f6ab979ecd",
      "old_mode": 33188,
      "old_path": "src/gn/value_extractors.cc",
      "new_id": "74ea345d415a5375bd4d95073c389941f5179952",
      "new_mode": 33188,
      "new_path": "src/gn/value_extractors.cc"
    },
    {
      "type": "modify",
      "old_id": "051814789effbaa99283a378a2fce8cfba11c5b8",
      "old_mode": 33188,
      "old_path": "src/gn/value_extractors.h",
      "new_id": "9cc9e0086d3316d5f87a07bf0fd749706430c863",
      "new_mode": 33188,
      "new_path": "src/gn/value_extractors.h"
    },
    {
      "type": "modify",
      "old_id": "d15706d6d08f37c9ff9bf30f9d3ef4a1f9a1dc90",
      "old_mode": 33188,
      "old_path": "src/gn/visibility.cc",
      "new_id": "eb99a2719faa1eb9049a734084a84dcb591d2889",
      "new_mode": 33188,
      "new_path": "src/gn/visibility.cc"
    },
    {
      "type": "modify",
      "old_id": "5c7f753ad0643a6de57a9836b8248f67e0d41b77",
      "old_mode": 33188,
      "old_path": "src/gn/visibility.h",
      "new_id": "fc1673138aad2f23f8c743b1f8647d406a62639e",
      "new_mode": 33188,
      "new_path": "src/gn/visibility.h"
    },
    {
      "type": "modify",
      "old_id": "fde7494d857d3d1daa9898b565bc359ebc6b07e4",
      "old_mode": 33188,
      "old_path": "src/gn/visibility_unittest.cc",
      "new_id": "0122119e557829f9a7b7ce23550c56ac7e00b4ee",
      "new_mode": 33188,
      "new_path": "src/gn/visibility_unittest.cc"
    }
  ]
}
