)]}'
{
  "commit": "fe01de69f44611049b664188652bf9e340f0b1f8",
  "tree": "542950f1d9919cfc0c705283b055cdf7f1ed6965",
  "parents": [
    "fb16a16c6bafa05ad4e3c9ee9f68870f8ffe25cd"
  ],
  "author": {
    "name": "Ravi Mistry",
    "email": "rmistry@google.com",
    "time": "Thu Jan 01 11:51:50 2026 -0500"
  },
  "committer": {
    "name": "ifrade",
    "email": "ifrade@google.com",
    "time": "Wed Aug 26 14:07:32 2026 -0700"
  },
  "message": "Blame: Add option to ignore revisions\n\nGit blame provides a \u0027--ignore-revs-file\u0027 option to skip over specified\nrevisions, allowing users to bypass large-scale formatting or\nrefactoring commits and assign blame to the real modifications instead\nof mass moves. JGit\u0027s BlameCommand and BlameGenerator were missing this\ncapability.\n\nThe new method setIgnoreRevs(Collection\u003c? extends ObjectId\u003e) on\nBlameGenerator and BlameCommand accepts commits to ignore. When an\nignored commit is encountered during forward blame traversal, modified\nregions are transferred to the parent candidate during diff processing\n(Candidate.takeBlame), preserving accurate line coordinate\ntransformations and supporting renames across ignored revisions.\nSpecifying ignored revisions disables using cached blame results.\n\nBug: jgit-181\nChange-Id: I66ca7365bee1dd8c46f78feb5a6ab06eb5491bcc\nSigned-off-by: Ravi Mistry \u003crmistry@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c2c06b2477f02299f636f4460cc2eba57665bfe3",
      "old_mode": 33188,
      "old_path": "org.eclipse.jgit.test/tst/org/eclipse/jgit/api/blame/BlameGeneratorTest.java",
      "new_id": "963a7c82dedb32221acb42d462ec972557fa7e5b",
      "new_mode": 33188,
      "new_path": "org.eclipse.jgit.test/tst/org/eclipse/jgit/api/blame/BlameGeneratorTest.java"
    },
    {
      "type": "modify",
      "old_id": "513853eaca29b10a76a7f969a8e7811df24f704b",
      "old_mode": 33188,
      "old_path": "org.eclipse.jgit/src/org/eclipse/jgit/api/BlameCommand.java",
      "new_id": "0b94654c90af7fb496eb2dcf275a7e2cda20ecc2",
      "new_mode": 33188,
      "new_path": "org.eclipse.jgit/src/org/eclipse/jgit/api/BlameCommand.java"
    },
    {
      "type": "modify",
      "old_id": "c3653dc1e72156b4a9e57dda6c93d52b61d8fbd4",
      "old_mode": 33188,
      "old_path": "org.eclipse.jgit/src/org/eclipse/jgit/blame/BlameGenerator.java",
      "new_id": "45f96f38d76d2f7317c204a8ce82d44e3655ce6c",
      "new_mode": 33188,
      "new_path": "org.eclipse.jgit/src/org/eclipse/jgit/blame/BlameGenerator.java"
    },
    {
      "type": "modify",
      "old_id": "8e2aaecf9484b72f00d467e3c45223be965a0c28",
      "old_mode": 33188,
      "old_path": "org.eclipse.jgit/src/org/eclipse/jgit/blame/Candidate.java",
      "new_id": "f04ec7c9cf89ff8007960fbb3add4299711090ae",
      "new_mode": 33188,
      "new_path": "org.eclipse.jgit/src/org/eclipse/jgit/blame/Candidate.java"
    }
  ]
}
