)]}'
{
  "commit": "31b722f4bfeef98a099d8ea695e1ce9ac8f95740",
  "tree": "29727e67317f2d0b0d500e37e958a0ccdde95b78",
  "parents": [
    "af2f2637cc847363501dbdfbe3ead02a0cc03887"
  ],
  "author": {
    "name": "Andrey Breslav",
    "email": "andrey.breslav@jetbrains.com",
    "time": "Thu Apr 11 18:13:54 2013 +0400"
  },
  "committer": {
    "name": "Andrey Breslav",
    "email": "andrey.breslav@jetbrains.com",
    "time": "Thu Apr 11 18:13:54 2013 +0400"
  },
  "message": "Simple (not thread-safe) memoized functions supported\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5dc358225882439628618a43e0161be66aa7bbcc",
      "old_mode": 33188,
      "old_path": "compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/storage/LockBasedStorageManager.java",
      "new_id": "c04fdef575fae52449e8b3b04b442290613f3ee2",
      "new_mode": 33188,
      "new_path": "compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/storage/LockBasedStorageManager.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a15accdf723beefe04472e0f8fad85789e8d388f",
      "new_mode": 33188,
      "new_path": "compiler/util/src/org/jetbrains/jet/utils/NotNullMemoizedFunction.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2a49b2ab30dc35a1f03814d2c2f0dc8f7100014b",
      "new_mode": 33188,
      "new_path": "compiler/util/src/org/jetbrains/jet/utils/NullableMemoizedFunction.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b5ce971d63621cf2fa3f8dcd08aa1e8eee4a5825",
      "new_mode": 33188,
      "new_path": "compiler/util/src/org/jetbrains/jet/utils/Nulls.java"
    }
  ]
}
