)]}'
{
  "commit": "74cdea34cd6dce8bf9b4adaa2cd7cb02330120d5",
  "tree": "fb33d7640471c3e5164333e188970630757d6513",
  "parents": [
    "14c991cf97ec2505ff30d8fbb29f241a846feafe"
  ],
  "author": {
    "name": "Shane Farmer",
    "email": "safarmer@google.com",
    "time": "Fri May 12 16:22:36 2017 -0700"
  },
  "committer": {
    "name": "Shane Farmer",
    "email": "safarmer@google.com",
    "time": "Wed May 31 16:18:31 2017 -0700"
  },
  "message": "AAPT2: XML configuration file parser.\n\nThe XML file is parsed with the aapt::xml::XmlDom parser and actions are\nused for the elements we are interested in. This means that there are\ncases where a user could add aditional tags/elements to the document\nthat are technically invalid (acording to the schema) but are ignored by\nthe parser. This allows us to be more lenient which probably isn\u0027t a bad\nthing.\n\nDocuments have the namespace stripped before processing as the\nXmlActionExecutor ignores any elements with a namespace. The namespace\nis validated before being removed.\n\nThe test cases are all based off the previous example XML file.\n\nTest: Unit tests\n\nChange-Id: I86d7e0dc6347ace3eaa60c1842d59f3cd0d4f749\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b2f1f62647e6868c9b64a5397e0285ed17f2acf2",
      "old_mode": 33188,
      "old_path": "tools/aapt2/Android.bp",
      "new_id": "064d86411463380b89b93080534c4b18013fbbb3",
      "new_mode": 33188,
      "new_path": "tools/aapt2/Android.bp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "89618d3a46762ec542f72e44b7ecbb7672a198bc",
      "new_mode": 33188,
      "new_path": "tools/aapt2/configuration/ConfigurationParser.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0fb2f714a76c9edad427a6c9b7057ab1d406028d",
      "new_mode": 33188,
      "new_path": "tools/aapt2/configuration/ConfigurationParser.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "72a97b273cb097d702d2a23870494d5646a26a5f",
      "new_mode": 33188,
      "new_path": "tools/aapt2/configuration/ConfigurationParser_test.cpp"
    }
  ]
}
