)]}'
{
  "commit": "4f3644056ad2b4c46ed0bcce72f5a1eb5b92bd7f",
  "tree": "8260653066ec8e0b14769325552b180e1f68c24d",
  "parents": [
    "dc04167d378fb29d30e1647ff6ff51dd182bc9a3"
  ],
  "author": {
    "name": "Taylor Blau",
    "email": "me@ttaylorr.com",
    "time": "Wed Sep 09 11:22:44 2020 -0400"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Wed Sep 09 12:51:48 2020 -0700"
  },
  "message": "commit-graph: introduce \u0027get_bloom_filter_settings()\u0027\n\nMany places in the code often need a pointer to the commit-graph\u0027s\n\u0027struct bloom_filter_settings\u0027, in which case they often take the value\nfrom the top-most commit-graph.\n\nIn the non-split case, this works as expected. In the split case,\nhowever, things get a little tricky. Not all layers in a chain of\nincremental commit-graphs are required to themselves have Bloom data,\nand so whether or not some part of the code uses Bloom filters depends\nentirely on whether or not the top-most level of the commit-graph chain\nhas Bloom filters.\n\nThis has been the behavior since Bloom filters were introduced, and has\nbeen codified into the tests since a759bfa9ee (t4216: add end to end\ntests for git log with Bloom filters, 2020-04-06). In fact, t4216.130\nrequires that Bloom filters are not used in exactly the case described\nearlier.\n\nThere is no reason that this needs to be the case, since it is perfectly\nvalid for commits in an earlier layer to have Bloom filters when commits\nin a newer layer do not.\n\nSince Bloom settings are guaranteed in practice to be the same for any\nlayer in a chain that has Bloom data, it is sufficient to traverse the\n\u0027-\u003ebase_graph\u0027 pointer until either (1) a non-null \u0027struct\nbloom_filter_settings *\u0027 is found, or (2) until we are at the root of\nthe commit-graph chain.\n\nIntroduce a \u0027get_bloom_filter_settings()\u0027 function that does just this,\nand use it instead of purely dereferencing the top-most graph\u0027s\n\u0027-\u003ebloom_filter_settings\u0027 pointer.\n\nWhile we\u0027re at it, add an additional test in t5324 to guard against code\nin the commit-graph writing machinery that doesn\u0027t correctly handle a\nNULL \u0027struct bloom_filter *\u0027.\n\nCo-authored-by: Derrick Stolee \u003cdstolee@microsoft.com\u003e\nSigned-off-by: Taylor Blau \u003cme@ttaylorr.com\u003e\nSigned-off-by: Junio C Hamano \u003cgitster@pobox.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "82fa16d6585b90e3635d87f6adc1e4856524f7d6",
      "old_mode": 33188,
      "old_path": "blame.c",
      "new_id": "3e5f8787bc446af4d13c528a260254e50b5a8a8f",
      "new_mode": 33188,
      "new_path": "blame.c"
    },
    {
      "type": "modify",
      "old_id": "1a573226e70e571b49a7af29d49740768b1465af",
      "old_mode": 33188,
      "old_path": "bloom.c",
      "new_id": "cd9380ac623d4a01ec04ebd2110747e756c70df4",
      "new_mode": 33188,
      "new_path": "bloom.c"
    },
    {
      "type": "modify",
      "old_id": "e51c91dd5b0af4e4946091e5ca7f06707b3a0c5b",
      "old_mode": 33188,
      "old_path": "commit-graph.c",
      "new_id": "d4b06811bec068f0656df7c5e279a222203e0fb8",
      "new_mode": 33188,
      "new_path": "commit-graph.c"
    },
    {
      "type": "modify",
      "old_id": "09a97030dcd8a2ea570da097d6f27a5d0cbaf934",
      "old_mode": 33188,
      "old_path": "commit-graph.h",
      "new_id": "0677dd1031a9d4bf9b8534b03392d9fc38140725",
      "new_mode": 33188,
      "new_path": "commit-graph.h"
    },
    {
      "type": "modify",
      "old_id": "6de29cdf7a1cbb6138ba0e9bbdd1216085674e76",
      "old_mode": 33188,
      "old_path": "revision.c",
      "new_id": "c45ed1076edd59f508787f8c2dac76d40f43c566",
      "new_mode": 33188,
      "new_path": "revision.c"
    },
    {
      "type": "modify",
      "old_id": "c21cc160f3bb9dac91ce222e4fda5216927c1859",
      "old_mode": 33261,
      "old_path": "t/t4216-log-bloom.sh",
      "new_id": "c9f9bdf1ba199b100cb505ac95abeae6f9c49a03",
      "new_mode": 33261,
      "new_path": "t/t4216-log-bloom.sh"
    },
    {
      "type": "modify",
      "old_id": "9b850ea9070f8081b1709b2646a73535e77b15d2",
      "old_mode": 33261,
      "old_path": "t/t5324-split-commit-graph.sh",
      "new_id": "5bdfd53ef954606d439574e2dd456763001dc82e",
      "new_mode": 33261,
      "new_path": "t/t5324-split-commit-graph.sh"
    }
  ]
}
