)]}'
{
  "commit": "d4a0bf86d688d1b68e00ff302858de5a4e0d9727",
  "tree": "4ec3e0c3cd6df214b71b713f857c178e6ebc4568",
  "parents": [
    "beb4505311011130a7e54632137b0fbb5824cc9b"
  ],
  "author": {
    "name": "Keir Mierle",
    "email": "mierle@gmail.com",
    "time": "Sun Feb 24 10:35:44 2013 -0800"
  },
  "committer": {
    "name": "Keir Mierle",
    "email": "mierle@gmail.com",
    "time": "Sun Feb 24 10:40:03 2013 -0800"
  },
  "message": "Fix threading build on Windows.\n\nOn Windows, including the \"windows.h\" header defines an enormous number of\nsymbols; some of which are macros with common names. In particular, \"ERROR\" and\n\"min\" and \"max\" get defined. This causes clashes when user code references\nthese names in a context other than the intended use in windows.h.\n\nTo deal with this, the Microsoft engineers added the ability to control the\ndefinition of these symbols by adding extra defines. In particular, including\nwindows.h in the following way\n\n  #define NOGDI\n  #define NOMINMAX\n\nwill reduce the number of macros defined. This way they will not conflict with\nother uses in Ceres. For example, numeric_limits\u003cdouble\u003e::max() is impossible\nto call without defining NOMINMAX.\n\nChange-Id: I166f5d3bb6dc0e2e4b2ebf800fb19e49206f7874\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5090a71b78d6126e6b9d0acdbe429c0bb99b87e1",
      "old_mode": 33188,
      "old_path": "internal/ceres/mutex.h",
      "new_id": "410748ff0ab7af924e112f95bf69b580093aaedf",
      "new_mode": 33188,
      "new_path": "internal/ceres/mutex.h"
    }
  ]
}
