)]}'
{
  "commit": "468ce99b77a0efaf1ace4c31a7b0a7d036fd9ca1",
  "tree": "7399ea6e2d1eea755b78587f2c9a9c6f3fe7365f",
  "parents": [
    "65edd96aecdee2cd4d16a7c17ae9f723c3fe61a4"
  ],
  "author": {
    "name": "Derrick Stolee",
    "email": "dstolee@microsoft.com",
    "time": "Tue Sep 03 11:04:58 2019 -0700"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Thu Sep 05 14:05:12 2019 -0700"
  },
  "message": "unpack-trees: rename \u0027is_excluded_from_list()\u0027\n\nThe first consumer of pattern-matching filenames was the\n.gitignore feature. In that context, storing a list of patterns\nas a \u0027struct exclude_list\u0027  makes sense. However, the\nsparse-checkout feature then adopted these structures and methods,\nbut with the opposite meaning: these patterns match the files\nthat should be included!\n\nNow that this library is renamed to use \u0027struct pattern_list\u0027\nand \u0027struct pattern\u0027, we can now rename the method used by\nthe sparse-checkout feature to determine which paths should\nappear in the working directory.\n\nThe method is_excluded_from_list() is only used by the\nsparse-checkout logic in unpack-trees and list-objects-filter.\nThe confusing part is that it returned 1 for \"excluded\" (i.e.\nit matches the list of exclusions) but that really manes that\nthe path matched the list of patterns for _inclusion_ in the\nworking directory.\n\nRename the method to be path_matches_pattern_list() and have\nit return an explicit \u0027enum pattern_match_result\u0027. Here, the\nvalues MATCHED \u003d 1, UNMATCHED \u003d 0, and UNDECIDED \u003d -1 agree\nwith the previous integer values. This shift allows future\nconsumers to better understand what the retur values mean,\nand provides more type checking for handling those values.\n\nSigned-off-by: Derrick Stolee \u003cdstolee@microsoft.com\u003e\nSigned-off-by: Junio C Hamano \u003cgitster@pobox.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b057bd3d95a27c4bb4bc5f38f391438bddf634e7",
      "old_mode": 33188,
      "old_path": "dir.c",
      "new_id": "34972abdaf1d5b24713bfa8e97274adf2d99f135",
      "new_mode": 33188,
      "new_path": "dir.c"
    },
    {
      "type": "modify",
      "old_id": "7babf31d884a51b5eeeb251145791e1f698248e2",
      "old_mode": 33188,
      "old_path": "dir.h",
      "new_id": "608696c95831008bed2898d243e000a4d266086f",
      "new_mode": 33188,
      "new_path": "dir.h"
    },
    {
      "type": "modify",
      "old_id": "ccd58e61c396ddadeb48141625441f35b1794029",
      "old_mode": 33188,
      "old_path": "list-objects-filter.c",
      "new_id": "d624f1c898dbdb76c65525badb9b07062fbfb240",
      "new_mode": 33188,
      "new_path": "list-objects-filter.c"
    },
    {
      "type": "modify",
      "old_id": "902a799aeb379a2d71b5ff59135593e00d24f2c4",
      "old_mode": 33188,
      "old_path": "unpack-trees.c",
      "new_id": "cd548f4fa2d94447ae6ceefd0c260484c2075420",
      "new_mode": 33188,
      "new_path": "unpack-trees.c"
    }
  ]
}
