)]}'
{
  "commit": "e3696980163bdbd3bc56e5ffc69e8770015f366f",
  "tree": "cf50d1beba279fbfca4d628aa23de5defdbabe1d",
  "parents": [
    "ed591febb4a201ce48b34a4e90027414cd0d7966"
  ],
  "author": {
    "name": "Derrick Stolee",
    "email": "dstolee@microsoft.com",
    "time": "Mon Mar 30 00:31:27 2020 +0000"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Mon Mar 30 09:59:53 2020 -0700"
  },
  "message": "diff: halt tree-diff early after max_changes\n\nWhen computing the changed-paths bloom filters for the commit-graph,\nwe limit the size of the filter by restricting the number of paths\nin the diff. Instead of computing a large diff and then ignoring the\nresult, it is better to halt the diff computation early.\n\nCreate a new \"max_changes\" option in struct diff_options. If non-zero,\nthen halt the diff computation after discovering strictly more changed\npaths. This includes paths corresponding to trees that change.\n\nUse this max_changes option in the bloom filter calculations. This\nreduces the time taken to compute the filters for the Linux kernel\nrepo from 2m50s to 2m35s. On a large internal repository with ~500\ncommits that perform tree-wide changes, the time reduced from\n6m15s to 3m48s.\n\nSigned-off-by: Derrick Stolee \u003cdstolee@microsoft.com\u003e\nSigned-off-by: Garima Singh \u003cgarima.singh@microsoft.com\u003e\nSigned-off-by: Junio C Hamano \u003cgitster@pobox.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "881a9841ede14bd2b05d04722d418f227a3a10bd",
      "old_mode": 33188,
      "old_path": "bloom.c",
      "new_id": "a16eee92331183cb18232037c7d659646008b4ca",
      "new_mode": 33188,
      "new_path": "bloom.c"
    },
    {
      "type": "modify",
      "old_id": "6febe7e3656ae4da3923d9485bb9dee10c1d5acd",
      "old_mode": 33188,
      "old_path": "diff.h",
      "new_id": "9443dc1b0039026ba6c32efd3e445fa61a0860f5",
      "new_mode": 33188,
      "new_path": "diff.h"
    },
    {
      "type": "modify",
      "old_id": "33ded7f8b3e71069f7a75bf7524443f3d81b7532",
      "old_mode": 33188,
      "old_path": "tree-diff.c",
      "new_id": "f3d303c6e541acd4ab715c0a5a329abdc24e7819",
      "new_mode": 33188,
      "new_path": "tree-diff.c"
    }
  ]
}
