)]}'
{
  "commit": "2cf129598f7090d92083143095bfccafc6c9f3de",
  "tree": "07918e182525de517405858dbc4f444f676a31c6",
  "parents": [
    "b43baf21593b4c86206283eae76e3a801621a46d"
  ],
  "author": {
    "name": "Rob Ward",
    "email": "robert.ward114@googlemail.com",
    "time": "Sun Jan 26 20:38:12 2014 +0000"
  },
  "committer": {
    "name": "Rob Ward",
    "email": "robert.ward114@googlemail.com",
    "time": "Tue Feb 11 18:19:38 2014 +0000"
  },
  "message": "Add configuration for checking of Received Objects\n\nAdds ability to configure the checking of Received Objects that is\nperformed by jgit on a per project basis based on the project.config\n\nSee jgit setCheckReceivedObjects() function\n\nCurrently this is set to true in all cases so that all objects are\nchecked for validity. Unfortunetly some pre-existing repositories\nhave known issues within their git history with Invalid Trees written\nby other(non jgit) implementations. These issues can be seen in\nrepositories when git fsck --full is run.\n\nWhile doing this check is correct in most cases it causes issues when\nrepositories are being sync\u0027d from upstream servers or transfered from\nother git servers to gerrit.\n\nThis changes adds a git-checks section to the project.config that allows\nthe checkReceivedObjects key to be used to control this check.\n\nThe default is always true unless overridden in the project.config file.\n\nTest Procedure:\nIn order to test this you need to create a projects with the ability\nto directy upload changes/branches including merge commits. You will also\nneed the ability to forge author/commiter identity. This project should\nhave no initial commit.\n\nLocate a repository with the following formatted issue:\nwarning in tree \u003cSHA SUM\u003e: contains zero-padded file modes\n\nFirstly attempt to push the effected tree to the created project, this\nshould fail.\n\nClone the test project and checkout refs/meta/config modify the\nproject.config file to include:\n\n[receive]\n\tcheckReceivedObjects \u003d true\n\nUpload this new config and attempt to push the effected tree again, this\nshould still fail.\n\nModify the config to be:\n\n[receive]\n\tcheckReceivedObjects \u003d false\n\nUpload this config and then push the effected tree again, this should succeed.\n\nMore info regarding this issues is located here:\n\nhttps://groups.google.com/forum/#!topic/repo-discuss/O_TaspFfY7s\nhttps://groups.google.com/forum/#!topic/repo-discuss/b_jX_7pal3U\n\n---------------------\n\nChange-Id: I9f566557dfdc0a33c7c88d76fc7c247dd838dea4\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e86cdae74f5ab1dffc1a195d9d475b288ffa283c",
      "old_mode": 33188,
      "old_path": "Documentation/config-project-config.txt",
      "new_id": "2fb256f38c6069fd1ee1dc5bf8b2141e55ead092",
      "new_mode": 33188,
      "new_path": "Documentation/config-project-config.txt"
    },
    {
      "type": "modify",
      "old_id": "1db7b4aae6247d667f31f8ff8f82faabc2d192f9",
      "old_mode": 33188,
      "old_path": "gerrit-server/src/main/java/com/google/gerrit/server/git/ProjectConfig.java",
      "new_id": "55f4ff75ed91966f2e2f59972d9f622fd26ec52c",
      "new_mode": 33188,
      "new_path": "gerrit-server/src/main/java/com/google/gerrit/server/git/ProjectConfig.java"
    },
    {
      "type": "modify",
      "old_id": "29efb81d5d9ca6fa084adb2100998a1a4ff5aff5",
      "old_mode": 33188,
      "old_path": "gerrit-server/src/main/java/com/google/gerrit/server/git/ReceiveCommits.java",
      "new_id": "e602ccb0c8f051301fa1099027b31fd38d4af0ea",
      "new_mode": 33188,
      "new_path": "gerrit-server/src/main/java/com/google/gerrit/server/git/ReceiveCommits.java"
    }
  ]
}
