)]}'
{
  "commit": "22b147a963e0c1ef05df63b4bc562a7f539ea61e",
  "tree": "adeeeefddf1214c687ad42b19bd46da99765849a",
  "parents": [
    "2c42f81a99eb15de1422387b335337c92576ee96"
  ],
  "author": {
    "name": "Eric Fiselier",
    "email": "eric@efcs.ca",
    "time": "Fri Mar 20 22:09:29 2015 +0000"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Wed Feb 12 23:49:19 2020 -0800"
  },
  "message": "Add symbol checking script to libc++ to help manage exported symbols.\n\nSummary:\nAdd symbol checking scripts for extracting a list of symbols from shared libraries and for comparing symbol lists for differences.\n\nReviewers: mclow.lists, danalbert, EricWF\n\nReviewed By: EricWF\n\nSubscribers: majnemer, emaste, cfe-commits\n\nDifferential Revision: http://reviews.llvm.org/D4946\n\nllvm-svn: 232855\nGitOrigin-RevId: 9bf753cf07547d2a4501daea8b1cab476a310814\n",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4d9d1d4b9e30dc4772c5237b746b12ac17c3db0b",
      "new_mode": 33188,
      "new_path": "utils/sym_check/linux_blacklist.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "cfa911ed74e5b9a65fb4a29a474fc6ac46f63243",
      "new_mode": 33188,
      "new_path": "utils/sym_check/osx_blacklist.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3c668036e47c28cda09aa958c7f68850be2f9172",
      "new_mode": 33188,
      "new_path": "utils/sym_check/sym_check/__init__.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a16e54d34e012447084a9330d8aef1b03141cdb6",
      "new_mode": 33188,
      "new_path": "utils/sym_check/sym_check/diff.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3887f60d46bad7987fc3f27354d80f234b8d1790",
      "new_mode": 33188,
      "new_path": "utils/sym_check/sym_check/extract.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9f496427e372f4a1ba880181a3258bd042b02cdd",
      "new_mode": 33188,
      "new_path": "utils/sym_check/sym_check/match.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7880b5adccc65977a3f0febdb41ca2fe3922e57a",
      "new_mode": 33188,
      "new_path": "utils/sym_check/sym_check/util.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "054c6c18e3e346a881a971102cc404b0ed324934",
      "new_mode": 33261,
      "new_path": "utils/sym_check/sym_diff.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5d8953986b283d9ce21d5a12c9811a04c2df2e64",
      "new_mode": 33261,
      "new_path": "utils/sym_check/sym_extract.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c60b24629353c6a3a1f9c304167c4febab4a6e71",
      "new_mode": 33261,
      "new_path": "utils/sym_check/sym_match.py"
    }
  ]
}
