)]}'
{
  "log": [
    {
      "commit": "91de25fd88ed755be5d72db80c93da364d97e16f",
      "tree": "9157dbac6699dcf2db1a80f37d8d12431e023c5d",
      "parents": [
        "34e38c43d4728fb1d3a011f8c142bff94927f6fb"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Oct 28 17:00:06 2015 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Nov 03 10:11:53 2015 -0800"
      },
      "message": "Make things generally quieter.\n\n* Give run-test a --quiet flag that causes it to only print on errors.\n* Give cpplint a --quiet flag that causes it to not print anything\n  when there are no errors.\n* Add a ART_TEST_QUIET flag to build/Android.common_test.mk which\n  makes run-test targets much quieter when true (the default). With\n  this flag only failures will be printed.\n* Make build/Android.cpplint.mk pass the new cpplint --quiet flag so\n  that only failures will be printed.\n\nBefore:\n    [ 96% 5715/5906] build test-art-host-run-test-debug-prebuild-interpreter-relocate-ntrace-cms-checkjni-image-npictest-ndebuggable-461-get-reference-vreg32\n    test-art-host-run-test-debug-prebuild-interpreter-relocate-ntrace-cms-checkjni-image-npictest-ndebuggable-448-multiple-returns32 RUNNING\n    /usr/local/google/buildbot/src/googleplex-android/master-art-host/art/test/448-multiple-returns: building...\n    /usr/local/google/buildbot/src/googleplex-android/master-art-host/art/test/448-multiple-returns: running...\n    /usr/local/google/buildbot/src/googleplex-android/master-art-host/art/test/448-multiple-returns: succeeded!\n    test-art-host-run-test-debug-prebuild-interpreter-relocate-ntrace-cms-checkjni-image-npictest-ndebuggable-448-multiple-returns32 PASSED\n\nAfter:\n    [ 96% 5715/5906] build test-art-host-run-test-debug-prebuild-interpreter-relocate-ntrace-cms-checkjni-image-npictest-ndebuggable-461-get-reference-vreg32\n\nChange-Id: Idf6fce7f48a619f83254b48861dbd7f8eb4ebdbf\n"
    },
    {
      "commit": "a21f81e6dd28184feabc6816a4d2b0588ee5aa74",
      "tree": "8a95a1b81e516172fa1025f6e1beb9854f288987",
      "parents": [
        "b5325e24ca58299b2b011e57e784b2584f99d687"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Oct 07 11:07:07 2014 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Oct 07 11:07:07 2014 +0100"
      },
      "message": "Allow std::function\u003creturn_type(arg_type)\u003e patterns in cpplint.\n\nBefore this change, cpplint would erroneously recognize\n`return_type(arg_type)\u0027 within\n`std::function\u003creturn_type(arg_type)\u003e\u0027 as a C-style cast.\n\nChange-Id: I41933fbdbb835e2950304de29edd33b16939708d\n"
    },
    {
      "commit": "2248c17cd3483c030571cc6163a0e0870da998c2",
      "tree": "b2e4ca7370c5d51791884676c4c9f9030b8b05f9",
      "parents": [
        "00ce185371be9930dfd75e5acc2258a1139b558e"
      ],
      "author": {
        "name": "Chirayu Desai",
        "email": "cdesai@cyanogenmod.org",
        "time": "Wed Nov 06 20:43:21 2013 +0530"
      },
      "committer": {
        "name": "Chirayu Desai",
        "email": "chirayudesai1@gmail.com",
        "time": "Thu Nov 28 13:49:31 2013 +0000"
      },
      "message": "tools: use \u0027/usr/bin/env python\u0027 instead of \u0027/usr/bin/python\u0027\n\n* This is how it is done in other scripts in the AOSP tree, as\n  \u0027/usr/bin/python\u0027 may be python3 on some distros, which isn\u0027t\n  supported yet.\n\nChange-Id: I0d9857fc6a122f505953fddcd6244dad75b1838a\n"
    },
    {
      "commit": "02e25119b15a6f619f17db99f5d05124a5807ff3",
      "tree": "7be4cbbf28033e5ee0621565b410fe5d8170a8fb",
      "parents": [
        "7d70a7932f0ba09eb01a93caab060aef1403d4e6"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Aug 14 16:14:24 2013 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Aug 16 13:15:37 2013 -0700"
      },
      "message": "Fix up TODO: c++0x, update cpplint.\n\nNeeded to update cpplint to handle const auto.\n\nFixed a few cpplint errors that were being missed before.\n\nReplaced most of the TODO c++0x with ranged based loops. Loops which\ndo not have a descriptive container name have a concrete type instead\nof auto.\n\nChange-Id: Id7cc0f27030f56057c544e94277300b3f298c9c5\n"
    },
    {
      "commit": "3b074e60b2b906e9da5257d09de62b14867cb48e",
      "tree": "1ef980779ea131d817938badfc65febabd02c2c4",
      "parents": [
        "a6468f681b6e5feff940d0c32363847e795e97c6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 19 16:51:57 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 19 16:51:57 2013 -0700"
      },
      "message": "readdir is safer than readdir_r.\n\nThe upstream cpplint.py already made this change.\n\nChange-Id: I9614d51080557eab6730cffd476e01e7872729d0\n"
    },
    {
      "commit": "1895ea386ca78573302483f589ebabd8ce1480e7",
      "tree": "d8c2d27ac746f29c8248fe17fd6b8e9872556fc4",
      "parents": [
        "3e3d591f781b771de89f3b989830da2b6ac6fac8"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Jul 18 13:28:37 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Jul 18 14:38:27 2013 -0700"
      },
      "message": "Fix cpplint readability/fn_size issues\n\nChange-Id: I1efdb07a948a2af49db1a9d21ccab16dacc03a54\n"
    },
    {
      "commit": "df62950e7a32031b82360c407d46a37b94188fbb",
      "tree": "038bf95a2ce296ae3e0c30a131ac22c0986f0f52",
      "parents": [
        "0cd7ec2dcd8d7ba30bf3ca420b40dac52849876c"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jul 17 22:39:56 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Jul 18 00:13:18 2013 -0700"
      },
      "message": "Fix cpplint whitespace/parens issues\n\nChange-Id: Ifc678d59a8bed24ffddde5a0e543620b17b0aba9\n"
    },
    {
      "commit": "fc0e3219edc9a5bf81b166e82fd5db2796eb6a0d",
      "tree": "5fc7f5b941724a62f8e3411df09fae431ff5e3cf",
      "parents": [
        "56d947fbc9bc2992e2f93112fafb73e50d2aaa7a"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jul 17 14:40:12 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jul 17 16:49:05 2013 -0700"
      },
      "message": "Fix multiple inclusion guards to match new pathnames\n\nChange-Id: Id7735be1d75bc315733b1773fba45c1deb8ace43\n"
    },
    {
      "commit": "08fc03ae5dded4adc9b45b7014a4b9dfedbe95a6",
      "tree": "3e767d037fd3e47e792b88d982ad38bce26d39e9",
      "parents": [
        "f94404ead1f2e4a1b5a2ff8bbdb65c5e4d4a77ea"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jun 26 17:34:00 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 27 12:18:25 2012 -0700"
      },
      "message": "Include held locks in SIGQUIT thread dumps.\n\nHandy if you have an ANR that\u0027s locking related. Quick tour:\n\n   at org.apache.harmony.dalvik.NativeTestTarget.emptyJniStaticSynchronizedMethod0(Native method)\n   - locked \u003c0x60135aa8\u003e (a java.lang.Class\u003corg.apache.harmony.dalvik.NativeTestTarget\u003e)\n   at java.lang.reflect.Method.invoke(Native method)\n   at C.whileTrue(Main.java:63)\n   at C.synchronizedOnClassString(Main.java:56)\n   - locked \u003c0x60002a70\u003e (a java.lang.Class\u003cjava.lang.String\u003e)\n   at C.nestedSynchronizationWithTryCatch(Main.java:44)\n   - locked \u003c0x61336b90\u003e (a java.lang.String)\n   - locked \u003c0x61336bd0\u003e (a java.lang.String)\n   at C.nestedSynchronization(Main.java:35)\n   - locked \u003c0x61336b18\u003e (a java.lang.String)\n   - locked \u003c0x61336b50\u003e (a java.lang.String)\n   at C.synchronizedOnClassC(Main.java:30)\n   - locked \u003c0x613366f8\u003e (a java.lang.Class\u003cC\u003e)\n   at C.noLocks(Main.java:27)\n   at C.\u003cclinit\u003e(Main.java:24)\n   - locked \u003c0x613366f8\u003e (a java.lang.Class\u003cC\u003e)\n   at Main.main(Main.java:19)\n\nA non-static synchronized native method works too:\n\n   at org.apache.harmony.dalvik.NativeTestTarget.emptyJniSynchronizedMethod0(Native method)\n   - locked \u003c0x613371a8\u003e (a org.apache.harmony.dalvik.NativeTestTarget)\n   ...\n\nNote that most stack traces don\u0027t look any different; the above is a\npathological example that exercises different kinds of locking. Testing\nwith system_server shows most threads don\u0027t hold any locks.\n\nFuture work (marked by TODO) is that explicit JNI MonitorEnter calls in\nnative code aren\u0027t shown.\n\nChange-Id: I2747f5cddb4ef64b1935736f084a68fe8e4005e9\n"
    },
    {
      "commit": "db385708bfcfbd64bdc9cb46fdc0e66344363848",
      "tree": "3e2172c857a6bae61bba54587e8fcdc5bbd65b6d",
      "parents": [
        "5937e047bd15b3ce48c95e0457e501ab6feb7234"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 21 10:41:20 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 21 10:41:57 2012 -0700"
      },
      "message": "Update cpplint.py.\n\nFrom https://code.google.com/p/google-styleguide/source/browse/trunk#trunk%2Fcpplint .\n\nChange-Id: Ie9c0efe36c9af5c1fead502ae673ca6693f3cf7b\n"
    },
    {
      "commit": "08b82a99de4dfeb0a74b0922051f46516ca85398",
      "tree": "d1ecec26d1c0668e182ab2addf5e5580a98ab95e",
      "parents": [
        "c8eeb9b283d5053c1b1092363320646dc7c0deab"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Apr 05 12:13:56 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Apr 05 12:13:56 2012 -0700"
      },
      "message": "Don\u0027t explicitly request python2.4.\n\nThis is obsolete historical cruft.\n\nChange-Id: I140a93ac04f5be0034812f90204e6f9ae36d2d5f\n"
    },
    {
      "commit": "59848dad0b711856fc1bfb81748bbe944b045640",
      "tree": "2ab0551f1c6420deb34b3b81d67e8a34a42368f8",
      "parents": [
        "f615a61aef972cfc1dc23931ac2ed0da14c3fedb"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sat Jul 23 20:35:19 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sat Jul 23 20:35:19 2011 -0700"
      },
      "message": "Import cpplint.py and make target cpplint-art\n\nImported without change from http://google-styleguide.googlecode.com/svn/trunk/cpplint/cpplint.py\nWill start making local changes to cpplint.py in followup changes.\n\nChange-Id: I0fda185f4a9f96815739db8f862cf8537402bf3b\n"
    }
  ]
}
