)]}'
{
  "commit": "de3f435db5256bd5a106462dcfc0a2ccdce95450",
  "tree": "c3263399e3ebd8023fdcf088379d608cefe86706",
  "parents": [
    "a3665a6a8218cb19eef6bbddcbbc317258f616f1"
  ],
  "author": {
    "name": "Tom",
    "email": "tw201207@gmail.com",
    "time": "Wed Oct 26 21:37:19 2016 +0200"
  },
  "committer": {
    "name": "Tom",
    "email": "tw201207@gmail.com",
    "time": "Thu Oct 27 16:07:26 2016 +0200"
  },
  "message": "Issue #1076: load commit cache in a background thread\n\n* Make the CommitCache fully thread-safe. It was using a\n  ConcurrentHashMap containing lists, but then handed out these lists.\n  It also did multiple operations on that map that as a whole should\n  be atomic.\n  \n* Use isEmpty() instead of size() \u003d\u003d 0.\n\n* Run the loading of the commit cache in a background daemon thread",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e9bf5b8486dbf49cc68d3b6329379e96a302e5b1",
      "old_mode": 33188,
      "old_path": "src/main/java/com/gitblit/manager/RepositoryManager.java",
      "new_id": "ed26c7755273fa084f3a1e7721b10678092c808e",
      "new_mode": 33188,
      "new_path": "src/main/java/com/gitblit/manager/RepositoryManager.java"
    },
    {
      "type": "modify",
      "old_id": "1402ad5ee179d2b0da0e3b2799286bbbf3d08bcf",
      "old_mode": 33188,
      "old_path": "src/main/java/com/gitblit/utils/ArrayUtils.java",
      "new_id": "b850ccc9de46626036d0fdcd401cf3db25aca90b",
      "new_mode": 33188,
      "new_path": "src/main/java/com/gitblit/utils/ArrayUtils.java"
    },
    {
      "type": "modify",
      "old_id": "a3963f502c4e6e3cfc2944a258a8b721f73a41f4",
      "old_mode": 33188,
      "old_path": "src/main/java/com/gitblit/utils/CommitCache.java",
      "new_id": "53b8de196176340715b88d77311757c9f31f3223",
      "new_mode": 33188,
      "new_path": "src/main/java/com/gitblit/utils/CommitCache.java"
    }
  ]
}
