)]}'
{
  "commit": "daa0c3d9717624a62ce669252be832db12658ec0",
  "tree": "523e3e1d6c1d94bff9632b5e8f3da8a2d3799a18",
  "parents": [
    "e269eb7946d0a4ba6a4e175133b5479446ac04a5"
  ],
  "author": {
    "name": "Jeff King",
    "email": "peff@peff.net",
    "time": "Wed Aug 17 22:04:23 2011 -0700"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Fri Aug 19 15:51:34 2011 -0700"
  },
  "message": "color: delay auto-color decision until point of use\n\nWhen we read a color value either from a config file or from\nthe command line, we use git_config_colorbool to convert it\nfrom the tristate always/never/auto into a single yes/no\nboolean value.\n\nThis has some timing implications with respect to starting\na pager.\n\nIf we start (or decide not to start) the pager before\nchecking the colorbool, everything is fine. Either isatty(1)\nwill give us the right information, or we will properly\ncheck for pager_in_use().\n\nHowever, if we decide to start a pager after we have checked\nthe colorbool, things are not so simple. If stdout is a tty,\nthen we will have already decided to use color. However, the\nuser may also have configured color.pager not to use color\nwith the pager. In this case, we need to actually turn off\ncolor. Unfortunately, the pager code has no idea which color\nvariables were turned on (and there are many of them\nthroughout the code, and they may even have been manipulated\nafter the colorbool selection by something like \"--color\" on\nthe command line).\n\nThis bug can be seen any time a pager is started after\nconfig and command line options are checked. This has\naffected \"git diff\" since 89d07f7 (diff: don\u0027t run pager if\nuser asked for a diff style exit code, 2007-08-12). It has\nalso affect the log family since 1fda91b (Fix \u0027git log\u0027\nearly pager startup error case, 2010-08-24).\n\nThis patch splits the notion of parsing a colorbool and\nactually checking the configuration. The \"use_color\"\nvariables now have an additional possible value,\nGIT_COLOR_AUTO. Users of the variable should use the new\n\"want_color()\" wrapper, which will lazily determine and\ncache the auto-color decision.\n\nSigned-off-by: Jeff King \u003cpeff@peff.net\u003e\nSigned-off-by: Junio C Hamano \u003cgitster@pobox.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b15fee5e31893ece7f0d9f7d6cd2b8c1f51ab6f4",
      "old_mode": 33188,
      "old_path": "builtin/branch.c",
      "new_id": "d6d3c7d85bcb1626a4bdee29f03b6b812e0c017a",
      "new_mode": 33188,
      "new_path": "builtin/branch.c"
    },
    {
      "type": "modify",
      "old_id": "5505ced8c13c5b7a93baa02fe6bd23c54fc1b1b1",
      "old_mode": 33188,
      "old_path": "builtin/config.c",
      "new_id": "3a092966d2563cccaabc3277fa1ce22f68113d50",
      "new_mode": 33188,
      "new_path": "builtin/config.c"
    },
    {
      "type": "modify",
      "old_id": "e6650b483722b9c5ad2df1d6eb59af1cb9a88c39",
      "old_mode": 33188,
      "old_path": "builtin/show-branch.c",
      "new_id": "4b726fabde153ad0e203e986a9070cf144f1cbaf",
      "new_mode": 33188,
      "new_path": "builtin/show-branch.c"
    },
    {
      "type": "modify",
      "old_id": "67affa4765cff33186766143f935f7f7ec3ec91c",
      "old_mode": 33188,
      "old_path": "color.c",
      "new_id": "85864176a6ff143dea5602040bd9b89078f24bb1",
      "new_mode": 33188,
      "new_path": "color.c"
    },
    {
      "type": "modify",
      "old_id": "a190a2522b12aa8711ff1ec74bd9a861b8267e35",
      "old_mode": 33188,
      "old_path": "color.h",
      "new_id": "b413e0eaceba3662bf8306dee6a2c2590aff3c20",
      "new_mode": 33188,
      "new_path": "color.h"
    },
    {
      "type": "modify",
      "old_id": "1f87f23190fd9817a2bae388197a1ca26cd7e1ae",
      "old_mode": 33188,
      "old_path": "diff.c",
      "new_id": "0496cdc0197ced2196e45d8e54c1f930f4ee4611",
      "new_mode": 33188,
      "new_path": "diff.c"
    },
    {
      "type": "modify",
      "old_id": "556834a973863fa2bc3f9f8d02fe16cabc4359d8",
      "old_mode": 33188,
      "old_path": "graph.c",
      "new_id": "7358416a72e855b406e026036cf61bcdd15e5142",
      "new_mode": 33188,
      "new_path": "graph.c"
    },
    {
      "type": "modify",
      "old_id": "d03d9e24c23eff2d60ae7226a412f3ccf66670fd",
      "old_mode": 33188,
      "old_path": "grep.c",
      "new_id": "e52654b20b51a9f8de5e28159136dbac96f6e889",
      "new_mode": 33188,
      "new_path": "grep.c"
    },
    {
      "type": "modify",
      "old_id": "9ba8fb2af37ae0b027b4f9df1f01e3bcf1f2888c",
      "old_mode": 33188,
      "old_path": "log-tree.c",
      "new_id": "95d6d4080e2eeee6725efc458134ea493ac4c06a",
      "new_mode": 33188,
      "new_path": "log-tree.c"
    },
    {
      "type": "modify",
      "old_id": "4884e1b40c8a40e549f877493643296a9b0855e0",
      "old_mode": 33261,
      "old_path": "t/t7006-pager.sh",
      "new_id": "458233693bde83ddbd5c9264cf8f9d31401668bb",
      "new_mode": 33261,
      "new_path": "t/t7006-pager.sh"
    },
    {
      "type": "modify",
      "old_id": "da4bce5816c1437c2f761db9d8aedbcb72aba019",
      "old_mode": 33188,
      "old_path": "wt-status.c",
      "new_id": "f2016dcdcc657421b95e6adb751d099dd7804f9d",
      "new_mode": 33188,
      "new_path": "wt-status.c"
    }
  ]
}
