)]}'
{
  "commit": "2c8ddbd3a2829ed2082535f8778be9d4709d0f61",
  "tree": "ce5fb26a99578d7d8c53f75cadd69f3ac32de266",
  "parents": [
    "43221cc60541f30db8c80b70ce1f9666cabaf0ad"
  ],
  "author": {
    "name": "Ravi Mistry",
    "email": "rmistry@google.com",
    "time": "Tue Oct 06 18:10:35 2026 +0000"
  },
  "committer": {
    "name": "Ravi Mistry",
    "email": "rmistry@google.com",
    "time": "Tue Oct 06 18:10:35 2026 +0000"
  },
  "message": "BlameServlet: Honor .git-blame-ignore-revs\n\nSkip bulk reformatting and other mechanical revisions during blame,\nattributing lines to the last meaningful change.\n\nIf .git-blame-ignore-revs exists at the root of the repository in the\ntree of the revision being blamed, its listed revisions are ignored\nwhen computing blame. If the file is missing, too large or cannot be\nread, blame ignores no revisions instead of failing the request.\n\nBoth the HTML and the JSON blame views honor the file. BlameCacheImpl\nsupports ignored revisions and includes them in its cache key.\n\nChange-Id: I9290cb31e3793e1e72e210b9c841a8508fe92046\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "179b5d61754a3b459a31efbd1aa6a003f11c5fd7",
      "old_mode": 33188,
      "old_path": "java/com/google/gitiles/blame/BlameServlet.java",
      "new_id": "a950ccb4f0ae11725df73da6b9be656e17aab594",
      "new_mode": 33188,
      "new_path": "java/com/google/gitiles/blame/BlameServlet.java"
    },
    {
      "type": "modify",
      "old_id": "d05b0821fde2f796db736294aa10c81c78c03bec",
      "old_mode": 33188,
      "old_path": "javatests/com/google/gitiles/blame/BlameServletTest.java",
      "new_id": "58a872c6440aa35ca5f76a65f8028761e21c22d7",
      "new_mode": 33188,
      "new_path": "javatests/com/google/gitiles/blame/BlameServletTest.java"
    }
  ]
}
