)]}'
{
  "commit": "fd44b9f8d89ce4f33ff39d7f340a5ed08029d21c",
  "tree": "24268cde0a4afd99c6500691f949687c65ce5985",
  "parents": [
    "0793e3dd07b8ecb5bd0a0e91740f68f42f4f7e60"
  ],
  "author": {
    "name": "Tom Cherry",
    "email": "tomcherry@google.com",
    "time": "Wed Nov 08 14:01:00 2017 -0800"
  },
  "committer": {
    "name": "Tom Cherry",
    "email": "tomcherry@google.com",
    "time": "Tue Nov 14 08:50:52 2017 -0800"
  },
  "message": "Split system_properties.cpp into its component pieces\n\nsystem_properties.cpp is a little bit unmanageable in its current\nform, and is overdue for a refactoring into more clearly defined\ncomponents.\n\nOf particular interest, is creating of a Contexts interface that\nhandles mapping of system property name -\u003e SEContext and its\nassociated prop_area, and creating two classes that implement the\ncurrent and legacy functionality.  This is needed as there will likely\nbe a third even newer way to do this mapping.\n\nBug: 36001741\nTest: boot bullhead, system property unit tests\nChange-Id: Ie75ec6fea1a95f90813918f54669d533e51327c6\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "39bd2ec2ff5c00c72c5bb0491d5c083f74b25ae8",
      "old_mode": 33188,
      "old_path": "libc/Android.bp",
      "new_id": "69eba454f5cd621cffe5ae9c83897ef77f435ac6",
      "new_mode": 33188,
      "new_path": "libc/Android.bp"
    },
    {
      "type": "delete",
      "old_id": "1a7a3598c853bb8807a4f0d28f419dd0bb949c8d",
      "old_mode": 33188,
      "old_path": "libc/bionic/system_properties.cpp",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "440b865a95e5e10c5fbec4f2e119852e89f5824a",
      "new_mode": 33188,
      "new_path": "libc/system_properties/context_node.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1c6cbbb8e65adf4737432b4fe6736664feaa9237",
      "new_mode": 33188,
      "new_path": "libc/system_properties/context_node.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9910ed1303f6116b91a349dc974a1795722d72c4",
      "new_mode": 33188,
      "new_path": "libc/system_properties/contexts.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7e83a3750f1d22b9618720e442fdb91d4df727c6",
      "new_mode": 33188,
      "new_path": "libc/system_properties/contexts_pre_split.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "964a1e436238e9cffaebd07e1f1a3faa3b65d45f",
      "new_mode": 33188,
      "new_path": "libc/system_properties/contexts_split.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "fced33cec9567b5f7cfc8f0762c19e1fbb118e8f",
      "new_mode": 33188,
      "new_path": "libc/system_properties/contexts_split.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f6c7fa11231a564ed20d429756f17b0cd2b3b1ab",
      "new_mode": 33188,
      "new_path": "libc/system_properties/prop_area.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6b74e10cde32d959099e8709c8fff056cc412a94",
      "new_mode": 33188,
      "new_path": "libc/system_properties/prop_area.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5123f925009bc9cfbbb87e94efb6b7b8cff4245e",
      "new_mode": 33188,
      "new_path": "libc/system_properties/prop_info.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "99bcaafbe210ed9af7ffa35a140568eec7c3fb52",
      "new_mode": 33188,
      "new_path": "libc/system_properties/prop_info.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5d13404ecf9f2bd766d4546434de48806d126629",
      "new_mode": 33188,
      "new_path": "libc/system_properties/system_properties.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e37a4ac912035ef758998d2d06d2f66d1a165228",
      "new_mode": 33188,
      "new_path": "libc/system_properties/system_property_globals.h"
    }
  ]
}
