)]}'
{
  "commit": "de7d06775c5cf071fb5a14b19d230f5e0845b9ef",
  "tree": "967a126338467cc2088f872b1cfa54ae32984943",
  "parents": [
    "801a56b48a7fe3c6e171073211cc62194184fe79"
  ],
  "author": {
    "name": "kylezhao",
    "email": "kylezhao@tencent.com",
    "time": "Wed Jul 14 19:02:12 2021 +0800"
  },
  "committer": {
    "name": "kylezhao",
    "email": "kylezhao@tencent.com",
    "time": "Tue Jan 10 14:56:33 2023 +0800"
  },
  "message": "RevWalk: integrate commit-graph with commit parsing\n\nRevWalk#createCommit() will inspect the commit-graph file to find the\nspecified object\u0027s graph position and then return a new RevCommitCG\ninstance.\n\nRevCommitGC is a RevCommit with an additional \"pointer\" (the position)\nto the commit-graph, so it can load the headers and metadata from there\ninstead of the pack. This saves IO access in walks where the body is not\nneeded (i.e. #isRetainBody is false and #parseBody is not invoked).\n\nRevWalk uses automatically the commit-graph if available, no action\nneeded from callers. The commit-graph is fetched on first access from\nthe reader (that internally can keep it loaded and reuse it between\nwalks).\n\nThe startup cost of reading the entire commit graph is small. After\ntesting, reading a commit-graph with 1 million commits takes less than\n50ms. If we use RepositoryCache, it will not be initialized util the\ncommit-graph is rewritten.\n\nBug: 574368\nChange-Id: I90d0f64af24f3acc3eae6da984eae302d338f5ee\nSigned-off-by: kylezhao \u003ckylezhao@tencent.com\u003e\n",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "05e023bb7cdc94755240e706b2a91d9697b0b12d",
      "new_mode": 33188,
      "new_path": "org.eclipse.jgit.test/tst/org/eclipse/jgit/revwalk/RevWalkCommitGraphTest.java"
    },
    {
      "type": "modify",
      "old_id": "162e0e2cb21b27670ec15da93b7f7278cc57df35",
      "old_mode": 33188,
      "old_path": "org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/commitgraph/CommitGraph.java",
      "new_id": "0796293f5286f79986abbb49ed0bb5afc259e2f3",
      "new_mode": 33188,
      "new_path": "org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/commitgraph/CommitGraph.java"
    },
    {
      "type": "modify",
      "old_id": "6b644cef906f7437ef05fd6e2b0a24bd1d6aef72",
      "old_mode": 33188,
      "old_path": "org.eclipse.jgit/src/org/eclipse/jgit/revwalk/RevCommit.java",
      "new_id": "e155a2563847eeff1e44e992cb0b2e476c1dc87e",
      "new_mode": 33188,
      "new_path": "org.eclipse.jgit/src/org/eclipse/jgit/revwalk/RevCommit.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b68f65b68c441f4a9903e058fe2c2673b44179ae",
      "new_mode": 33188,
      "new_path": "org.eclipse.jgit/src/org/eclipse/jgit/revwalk/RevCommitCG.java"
    },
    {
      "type": "modify",
      "old_id": "8da36c52438feec09b7212a99ba18db7d0bfc7fd",
      "old_mode": 33188,
      "old_path": "org.eclipse.jgit/src/org/eclipse/jgit/revwalk/RevWalk.java",
      "new_id": "a66e7c86bd736204a18fa0f826e9c1881f296919",
      "new_mode": 33188,
      "new_path": "org.eclipse.jgit/src/org/eclipse/jgit/revwalk/RevWalk.java"
    }
  ]
}
