)]}'
{
  "log": [
    {
      "commit": "42ee14279065352a4b9a3e8028d02c567e847d05",
      "tree": "55b1ba08ff4202f13cfa0a0b303b62e48183805e",
      "parents": [
        "82f3e09e27284056a4007a6c38fce832d877f672"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 06 12:33:32 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 06 12:47:47 2011 -0700"
      },
      "message": "Log line-at-a-time to work around Android logging lossage.\n\nAlso deduplicate the two copies of gettid, and switch image_test over\nto using SignalCatcher\u0027s SIGQUIT dumping rather than rolling its own\nsubset.\n\nChange-Id: I8b70aaa3a3b9258c8258728c6a66e5dc4fa6399e\n"
    },
    {
      "commit": "90a3369d3b6238f1a4c9b19ca68978dab1c39bc4",
      "tree": "b66ec9b2cced5713bd5902c499d57b533d2e7a9a",
      "parents": [
        "34023801bd544e613d6e85c9a5b2e743f3710e8f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 30 13:27:07 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 30 13:27:45 2011 -0700"
      },
      "message": "Switch to UniquePtr.\n\nOnly one use of scoped_ptr was incorrect (but then again, I spent an afternoon\nwith valgrind finding and fixing them just last week).\n\nChange-Id: If5ec1c8aa0794a4f652bfd1c0fffccf95facdc40\n"
    },
    {
      "commit": "ce8d9f53b4284b0897b01ac2d192ba6ff26e9922",
      "tree": "13a001139c69970295836a00c59dbd82c013d1c6",
      "parents": [
        "4b093bfcbddd0e8f708da87f333cc98bc9f233e1"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 25 13:55:20 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 25 13:55:20 2011 -0700"
      },
      "message": "Reset the stream state at the end of each line of logging.\n\nThe Android logging always behaved like this (because there\u0027s a new\nunderlying std::stringstream each time), but on Linux we were mutating\nstd::cerr.\n\nChange-Id: I991cb769f783f82aea53ec023e3aea330a1a304c\n"
    },
    {
      "commit": "ad107abee00fb523b9fda575a40395e9d6d9510d",
      "tree": "9db5ff4af4613224ed136bedce10b88538933bff",
      "parents": [
        "650a07d237f219ee6f23cfe939118e6f9c48f4d3"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Sun Aug 14 15:54:24 2011 -0700"
      },
      "committer": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Sun Aug 14 15:54:24 2011 -0700"
      },
      "message": "Remove author attributions.\n\nChange-Id: I58d2983ce41f6b3f3a4e1bbd1d075e794b8257e3\n"
    },
    {
      "commit": "ffe6736397d17457188727510f0a2953f69a383a",
      "tree": "0d03bee69cf0cfecf76253fe3cb5f6898ae64faa",
      "parents": [
        "a5780dad67556297c8ca5f2608c53b193e6c4514"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Jul 17 12:09:27 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Jul 17 12:22:59 2011 -0700"
      },
      "message": "Implement Runtime::Abort and switch LOG(FATAL) over to it.\n\nRuntime::Abort takes arguments so it can provide less misleading log output,\nbut this shouldn\u0027t matter to callers because they should be using LOG(FATAL)\nanyway.\n\nThis patch also fixes an errno/errno_ mixup in the logging code.\n\nChange-Id: If24b66b7bbf0bf7c0ecb93dd806d82b1d21ee239\n"
    },
    {
      "commit": "eb4f614f2eb53b92ebd416fa418f550861655887",
      "tree": "71e0df5217ab8b4e9fb71bb24abac41777ca1084",
      "parents": [
        "f10edcac1f8ab835d60fc8268f8c574005619998"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 15 17:43:51 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Jul 17 10:44:51 2011 -0700"
      },
      "message": "Flesh out the logging implementation.\n\nAdd PLOG and ensure we have CHECK_STREQ and CHECK_STRNE to go with\nthe existing non-functional DCHECK_STREQ and DCHECK_STRNE.\n\nThis also gives us two different logging implementations, one for\nthe host that just uses std::cerr, and one for Android that uses\nthe Android log.\n\nAlso bring in the StringPrintf family.\n\nChange-Id: I8e190c2c58f26b22ee76a2a87d447df6eb0fa73b\n"
    }
  ]
}
