)]}'
{
  "commit": "4feffb3bf58d9a42be13624ef8ecb1775a40eb8d",
  "tree": "00d5452b15968618cee7ea9f85ef14d1189a8ce3",
  "parents": [
    "65423ea1b1e4e396ad5cd68b500b8d5a450713f4"
  ],
  "author": {
    "name": "Shawn Pearce",
    "email": "spearce@spearce.org",
    "time": "Wed Apr 29 21:56:28 2015 -0700"
  },
  "committer": {
    "name": "Matthias Sohn",
    "email": "matthias.sohn@sap.com",
    "time": "Thu Apr 30 10:27:03 2015 -0400"
  },
  "message": "Add fsck.allowInvalidPersonIdent to accept invalid author/committers\n\nA larger than expected number of real-world repositories found on\nthe Internet contain invalid author, committer and tagger lines\nin their history. Many of these seem to be caused by users misusing\nthe user.name and user.email fields, e.g.:\n\n  [user]\n    name \u003d Au Thor \u003cauthor@example.com\u003e\n    email \u003d author@example.com\n\nthat some version of Git (or a reimplementation thereof) copied\ndirectly into the object header. These headers are not valid and\nare rejected by a strict fsck, making it impossible to transfer\nthe repository with JGit/EGit.\n\nAnother form is an invalid committer line with double negative for\nthe time zone, e.g.\n\n  committer Au Thor \u003ca@b\u003e 1288373970 --700\n\nThe real world is messy. :(\n\nAllow callers and users to weaken the fsck settings to accept these\nsorts of breakages if they really want to work on a repo that has\nbroken history.  Most routines will still function fine, however\ncommit timestamp sorting in RevWalk may become confused by a corrupt\ncommitter line and sort commits out of order. This is mostly fine if\nthe corrupted chain is shorter than the slop window.\n\nChange-Id: I6d529542c765c131de590f4f7ef8e7c1c8cb9db9",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c6578ccfae261e1375c378a07d96d5de15f9b5f2",
      "old_mode": 33188,
      "old_path": "org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ObjectCheckerTest.java",
      "new_id": "274757d95d19fcefd86a3fc177ce1a60e4b3a20f",
      "new_mode": 33188,
      "new_path": "org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ObjectCheckerTest.java"
    },
    {
      "type": "modify",
      "old_id": "8435c9a64b2707e9a9b4ffcda47de53238266ad3",
      "old_mode": 33188,
      "old_path": "org.eclipse.jgit/src/org/eclipse/jgit/lib/ObjectChecker.java",
      "new_id": "359b592952f0017d5cf3d09abe301546c7bd7332",
      "new_mode": 33188,
      "new_path": "org.eclipse.jgit/src/org/eclipse/jgit/lib/ObjectChecker.java"
    },
    {
      "type": "modify",
      "old_id": "b7a599bad5281464f469911e2f664826afccc584",
      "old_mode": 33188,
      "old_path": "org.eclipse.jgit/src/org/eclipse/jgit/transport/BaseReceivePack.java",
      "new_id": "cf1d92e8e878f2b7262b00cc061789b010e1ba59",
      "new_mode": 33188,
      "new_path": "org.eclipse.jgit/src/org/eclipse/jgit/transport/BaseReceivePack.java"
    },
    {
      "type": "modify",
      "old_id": "1de91a57ef093244645168326c0d67766a22e2ce",
      "old_mode": 33188,
      "old_path": "org.eclipse.jgit/src/org/eclipse/jgit/transport/TransferConfig.java",
      "new_id": "60043fff767a8639e5043d1248cff48ee6bb5d75",
      "new_mode": 33188,
      "new_path": "org.eclipse.jgit/src/org/eclipse/jgit/transport/TransferConfig.java"
    }
  ]
}
