)]}'
{
  "log": [
    {
      "commit": "8935bcacd2b760bd81ea5636b0e9b27629b957f8",
      "tree": "09768953711010a942c0167b08f4e22e2aa045b6",
      "parents": [
        "1df27c02ec96fd2a4a17494cdef4fea8610ecc7c"
      ],
      "author": {
        "name": "JP Abgrall",
        "email": "jpa@google.com",
        "time": "Fri Jan 21 22:32:00 2011 -0800"
      },
      "committer": {
        "name": "JP Abgrall",
        "email": "jpa@google.com",
        "time": "Wed Jan 26 10:58:29 2011 -0800"
      },
      "message": "dumpstate: improved collection, better error handling.\n\n- Some of the commands used by dumpstate, which drops root, will not collect\nanything during a bug report. E.g. df fails on /mnt/secure/asec.\n- force flushing of error message\n  . without the flush (using gingerbread and not master)\n     *** netcfg: Exit code 255\n  . with the flush()\n     *** exec(netcfg): Permission denied\n     *** netcfg: Exit code 255\n- add a check before using WEXITSTATUS()\n\nChange-Id: Ia3924b9cc8a12cecab894cbf7f2c79614a358d34\nSigned-off-by: JP Abgrall \u003cjpa@google.com\u003e\n"
    },
    {
      "commit": "bfb071df71af73c4d6804349d1453627db6b4661",
      "tree": "f87492bba39608d895eac9d33695f170e29850ec",
      "parents": [
        "230182701c5d1dac7c092152a0c41841f5e444b7"
      ],
      "author": {
        "name": "Paul Eastham",
        "email": "eastham@google.com",
        "time": "Fri Aug 06 14:11:55 2010 -0700"
      },
      "committer": {
        "name": "Paul Eastham",
        "email": "eastham@google.com",
        "time": "Fri Aug 06 14:58:34 2010 -0700"
      },
      "message": "Add support for playing a sound before/after dumpstate.\n"
    },
    {
      "commit": "57fff78a70c82ca09beb91c4f92d97b6f0b897e4",
      "tree": "2ee1dffe8135c478ff6bd1f60c8539eacff1bf01",
      "parents": [
        "2e4b98dcd88f14fdb35e46236ec916493c570f28"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Tue Apr 27 10:53:35 2010 -0700"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Tue Apr 27 10:53:35 2010 -0700"
      },
      "message": "dumpstate: Add blocked process wait-channel info to bugreport\n\nFix for http://b/2630027\n\nChange-Id: I3606d8bf95c58df2b290dbd13f48538d82f16088\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "efd13938013099e58f4dcbf818f508c585547817",
      "tree": "af0abf19e17bd334fdd2bf6a6a65110d4c403ade",
      "parents": [
        "823961a3191b365cabf3745ee2f5f0cff059cdff"
      ],
      "author": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Mon Mar 08 13:04:13 2010 -0800"
      },
      "committer": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Mon Mar 08 19:21:32 2010 -0800"
      },
      "message": "More consistent and clear traces.txt reporting.\n\nPrint ANR traces.txt even if it\u0027s old.\nPrint more detailed error messages about VM trace dumps.\n\nChange-Id: I067c90b8f3b3647b6136528eff3120e6cfea5715\n"
    },
    {
      "commit": "6a70d7d1e28bd0b98d03e7ecab3fd08ea5973e34",
      "tree": "e76ae4ea5cea4d0559b115d51ca10e1fc308255a",
      "parents": [
        "1168baae849f03ad655bff74360b286b2f10b4a8"
      ],
      "author": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Wed Feb 17 14:16:32 2010 -0800"
      },
      "committer": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Wed Feb 17 14:25:03 2010 -0800"
      },
      "message": "Don\u0027t overwrite ANR traces.txt if it can\u0027t be renamed (usually\ndue to lack of permissions, usually due to an old adb running\n\"dumpstate\" directly rather than via bugreport).\n"
    },
    {
      "commit": "ea11654e684cb91252487f697c72e76da507f7be",
      "tree": "30c53b6a29da941eee85b6fa1b99538216da66f4",
      "parents": [
        "2242da5a4fadbef936153b4e43218d73033a11cd"
      ],
      "author": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Tue Jan 26 17:04:26 2010 -0800"
      },
      "committer": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Tue Jan 26 17:04:26 2010 -0800"
      },
      "message": "Use six dashes instead of five.\n"
    },
    {
      "commit": "52952b1bcab28f655775efbad8f2e2b41d06a34b",
      "tree": "e3a89be656d1a4c9a91585ce5a0e70b42c018203",
      "parents": [
        "96e40b4b3769a7880eca66d1955b5e5583e979c8"
      ],
      "author": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Wed Jan 13 12:27:50 2010 -0800"
      },
      "committer": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Wed Jan 13 14:30:33 2010 -0800"
      },
      "message": "Overhaul of dumpstate (aka bugreport) with cleanups \u0026 enhancements:\n\n- include basic build \u0026 timestamp information in the header\n- collect stack traces immediately at bugreport time\n- *also* show stack traces from last ANR (as before), if in the last 15 minutes\n- alphabetize system properties dump\n- remove now-obsolete (and always questionable) \"dumpcrash\" functionality\n- write to a .tmp file first, then rename to the final filename\n- friendly usage message\n- output sections include the exact file/command run\n- source de-weirdification -- it\u0027s several hundred lines shorter now\n\nThe same data is present in the same order as before, and I\u0027ve tried\nto preserve all the grep/search targets people might use to find their\nway through the file.\n"
    },
    {
      "commit": "9066cfe9886ac131c34d59ed0e2d287b0e3c0087",
      "tree": "d88beb88001f2482911e3d28e43833b50e4b4e97",
      "parents": [
        "d83a98f4ce9cfa908f5c54bbd70f03eec07e7553"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:31:44 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:31:44 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "d83a98f4ce9cfa908f5c54bbd70f03eec07e7553",
      "tree": "4b825dc642cb6eb9a060e54bf8d69288fbee4904",
      "parents": [
        "076357b8567458d4b6dfdcf839ef751634cd2bfb"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:45 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:45 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "b798689749c64baba81f02e10cf2157c747d6b46",
      "tree": "da394a395ddb1a6cf69193314846b03fe47a397e",
      "parents": [
        "f013e1afd1e68af5e3b868c26a653bbfb39538f8"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Jan 09 17:51:23 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Jan 09 17:51:23 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@125939\n"
    }
  ]
}
