)]}'
{
  "commit": "65edd96aecdee2cd4d16a7c17ae9f723c3fe61a4",
  "tree": "bd91b97a0abd9a03d446a8b5dbcc016bcef897c5",
  "parents": [
    "4ff89ee52cd3cf6e38a11bb94e43df1b53c56eec"
  ],
  "author": {
    "name": "Derrick Stolee",
    "email": "dstolee@microsoft.com",
    "time": "Tue Sep 03 11:04:57 2019 -0700"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Thu Sep 05 14:05:12 2019 -0700"
  },
  "message": "treewide: rename \u0027exclude\u0027 methods to \u0027pattern\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\nIt would be clearer to rename this entire library as a \"pattern\nmatching\" library, and the callers apply exclusion/inclusion\nlogic accordingly based on their needs.\n\nThis commit renames several methods defined in dir.h to make\nmore sense with the renamed \u0027struct exclude_list\u0027 to \u0027struct\npattern_list\u0027 and \u0027struct exclude\u0027 to \u0027struct path_pattern\u0027:\n\n * last_exclude_matching() -\u003e last_matching_pattern()\n * parse_exclude() -\u003e parse_path_pattern()\n\nIn addition, the word \u0027exclude\u0027 was replaced with \u0027pattern\u0027\nin the methods below:\n\n * add_exclude_list()\n * add_excludes_from_file_to_list()\n * add_excludes_from_file()\n * add_excludes_from_blob_to_list()\n * add_exclude()\n * clear_exclude_list()\n\nA few methods with the word \"exclude\" remain. These will\nbe handled seperately. In particular, the method\n\"is_excluded()\" is concretely about the .gitignore file\nrelative to a specific directory. This is the important\nboundary between library and consumer: is_excluded() cares\nabout .gitignore, but is_excluded() calls\nlast_matching_pattern() to make that decision.\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": "6553d69e332ce95ba194a156518fa9f69d7d24f0",
      "old_mode": 33188,
      "old_path": "Documentation/RelNotes/2.7.1.txt",
      "new_id": "6323feaf6497458cd196369fa3036d4260b81c29",
      "new_mode": 33188,
      "new_path": "Documentation/RelNotes/2.7.1.txt"
    },
    {
      "type": "modify",
      "old_id": "25079710fa28155cf8d2747d9cbca14fcd84f360",
      "old_mode": 33188,
      "old_path": "Documentation/RelNotes/2.8.0.txt",
      "new_id": "5fbe1b86eeaca111ecef74b909c361172ca506ba",
      "new_mode": 33188,
      "new_path": "Documentation/RelNotes/2.8.0.txt"
    },
    {
      "type": "modify",
      "old_id": "5abb8e8b1fdb37f9948ea2e09bae6380cb11041b",
      "old_mode": 33188,
      "old_path": "Documentation/technical/api-directory-listing.txt",
      "new_id": "76b6e4f71b9021a0bb0c06974a5cb038904cb456",
      "new_mode": 33188,
      "new_path": "Documentation/technical/api-directory-listing.txt"
    },
    {
      "type": "modify",
      "old_id": "d90239869a894c4574dbc35bdee68e8a1caece96",
      "old_mode": 33188,
      "old_path": "attr.c",
      "new_id": "d02d081e28dc3af043da15a522a605eeed6d92bf",
      "new_mode": 33188,
      "new_path": "attr.c"
    },
    {
      "type": "modify",
      "old_id": "28b8f14999f506f68926d43f6c4e91046ef3c9ff",
      "old_mode": 33188,
      "old_path": "builtin/check-ignore.c",
      "new_id": "5a4f92395f371438cbfc0582c77666622b9c0b3d",
      "new_mode": 33188,
      "new_path": "builtin/check-ignore.c"
    },
    {
      "type": "modify",
      "old_id": "d8c847d9fd2f433d692626f94b9dbda2a2e2ceb0",
      "old_mode": 33188,
      "old_path": "builtin/clean.c",
      "new_id": "4920c925938c7e38b65db840c91044fe3cbb30b7",
      "new_mode": 33188,
      "new_path": "builtin/clean.c"
    },
    {
      "type": "modify",
      "old_id": "df8918a12842e903e37aa64f0eeebb13a3ccda49",
      "old_mode": 33188,
      "old_path": "builtin/ls-files.c",
      "new_id": "5acc39694984ab638396e778ac06cbe61a9c704f",
      "new_mode": 33188,
      "new_path": "builtin/ls-files.c"
    },
    {
      "type": "modify",
      "old_id": "640f10973e2d7a09b333f969f15a6cba5f1d7494",
      "old_mode": 33188,
      "old_path": "dir.c",
      "new_id": "b057bd3d95a27c4bb4bc5f38f391438bddf634e7",
      "new_mode": 33188,
      "new_path": "dir.c"
    },
    {
      "type": "modify",
      "old_id": "87eb10662f5639ec618240cb542ef2164af85814",
      "old_mode": 33188,
      "old_path": "dir.h",
      "new_id": "7babf31d884a51b5eeeb251145791e1f698248e2",
      "new_mode": 33188,
      "new_path": "dir.h"
    },
    {
      "type": "modify",
      "old_id": "a1fedf8bd84dec742a61ff2b799312cfee44e48a",
      "old_mode": 33188,
      "old_path": "list-objects-filter.c",
      "new_id": "ccd58e61c396ddadeb48141625441f35b1794029",
      "new_mode": 33188,
      "new_path": "list-objects-filter.c"
    },
    {
      "type": "modify",
      "old_id": "c4dc21affb479aa84a1a617414e642524da2ae8c",
      "old_mode": 33188,
      "old_path": "unpack-trees.c",
      "new_id": "902a799aeb379a2d71b5ff59135593e00d24f2c4",
      "new_mode": 33188,
      "new_path": "unpack-trees.c"
    }
  ]
}
