)]}'
{
  "log": [
    {
      "commit": "297f802f25d093274c1f5fb890ee8dfacfbf159e",
      "tree": "2a4f64c615dfcefb2b736e11afa09fdb9648cf19",
      "parents": [
        "605f8706c88b2cd5d024b0a6b7253a78d968ba72",
        "ae6f3d7c05070f7e0e56fe0056c8923c6ee2f473"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@android.com",
        "time": "Mon Aug 13 09:10:32 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 13 09:10:32 2012 -0700"
      },
      "message": "Merge \"Add support for reloading policy from /data/system.\""
    },
    {
      "commit": "605f8706c88b2cd5d024b0a6b7253a78d968ba72",
      "tree": "8395cc037047c58a514405195399357a30c5e930",
      "parents": [
        "7b682c4787e06be193ac3d2a1071e0feb5e4ba58",
        "096041174b1d8cc09b06c51053b2b7e8545bd93f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Aug 11 09:56:47 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Aug 11 09:56:47 2012 -0700"
      },
      "message": "Merge \"Add Mips architecture to system/core/include\""
    },
    {
      "commit": "7b682c4787e06be193ac3d2a1071e0feb5e4ba58",
      "tree": "2324dd96b9736d7e776a27631cbad8afc9b2a335",
      "parents": [
        "8076b212574afe39ed6152ddf88a3c8c63b0c87c",
        "068f9f3bf9d09ebca0016cfcbb682d8ca27480f5"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Aug 10 15:20:00 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 10 15:20:00 2012 -0700"
      },
      "message": "Merge \"Add Mips support to libpixelflinger\""
    },
    {
      "commit": "8076b212574afe39ed6152ddf88a3c8c63b0c87c",
      "tree": "7b64e7e32e51a8712580cc2b40327d39a7fa79f1",
      "parents": [
        "d25b8502ea2c1294c0afab97bf7f14fbd2087efd",
        "bf3a5b222ec2de0d6a26b8beb54ef7744d2dbd7f"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Aug 09 10:51:40 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 09 10:51:40 2012 -0700"
      },
      "message": "Merge \"Decode DHCP netmask option correctly\""
    },
    {
      "commit": "ae6f3d7c05070f7e0e56fe0056c8923c6ee2f473",
      "tree": "0fa2219d6539d7b9311b24ad60ab1601e15fba63",
      "parents": [
        "d25b8502ea2c1294c0afab97bf7f14fbd2087efd"
      ],
      "author": {
        "name": "Stephen Smalley",
        "email": "sds@tycho.nsa.gov",
        "time": "Tue May 01 15:02:53 2012 -0400"
      },
      "committer": {
        "name": "rpcraig",
        "email": "rpcraig@tycho.ncsc.mil",
        "time": "Thu Aug 09 09:59:10 2012 -0400"
      },
      "message": "Add support for reloading policy from /data/system.\n\nTo support runtime policy management, add support for reloading\npolicy from /data/system.  This can be triggered by setting the\nselinux.loadpolicy property to 1, whether from init.rc after\nmounting /data or from the system_server (e.g. upon invocation of\na new device admin API for provisioning policy). ueventd and\ninstalld are restarted upon policy reloads to pick up the new\npolicy configurations relevant to their operation.\n\nChange-Id: I97479aecef8cec23b32f60e09cc778cc5520b691\nSigned-off-by: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\n"
    },
    {
      "commit": "d25b8502ea2c1294c0afab97bf7f14fbd2087efd",
      "tree": "c016edc105ab817758d85cc9b8be255822f56743",
      "parents": [
        "65c37c81ba64f7ec803dcec976a768d3aac9e6c3",
        "62f9ffac1aa4809c0acd29dc4c4872a3b4da2062"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Wed Aug 08 15:27:45 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 08 15:27:45 2012 -0700"
      },
      "message": "Merge \"Fix unused param warning\""
    },
    {
      "commit": "65c37c81ba64f7ec803dcec976a768d3aac9e6c3",
      "tree": "d6adf9e0730bf200d15f85fde6c19fbcd3bb5e3c",
      "parents": [
        "b3a5343e3ef705e2493a2a8546f6e416d41b1c77",
        "a5db95da3801cd82df80c41996b1e6f69a9acecf"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Wed Aug 08 15:27:33 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 08 15:27:34 2012 -0700"
      },
      "message": "Merge \"Fixed an unused param warning\""
    },
    {
      "commit": "b3a5343e3ef705e2493a2a8546f6e416d41b1c77",
      "tree": "476a2032745e86c268a8334f098caaf3dcf9d97f",
      "parents": [
        "f889f0dba404d0dfb75fb33ad1df152129b0a7d2",
        "de7f1ad86f532e79ea2a9f77b0147406a9ad971b"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Wed Aug 08 15:27:24 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 08 15:27:25 2012 -0700"
      },
      "message": "Merge \"Fixed a discarded const qualifier warning\""
    },
    {
      "commit": "f889f0dba404d0dfb75fb33ad1df152129b0a7d2",
      "tree": "b0b7e4c217ea0a7054f4c52aa598c18c65957b3e",
      "parents": [
        "e551055e17dae5d37f5cb428d63ddcae2e9341a2",
        "ae06933cdeb61b1145a1245ea3f40a3d159d215b"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Wed Aug 08 15:27:17 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 08 15:27:17 2012 -0700"
      },
      "message": "Merge \"Trivial signed/unsigned warning fix for adbd\""
    },
    {
      "commit": "e551055e17dae5d37f5cb428d63ddcae2e9341a2",
      "tree": "8e0c1e6233f231230338d503d5574f0362a767ad",
      "parents": [
        "80bcb4893058be698bae1bef59c4b28edda6c744",
        "97d2aef6d231b57afb7e08ef871506e98cf1f171"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Wed Aug 08 15:27:09 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 08 15:27:09 2012 -0700"
      },
      "message": "Merge \"Fix signed/unsigned comparison warning\""
    },
    {
      "commit": "80bcb4893058be698bae1bef59c4b28edda6c744",
      "tree": "f28cfbcefdc5dae24bbf80aa03ed5e7b037adc8e",
      "parents": [
        "ef3f7fa32b451bd6f180c4c1586a98cee41aa296",
        "8bcfb8bcfffb1a5b3f81dd09f061d452c8508e8a"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Wed Aug 08 15:26:49 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 08 15:26:49 2012 -0700"
      },
      "message": "Merge \"Fixed un-initialized variable warnings\""
    },
    {
      "commit": "ef3f7fa32b451bd6f180c4c1586a98cee41aa296",
      "tree": "fe2f59ac3da17fb714f345541c77fa621586afbe",
      "parents": [
        "8261d27115746f58a6bbf37e6dcf18a093ee8c85",
        "e096e36e50b4b66638ebc4d3c09c2ee35f538dfa"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 08 13:42:20 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 08 13:42:20 2012 -0700"
      },
      "message": "Merge \"Set the SELinux security label on new directories.\""
    },
    {
      "commit": "8261d27115746f58a6bbf37e6dcf18a093ee8c85",
      "tree": "cfe1367609deaca6446dc1a3246f2db6e4116ebf",
      "parents": [
        "63b2c577526d0c7ae4e90e54bf0f0befb0294456",
        "f1186f3e980f5ebcc3380d8a7f746bf8a45e3531"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 08 13:41:40 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 08 13:41:41 2012 -0700"
      },
      "message": "Merge \"restorecon tombstone directory.\""
    },
    {
      "commit": "63b2c577526d0c7ae4e90e54bf0f0befb0294456",
      "tree": "39d36ddbefed0af8ed840b47db4b277ed08313ce",
      "parents": [
        "8fb0caa73b947ec801a5ae975f46560fb813baed",
        "7ac420972adc71d0654d10446078751b571aa301"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 08 13:40:17 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 08 13:40:17 2012 -0700"
      },
      "message": "Merge \"Conditionally use SIGSTKFLT\""
    },
    {
      "commit": "8fb0caa73b947ec801a5ae975f46560fb813baed",
      "tree": "be4816d47ee50a95c34e09e13f4625cbdece29c8",
      "parents": [
        "ce76e2d00e63339083ea693db33de05cbba5600e",
        "0b344e7f111d845f9cbb8d284f62d546645c733e"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 08 13:18:28 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 08 13:18:29 2012 -0700"
      },
      "message": "Merge \"config_mbr: Fix integer overflow\""
    },
    {
      "commit": "62f9ffac1aa4809c0acd29dc4c4872a3b4da2062",
      "tree": "ccd96bf7af4ac971b32dda57aac0a0f213c8bc98",
      "parents": [
        "a5db95da3801cd82df80c41996b1e6f69a9acecf"
      ],
      "author": {
        "name": "Edwin Vane",
        "email": "edwin.vane@intel.com",
        "time": "Thu Jul 26 15:26:46 2012 -0400"
      },
      "committer": {
        "name": "Edwin Vane",
        "email": "edwin.vane@intel.com",
        "time": "Thu Aug 02 10:40:12 2012 -0400"
      },
      "message": "Fix unused param warning\n\nlibsuspend had only a single warning in the clang build. Fixing it to\nmake the build clean.\n\nChange-Id: Iaac5f9144b6e6cb122141c6416056c1b2c9aa98e\nAuthor: Edwin Vane \u003cedwin.vane@intel.com\u003e\nReviewed-by: Kevin P Schoedel \u003ckevin.p.schoedel@intel.com\u003e\n"
    },
    {
      "commit": "a5db95da3801cd82df80c41996b1e6f69a9acecf",
      "tree": "3acc179e4efa0a65f2fc8539a772f5486bc2404d",
      "parents": [
        "de7f1ad86f532e79ea2a9f77b0147406a9ad971b"
      ],
      "author": {
        "name": "Edwin Vane",
        "email": "edwin.vane@intel.com",
        "time": "Thu Jul 26 15:04:10 2012 -0400"
      },
      "committer": {
        "name": "Edwin Vane",
        "email": "edwin.vane@intel.com",
        "time": "Thu Aug 02 10:40:12 2012 -0400"
      },
      "message": "Fixed an unused param warning\n\nlibnetutils had a single warning. Fixed it to make it clean.\n\nChange-Id: I9297e556657a38dbdd7d1d0ac4bc3574801d5ac9\nAuthor: Edwin Vane \u003cedwin.vane@intel.com\u003e\nReviewed-by: Kevin P Schoedel \u003ckevin.p.schoedel@intel.com\u003e\n"
    },
    {
      "commit": "de7f1ad86f532e79ea2a9f77b0147406a9ad971b",
      "tree": "2d6d2c972d21fbc632b4a5c011adc5e4c8b46741",
      "parents": [
        "ae06933cdeb61b1145a1245ea3f40a3d159d215b"
      ],
      "author": {
        "name": "Edwin Vane",
        "email": "edwin.vane@intel.com",
        "time": "Thu Jul 26 14:09:13 2012 -0400"
      },
      "committer": {
        "name": "Edwin Vane",
        "email": "edwin.vane@intel.com",
        "time": "Thu Aug 02 09:20:51 2012 -0400"
      },
      "message": "Fixed a discarded const qualifier warning\n\nChange-Id: I9007924d0bf49705363aa130e6e588a9e0ccdc31\nAuthor: Edwin Vane \u003cedwin.vane@intel.com\u003e\nReviewed-by: Tareq A Siraj \u003ctareq.a.siraj@intel.com\u003e\n"
    },
    {
      "commit": "ae06933cdeb61b1145a1245ea3f40a3d159d215b",
      "tree": "da994928a68951eef143337fc5e263c85489af7c",
      "parents": [
        "97d2aef6d231b57afb7e08ef871506e98cf1f171"
      ],
      "author": {
        "name": "Edwin Vane",
        "email": "edwin.vane@intel.com",
        "time": "Thu Jul 26 13:40:14 2012 -0400"
      },
      "committer": {
        "name": "Edwin Vane",
        "email": "edwin.vane@intel.com",
        "time": "Thu Aug 02 09:17:53 2012 -0400"
      },
      "message": "Trivial signed/unsigned warning fix for adbd\n\nChange-Id: Icd674006bb2b526166960b4f90eb274030d80439\nAuthor: Edwin Vane \u003cedwin.vane@intel.com\u003e\nReviewed-by: Ariel J Bernal \u003cariel.j.bernal@intel.com\u003e\n"
    },
    {
      "commit": "7ac420972adc71d0654d10446078751b571aa301",
      "tree": "33e8ee03cfe368ca1958f1ed6ee225ef8ea01587",
      "parents": [
        "23ee469c4b790634959e5ccf83134f44e73fb72b"
      ],
      "author": {
        "name": "Chris Dearman",
        "email": "chris@mips.com",
        "time": "Tue Jul 10 12:15:19 2012 -0700"
      },
      "committer": {
        "name": "Raghu Gandham",
        "email": "raghu@mips.com",
        "time": "Wed Aug 01 15:51:09 2012 -0700"
      },
      "message": "Conditionally use SIGSTKFLT\n\nChange-Id: I555b33b5a93df332c556944a1c00fff417825247\n"
    },
    {
      "commit": "97d2aef6d231b57afb7e08ef871506e98cf1f171",
      "tree": "ee97a4178ac76dae90b99b6b9a42b60350ca70ee",
      "parents": [
        "8bcfb8bcfffb1a5b3f81dd09f061d452c8508e8a"
      ],
      "author": {
        "name": "Edwin Vane",
        "email": "edwin.vane@intel.com",
        "time": "Thu Jul 26 13:24:35 2012 -0400"
      },
      "committer": {
        "name": "Edwin Vane",
        "email": "edwin.vane@intel.com",
        "time": "Wed Aug 01 16:36:06 2012 -0400"
      },
      "message": "Fix signed/unsigned comparison warning\n\nTrivial warning fix.\n\nChange-Id: I93b905b34155214fc2d211a0d9319f06b67fa193\nAuthor: Edwin Vane \u003cedwin.vane@intel.com\u003e\nReviewed-by: Ariel J Bernal \u003cariel.j.bernal@intel.com\u003e\n"
    },
    {
      "commit": "8bcfb8bcfffb1a5b3f81dd09f061d452c8508e8a",
      "tree": "1dab33980d8b2ff82f66670c25171473ad27a0dd",
      "parents": [
        "ce76e2d00e63339083ea693db33de05cbba5600e"
      ],
      "author": {
        "name": "Tareq A. Siraj",
        "email": "tareq.a.siraj@intel.com",
        "time": "Fri Jul 20 15:02:52 2012 -0400"
      },
      "committer": {
        "name": "Edwin Vane",
        "email": "edwin.vane@intel.com",
        "time": "Wed Aug 01 15:15:11 2012 -0400"
      },
      "message": "Fixed un-initialized variable warnings\n\nThese un-initialized variables were being used before initialized.\n\nChange-Id: I80c94c5e0c2e959834b99618549377bfb3607272\nAuthor: Tareq A. Siraj \u003ctareq.a.siraj@intel.com\u003e\n"
    },
    {
      "commit": "ce76e2d00e63339083ea693db33de05cbba5600e",
      "tree": "bdf1db4f2c2de8de5f536b681bbdcc361e70fbfa",
      "parents": [
        "23ee469c4b790634959e5ccf83134f44e73fb72b",
        "1eee419e7a1c5789f81e1e3a19693403495e70f1"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Wed Aug 01 09:14:41 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 01 09:14:42 2012 -0700"
      },
      "message": "Merge \"Modify init.rc and init.goldfish.rc for SE Android.\""
    },
    {
      "commit": "1eee419e7a1c5789f81e1e3a19693403495e70f1",
      "tree": "0aee47fca889f44b21251d35e7bf8c4ebe61a97c",
      "parents": [
        "ff856a2b927aaadb189181d2cd9dd08dc98456a4"
      ],
      "author": {
        "name": "Stephen Smalley",
        "email": "sds@tycho.nsa.gov",
        "time": "Fri Jan 13 08:54:34 2012 -0500"
      },
      "committer": {
        "name": "Stephen Smalley",
        "email": "sds@tycho.nsa.gov",
        "time": "Thu Jul 26 15:37:45 2012 -0400"
      },
      "message": "Modify init.rc and init.goldfish.rc for SE Android.\n\nSet the security context for the init process.\nRestore the security contexts of /cache and /data in case they were reset.\nSpecify the security context for services launched from the rootfs since\nwe cannot label their executables.\nIf on the emulator, set a policy boolean and restore the context of\n/sys/qemu_trace to allow accesses not normally permitted on a device.\n\nChange-Id: I166ffc267e8e0543732e7118eb0fd4b031efac3b\nSigned-off-by: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\n"
    },
    {
      "commit": "0b344e7f111d845f9cbb8d284f62d546645c733e",
      "tree": "9e3a3b11b0807bbd821f5b8a8af7fe2b0d81f72c",
      "parents": [
        "23ee469c4b790634959e5ccf83134f44e73fb72b"
      ],
      "author": {
        "name": "Andrew Boie",
        "email": "andrew.p.boie@intel.com",
        "time": "Mon Nov 14 21:16:16 2011 -0800"
      },
      "committer": {
        "name": "Andrew Boie",
        "email": "andrew.p.boie@intel.com",
        "time": "Thu Jul 26 10:18:14 2012 -0700"
      },
      "message": "config_mbr: Fix integer overflow\n\nThe values need to be converted to loff_t *before* performing\nthe multiplication, else any sector offset past MAX_INT\nbytes will overflow.\n\nChange-Id: Ib8992f28aa4119ac7b4ad354b2448c4b0cfaf846\nSigned-off-by: Andrew Boie \u003candrew.p.boie@intel.com\u003e\n"
    },
    {
      "commit": "e096e36e50b4b66638ebc4d3c09c2ee35f538dfa",
      "tree": "123267105adaed0ea034773eeb4d663bc401ec5f",
      "parents": [
        "ff856a2b927aaadb189181d2cd9dd08dc98456a4"
      ],
      "author": {
        "name": "Stephen Smalley",
        "email": "sds@tycho.nsa.gov",
        "time": "Mon Jun 11 13:37:39 2012 -0400"
      },
      "committer": {
        "name": "Stephen Smalley",
        "email": "sds@tycho.nsa.gov",
        "time": "Thu Jul 26 09:01:22 2012 -0400"
      },
      "message": "Set the SELinux security label on new directories.\n\nAutomatically set the SELinux security label on directories created\nby init.rc.  This avoids the need to separately call restorecon on\neach such directory from the init.rc file.  Also restorecon /dev\nand /dev/socket after initial policy load so that they are labeled\ncorrectly before any other dev nodes or sockets are created.\n\nChange-Id: If6af6c4887cdead949737cebdd673957e9273ead\nSigned-off-by: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\n"
    },
    {
      "commit": "23ee469c4b790634959e5ccf83134f44e73fb72b",
      "tree": "2ce41e59f91c2d2fe2772b138c268188cfb42a40",
      "parents": [
        "f650c07586d65ee655eba6d297ebaacffedae29e",
        "0bbfb3976e9491b3e1a872ebdaa850ef868a24aa"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jul 24 18:21:52 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jul 24 18:21:52 2012 -0700"
      },
      "message": "Merge \"fastboot: change default sparse limit to disabled\""
    },
    {
      "commit": "0bbfb3976e9491b3e1a872ebdaa850ef868a24aa",
      "tree": "2ce41e59f91c2d2fe2772b138c268188cfb42a40",
      "parents": [
        "f650c07586d65ee655eba6d297ebaacffedae29e"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jul 24 18:05:21 2012 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jul 24 18:07:18 2012 -0700"
      },
      "message": "fastboot: change default sparse limit to disabled\n\nChange the default sparse limit to disabled to prevent resparsing files\nunless the bootloader or user specifies a sparse limit.  Some\nbootloaders issue an erase before every flash command, which causes\nearlier parts of the downloaded image to get erased.\n\nChange-Id: Iac6f3b05580aba8b82ed0f2f800979a49c33c691\n"
    },
    {
      "commit": "f650c07586d65ee655eba6d297ebaacffedae29e",
      "tree": "859cf4ccb6d954eeb62a6b4430a8ff0027c830f7",
      "parents": [
        "f58f62eb31afb59a74566f60683cbbd1099e3111",
        "8fb6e06ba44b92258bf44110ea5361496257e24e"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jul 24 18:07:05 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jul 24 18:07:06 2012 -0700"
      },
      "message": "Merge \"fastboot: check argc before using argv\""
    },
    {
      "commit": "8fb6e06ba44b92258bf44110ea5361496257e24e",
      "tree": "859cf4ccb6d954eeb62a6b4430a8ff0027c830f7",
      "parents": [
        "f58f62eb31afb59a74566f60683cbbd1099e3111"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jul 24 16:36:41 2012 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jul 24 16:37:52 2012 -0700"
      },
      "message": "fastboot: check argc before using argv\n\n\"fastboot -w\" would segfault because *argv was invalid when no\nnon-option arguments were specified.  Check argc \u003e 0 before\ndereferencing argv.\n\nChange-Id: I822a799e6a38e4e5c0a4eca48c6343b8a08a6185\n"
    },
    {
      "commit": "f58f62eb31afb59a74566f60683cbbd1099e3111",
      "tree": "1e2133a96b43a76d8b9dc7f9c795001ed09c4f53",
      "parents": [
        "ec7d9dc713322bd41b1e348c0ea3b1304a13dba9",
        "f1ec8ac84a8540b92a16f187bfa92b2f3c63917e"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Jul 23 17:26:31 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 23 17:26:32 2012 -0700"
      },
      "message": "Merge \"libsparse: fix 32 bit overflow when calculating last chunk\""
    },
    {
      "commit": "f1ec8ac84a8540b92a16f187bfa92b2f3c63917e",
      "tree": "1e2133a96b43a76d8b9dc7f9c795001ed09c4f53",
      "parents": [
        "ec7d9dc713322bd41b1e348c0ea3b1304a13dba9"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Jul 23 17:09:42 2012 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Jul 23 17:11:29 2012 -0700"
      },
      "message": "libsparse: fix 32 bit overflow when calculating last chunk\n\nlast_block * s-\u003eblock_size can overflow when writing large filesystems,\ncast to 64 bits before multiplying.\n\nChange-Id: I3e54097852ce7d0fd271eab53d65e666284898e4\n"
    },
    {
      "commit": "ec7d9dc713322bd41b1e348c0ea3b1304a13dba9",
      "tree": "24720e96c815f559897db50825eebab8844b76ae",
      "parents": [
        "f694ba5f7fa81f250045c107e919888661a734ae",
        "5a536efa5b5f5d973232846d5fe6818df84ab5dc"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Jul 23 14:16:20 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 23 14:16:21 2012 -0700"
      },
      "message": "Merge \"Avoid zombies on androidscreencast\""
    },
    {
      "commit": "5a536efa5b5f5d973232846d5fe6818df84ab5dc",
      "tree": "24720e96c815f559897db50825eebab8844b76ae",
      "parents": [
        "f694ba5f7fa81f250045c107e919888661a734ae"
      ],
      "author": {
        "name": "Yuriy Zabroda",
        "email": "yuriy.zabroda@ti.com",
        "time": "Tue Jul 17 14:52:47 2012 +0300"
      },
      "committer": {
        "name": "Yuriy Zabroda",
        "email": "yuriy.zabroda@ti.com",
        "time": "Mon Jul 23 15:23:20 2012 +0300"
      },
      "message": "Avoid zombies on androidscreencast\n\nWhen using a third party screen capture program called androidscreencast\n(http://code.google.com/p/androidscreencast/) to get the framebuffer of\nthe device, there are tons of screencap zombie processes got left behind.\nThe issue is also mentioned here: http://code.google.com/p/android/issues/detail?id\u003d22836.\nThe cause of the issue is that adbd spawns off screencap processes,\nand these child processes were not waited to be finished.\nThis change fixes the issue.\n\nChange-Id: Ife928d65ecf6a2ff39b8b72ddba930fda6733a00\nSigned-off-by: Yuriy Zabroda \u003cyuriy.zabroda@ti.com\u003e\n"
    },
    {
      "commit": "f1186f3e980f5ebcc3380d8a7f746bf8a45e3531",
      "tree": "069324723c4e807abed9650e41c95753f9fdf0b1",
      "parents": [
        "f694ba5f7fa81f250045c107e919888661a734ae"
      ],
      "author": {
        "name": "rpcraig",
        "email": "rpcraig@tycho.ncsc.mil",
        "time": "Thu Jul 19 09:38:06 2012 -0400"
      },
      "committer": {
        "name": "rpcraig",
        "email": "rpcraig@tycho.ncsc.mil",
        "time": "Thu Jul 19 09:38:06 2012 -0400"
      },
      "message": "restorecon tombstone directory.\n\nRestore the security contexts of tombstone directory\nwhen initially created.\n\nChange-Id: I25b53730991576eccb62ca57050decd584acc639\nSigned-off-by: rpcraig \u003crpcraig@tycho.ncsc.mil\u003e\n"
    },
    {
      "commit": "f694ba5f7fa81f250045c107e919888661a734ae",
      "tree": "9d3f48d28d81126862b9612767f5b49c0e5a4d0d",
      "parents": [
        "b3a679386d26677290a09fdf4e3406c57e835fd0",
        "f838788e6a4d57634a53eb597ee76a597feffcb5"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jul 17 18:36:41 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jul 17 18:36:41 2012 -0700"
      },
      "message": "Merge changes I6c59381c,I0da088fc,I883572f5,Idc2cfe20,I1a156d10,I177abdb9,I18707bd9,I26744c74,I266f70e1,I75f10db2,I95aa2317,I2f21355b,I5d4ab07f,Ic138ad58,I012d8a42,If664e4fc\n\n* changes:\n  fastboot: add support for auto-resparsing large files\n  fastboot: add fb_getvar\n  fastboot: use getopt_long\n  libsparse: rename symbols that conflict with libext4_utils\n  libsparse: add sparse_file_len\n  libsparse: add function to resparse a file and a utility to use it\n  libsparse: add callback output file type\n  libsparse: pseudo-subclass output_file for normal and gz files\n  libsparse: add sparse_file read and convert tools to use it\n  libsparse: fix windows image writing\n  libsparse: merge adjacent blocks of the same type\n  libsparse: add error reporting functions\n  libsparse: add support for including fds\n  libsparse: cleanups\n  libsparse: remove static variables\n  system/core: move libsparse into system/core\n"
    },
    {
      "commit": "b3a679386d26677290a09fdf4e3406c57e835fd0",
      "tree": "44083b4c399dfa927aeb1a105b02ea9628d56fe3",
      "parents": [
        "2177c79bddc66e295599d87007d4cbec549e1cac"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Wed Jun 13 13:06:33 2012 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Jul 17 12:23:40 2012 -0700"
      },
      "message": "Add telephony-common and mms-common to BOOTCLASSPATH - DO NOT MERGE\n\nChange-Id: Ib113b8147d20fee1ec69d68cf6a7a02d59ff4df6\n"
    },
    {
      "commit": "f838788e6a4d57634a53eb597ee76a597feffcb5",
      "tree": "2d17a6166f40a08e76847a0b8993a5f8c143b101",
      "parents": [
        "80f2d036a9dff894df27961c4aed300f1a5ebbc4"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu May 24 17:18:41 2012 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Jul 09 22:17:58 2012 -0700"
      },
      "message": "fastboot: add support for auto-resparsing large files\n\nAdd support to fastboot for automatically using libsparse to break large\nfiles, whether they are in sparse or normal format, into multiple sparse\nfiles that can each fit into the target\u0027s memory.  Allows flashing\nimages that are larger than the size of the available memory on the\ntarget.\n\nBy default, any file over 512MB will be sparsed into 512MB chunks.  The\nlimit can be modified with the -m argument, or sparsing can be forced\nwith -S or avoided with -N.  If -m is not specified, the target can\noverride the default by implementing getvar:max-download-size\n\nChange-Id: I6c59381c3d24475c4f2587ea877200b96971cbd7\n"
    },
    {
      "commit": "80f2d036a9dff894df27961c4aed300f1a5ebbc4",
      "tree": "823455015e1c5350b70fc39f05e61dec15f1eb77",
      "parents": [
        "8879f988bac8d4cb46fb82e3d82ad69a9ed89b16"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu May 24 18:24:53 2012 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Jul 09 22:16:57 2012 -0700"
      },
      "message": "fastboot: add fb_getvar\n\nAdd an fb_getvar helper that can be used to get values from the\ntarget.\n\nChange-Id: I0da088fcbc8d40076c7bf5ef6e5bbd97fae61471\n"
    },
    {
      "commit": "8879f988bac8d4cb46fb82e3d82ad69a9ed89b16",
      "tree": "4f1aa2a4a5aa60b88ad7189d92c41086f6054f4a",
      "parents": [
        "b43828b247fd4f1e0373584de0504004c69eeac9"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue May 22 17:53:34 2012 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Jul 09 22:16:55 2012 -0700"
      },
      "message": "fastboot: use getopt_long\n\nModify the fastboot argument parsing to use getopt_long.  This\nsimplifies argument parsing, and permutes all the commands to the end of\nargv to allow parsing them later.\n\nAlso moves usb initailization between argument and command processing,\nto allow commands to query parameters over usb.\n\nChange-Id: I883572f52c4190c80ee3b4aa4511ea2061a6b734\n"
    },
    {
      "commit": "b43828b247fd4f1e0373584de0504004c69eeac9",
      "tree": "57141bc0f9b57cb3c7da4106e9276452da30ef90",
      "parents": [
        "317a09e2d47257df5e0972c85f14c2a6ffdbbfd2"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Jun 08 16:55:35 2012 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Jul 09 22:09:37 2012 -0700"
      },
      "message": "libsparse: rename symbols that conflict with libext4_utils\n\nUntil ext4_utils switches to using libsparse, libext4_utils defines some\nof the same symbols as libsparse.  Fastboot links statically against\nboth of them, and there is no easy way to make the symbols hidden, so\njust rename them in libsparse.\n\nChange-Id: Idc2cfe20efe3c3a7fb8233f453a89bbbeb0dcc8b\n"
    },
    {
      "commit": "317a09e2d47257df5e0972c85f14c2a6ffdbbfd2",
      "tree": "1d16d24323042aa16d0994c05de22e2e043f6668",
      "parents": [
        "bdc6d39ed6c09199a5d806f29b71b44cbb27c5c2"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu May 24 17:15:43 2012 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Jul 09 22:09:37 2012 -0700"
      },
      "message": "libsparse: add sparse_file_len\n\nAdd sparse_file_len, which will compute the size of data that would\nbe produced if sparse_file_write was called.  Useful combined with\nsparse_file_callback.\n\nChange-Id: I1a156d1071760f5559483954a5c62ffc20298703\n"
    },
    {
      "commit": "bdc6d39ed6c09199a5d806f29b71b44cbb27c5c2",
      "tree": "63fb3d31d9afc8ccc9c5a6ec96ddfcadb6a96f69",
      "parents": [
        "1e17b313a6257b7b5081e178e81435c09d60378e"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed May 02 15:18:22 2012 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Jul 09 22:09:37 2012 -0700"
      },
      "message": "libsparse: add function to resparse a file and a utility to use it\n\nAdd sparse_file_repsarse, which splits chunks in an existing sparse\nfile such that the maximum size of a chunk, plus a header and footer,\nis smaller than the given size.  This will allow multiple smaller\nsparse files to result in the same data as a large sparse file.\n\nChange-Id: I177abdb958a23d5afd394ff265c5b0c6a3ff22fa\n"
    },
    {
      "commit": "1e17b313a6257b7b5081e178e81435c09d60378e",
      "tree": "aea5379ca96c99ec14f1c5c8dc202b7b5b36ca47",
      "parents": [
        "b4cd267db30c152245e6308598e0066d87c5c55d"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon May 21 16:35:45 2012 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Jul 09 22:09:37 2012 -0700"
      },
      "message": "libsparse: add callback output file type\n\nAdd a new output file subclass that will call a callback for\neach block as it is written.  Will be used to measure the space\nused by each sparse block to allow resparsing files.\n\nAlso add sparse_file_callback, which will write out a sparse\nfile by calling the provided write function.\n\nChange-Id: I18707bd9c357b68da319cc07982e93d1c2b2bee2\n"
    },
    {
      "commit": "b4cd267db30c152245e6308598e0066d87c5c55d",
      "tree": "e888dfa52c033e91247daa5ad33c77696bfe6ff4",
      "parents": [
        "0c4c47f88dfc15cada154a1cf9b4db88b49890f0"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri May 18 14:49:50 2012 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Jul 09 22:09:37 2012 -0700"
      },
      "message": "libsparse: pseudo-subclass output_file for normal and gz files\n\nCreate two subclasses of output_file that can handle normal\nand gzipped files, and refactor open_output_fd.  Will allow\nadding support for an output_file type that is not file\nbacked.\n\nChange-Id: I26744c74d13f205cf17df1ea9caac1eea9c57357\n"
    },
    {
      "commit": "0c4c47f88dfc15cada154a1cf9b4db88b49890f0",
      "tree": "36b4a1635c149cbdb26347387185a5c824cd203a",
      "parents": [
        "13a560659381b34ce3edbfa8dbe6c0aa6c076f20"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Apr 25 19:02:58 2012 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Jul 09 22:09:37 2012 -0700"
      },
      "message": "libsparse: add sparse_file read and convert tools to use it\n\nAbstract the logic from simg2img into libsparse, and add logic\nfor reading a regular image into libsparse.  simg2img then\nbecomes a simple wrapper around libsparse.\n\nimg2simg was not actually making the file sparse, it was using\nsparse files to create multiple files that could be pieced back\ntogether.  Replace it with a simple wrapper around libsparse.\nIts functionality will be replaced by an simg2simg that can\nresparse a file into smaller chunks.\n\nChange-Id: I266f70e1c750454183ce46c71a7bb66bbb033a26\n"
    },
    {
      "commit": "13a560659381b34ce3edbfa8dbe6c0aa6c076f20",
      "tree": "cb0b3473d61f63a73e8832c182970939e29a736c",
      "parents": [
        "be8ddcb35a459481c0bcf5bfe645c1fefe963f5c"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 19 16:45:48 2012 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Jul 09 22:09:37 2012 -0700"
      },
      "message": "libsparse: fix windows image writing\n\nFix write_fd_chunk on windows.  Uses malloc and read instead of mmap.\n\nChange-Id: I75f10db2e04f19e7f3a6ff46b6978d143cb5254e\n"
    },
    {
      "commit": "be8ddcb35a459481c0bcf5bfe645c1fefe963f5c",
      "tree": "f3ab4517291fd1a8fc6c75d8670ba3cd3015be11",
      "parents": [
        "a21930b6b0dbb04a52948566d58fb48c6db58bab"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Apr 25 21:02:16 2012 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Jul 09 22:09:37 2012 -0700"
      },
      "message": "libsparse: merge adjacent blocks of the same type\n\nWhen a block is added that is adjacent to another block and of the same\ntype, merge it.  This will be useful for converting regular images to\nsparse images, allowing the reader to add a single block at a time and\nletting libsparse optimize into larger blocks as it goes.\n\nDoes not support merge two blocks that are backed by a data pointer,\nonly blocks that are backed by a file for now.\n\nChange-Id: I95aa231714cbe01ac194e868c21385806c0bdb97\n"
    },
    {
      "commit": "a21930b6b0dbb04a52948566d58fb48c6db58bab",
      "tree": "e74cfb32ad232c3b99364cd0931502519ca72111",
      "parents": [
        "9e1f17e926fa20255c5f4b4d2f68aa98a964253a"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Apr 26 14:24:35 2012 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Jul 09 22:09:37 2012 -0700"
      },
      "message": "libsparse: add error reporting functions\n\nChange-Id: I2f21355b6c5339d1d724b4c121ea30d575b2d366\n"
    },
    {
      "commit": "9e1f17e926fa20255c5f4b4d2f68aa98a964253a",
      "tree": "142907cdec91851c3e162bdfc23638df9a0d675b",
      "parents": [
        "b55dceea986ab24f8b836b5116b389ed619c816e"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Apr 25 18:31:39 2012 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Jul 09 22:09:37 2012 -0700"
      },
      "message": "libsparse: add support for including fds\n\nAdd sparse_file_add_fd to include all or part of the contents\nof an fd in the output file.  Will be useful for re-sparsing files\nwhere fd will point to the input sparse file.\n\nChange-Id: I5d4ab07fb37231e8e9c1912f62a2968c8b0a00ef\n"
    },
    {
      "commit": "b55dceea986ab24f8b836b5116b389ed619c816e",
      "tree": "aa4f4ed6384931ec362c70eca7b25a7cb8dab450",
      "parents": [
        "411619e921904b896eddae81c086c1f687c8304d"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Apr 24 23:07:49 2012 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Jul 09 22:09:37 2012 -0700"
      },
      "message": "libsparse: cleanups\n\nMove block loops into sparse.c with iterator helpers in backed_block.c.\nSimplify chunk writing by moving skip chunk calls from output_file.c to\nsparse.c.\nRename variables to be consistent with new naming.\nRemove use of u8, u32, u64.\n\nChange-Id: Ic138ad58bef9f96239266ccee12ee83ea285e7eb\n"
    },
    {
      "commit": "411619e921904b896eddae81c086c1f687c8304d",
      "tree": "d7b7f2f18b42c0aa6974e6d21c38109a01af3a48",
      "parents": [
        "28fa5bc347390480fe190294c6c385b6a9f0d68b"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Apr 24 18:51:42 2012 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Jul 09 22:09:36 2012 -0700"
      },
      "message": "libsparse: remove static variables\n\nRemoves static variables in backed_block.c to allow multiple\nsparse files to be open at the same time.\n\nChange-Id: I012d8a424c6e21a7352408416adb7c72ee8add21\n"
    },
    {
      "commit": "28fa5bc347390480fe190294c6c385b6a9f0d68b",
      "tree": "59189cf41baf263befeba392fc5bab814740eab1",
      "parents": [
        "2177c79bddc66e295599d87007d4cbec549e1cac"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Sun May 20 13:28:05 2012 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Jul 09 22:09:36 2012 -0700"
      },
      "message": "system/core: move libsparse into system/core\n\nThis moves an exact copy of libsparse from\nsystem/extras/ext4_utils/libsparse to system/core/libsparse in\npreparation for linking tools in system/core against it.\n\nChange-Id: If664e4fcfd6612844ac745589beb1517e7f9fe58\n"
    },
    {
      "commit": "2177c79bddc66e295599d87007d4cbec549e1cac",
      "tree": "1bc6c1c061163d216f1ae6fc4e7218dbfe062064",
      "parents": [
        "504dccec97c12283f348838ba0bf88536322ee6b",
        "29f26a8dc7169b040d5aed28c7e1ee94fb8f6b5a"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Jun 19 06:13:58 2012 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Jun 19 06:13:58 2012 -0700"
      },
      "message": "Reconcile with jb-release\n\nChange-Id: If15d22c16a727b5a57edb82572fef50bab8f28a3\n"
    },
    {
      "commit": "29f26a8dc7169b040d5aed28c7e1ee94fb8f6b5a",
      "tree": "ebdf729b2d0104e279a3376cfb90759ba4dc85f6",
      "parents": [
        "aeceb5174502659cb4fff6de924b54ef7e6cdae7",
        "26ef0f99cd4d2907366ac30d58e8b25a18e1762c"
      ],
      "author": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Wed Jun 13 08:49:09 2012 -0700"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Wed Jun 13 08:49:09 2012 -0700"
      },
      "message": "merge in jb-release history after reset to jb-dev\n"
    },
    {
      "commit": "504dccec97c12283f348838ba0bf88536322ee6b",
      "tree": "1bc6c1c061163d216f1ae6fc4e7218dbfe062064",
      "parents": [
        "1e96e16f81ce46adf5329b1db4662b53b927d4e2",
        "aeceb5174502659cb4fff6de924b54ef7e6cdae7"
      ],
      "author": {
        "name": "Benoit Goby",
        "email": "benoit@android.com",
        "time": "Tue Jun 12 16:44:11 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 12 16:44:11 2012 -0700"
      },
      "message": "am aeceb517: adb: Fix adb tcpip command\n\n* commit \u0027aeceb5174502659cb4fff6de924b54ef7e6cdae7\u0027:\n  adb: Fix adb tcpip command\n"
    },
    {
      "commit": "aeceb5174502659cb4fff6de924b54ef7e6cdae7",
      "tree": "ebdf729b2d0104e279a3376cfb90759ba4dc85f6",
      "parents": [
        "0f3974c3d0ee2ffe5e0cb9a56658ba18d511f6ea"
      ],
      "author": {
        "name": "Benoit Goby",
        "email": "benoit@android.com",
        "time": "Tue Jun 12 12:12:18 2012 -0700"
      },
      "committer": {
        "name": "Benoit Goby",
        "email": "benoit@android.com",
        "time": "Tue Jun 12 16:14:58 2012 -0700"
      },
      "message": "adb: Fix adb tcpip command\n\nWhen running \"adb tcpip 5555\", adb create a service socket named\n\"tcpip:5555\". Only compare the 6 first chars \"tcpip:\" to decide if\nwe enable exit_on_close.\n\nBug: 6650130\nChange-Id: I0835973de044f1cfde0e859ff0277c0ccc2630a3\n"
    },
    {
      "commit": "1e96e16f81ce46adf5329b1db4662b53b927d4e2",
      "tree": "2cbae47a7ebff235414e48be05064dfd3f689a18",
      "parents": [
        "2a2e10fbb38e4f4d7759f619275fa4ebd596259a",
        "0f3974c3d0ee2ffe5e0cb9a56658ba18d511f6ea"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Jun 12 12:41:25 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 12 12:41:25 2012 -0700"
      },
      "message": "am 0f3974c3: Merge \"Enable tracing on user builds\" into jb-dev\n\n* commit \u00270f3974c3d0ee2ffe5e0cb9a56658ba18d511f6ea\u0027:\n  Enable tracing on user builds\n"
    },
    {
      "commit": "26ef0f99cd4d2907366ac30d58e8b25a18e1762c",
      "tree": "cb1ea64ecbc34b9ef525f51bda8c5186c61a2d90",
      "parents": [
        "0f3974c3d0ee2ffe5e0cb9a56658ba18d511f6ea",
        "7452db98905de30cb3205358f2d19440e91d40c3"
      ],
      "author": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Tue Jun 12 11:25:53 2012 -0700"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Tue Jun 12 11:25:53 2012 -0700"
      },
      "message": "merge in jb-release history after reset to jb-dev\n"
    },
    {
      "commit": "2a2e10fbb38e4f4d7759f619275fa4ebd596259a",
      "tree": "34caadc0580d50956f376f9a4325db2340a51041",
      "parents": [
        "a6f4e65bc430e2481bf8e1aaff4b2743bfb261dd",
        "16d2b6ae4050b1232fd164cef1dbade532fe29a4"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Jun 11 15:25:44 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 11 15:25:44 2012 -0700"
      },
      "message": "am 16d2b6ae: am 91e5551f: Merge \"toolbox: rmmod: fix module unloading\"\n\n* commit \u002716d2b6ae4050b1232fd164cef1dbade532fe29a4\u0027:\n  toolbox: rmmod: fix module unloading\n"
    },
    {
      "commit": "16d2b6ae4050b1232fd164cef1dbade532fe29a4",
      "tree": "c077fc3d65939daf94362ceadc2451f5ba2d3c42",
      "parents": [
        "7bb1b9585d2d61beaf05c997971aee27f87ad3f7",
        "91e5551f88aea5aa64e1b4f8b4b52d7be2b28b64"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Jun 11 15:23:56 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 11 15:23:56 2012 -0700"
      },
      "message": "am 91e5551f: Merge \"toolbox: rmmod: fix module unloading\"\n\n* commit \u002791e5551f88aea5aa64e1b4f8b4b52d7be2b28b64\u0027:\n  toolbox: rmmod: fix module unloading\n"
    },
    {
      "commit": "91e5551f88aea5aa64e1b4f8b4b52d7be2b28b64",
      "tree": "c077fc3d65939daf94362ceadc2451f5ba2d3c42",
      "parents": [
        "ff856a2b927aaadb189181d2cd9dd08dc98456a4",
        "fc26c0ba59ab1f74251fb95de2ee6837035e74e4"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Jun 11 15:16:06 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jun 11 15:16:07 2012 -0700"
      },
      "message": "Merge \"toolbox: rmmod: fix module unloading\""
    },
    {
      "commit": "0f3974c3d0ee2ffe5e0cb9a56658ba18d511f6ea",
      "tree": "cb1ea64ecbc34b9ef525f51bda8c5186c61a2d90",
      "parents": [
        "9cec175c66100d9edbb1054f3f2977a5c3f80af2",
        "1279013dee790c84758e5fc5bed33b5c9df2af9b"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Jun 11 12:04:27 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 11 12:04:27 2012 -0700"
      },
      "message": "Merge \"Enable tracing on user builds\" into jb-dev"
    },
    {
      "commit": "a6f4e65bc430e2481bf8e1aaff4b2743bfb261dd",
      "tree": "d5fd1abe0c2f9490c5f7f9b7fc16b394e9718dcb",
      "parents": [
        "f87d9c86982f8873b7f449029d702ba33569e629",
        "7452db98905de30cb3205358f2d19440e91d40c3"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Jun 11 09:22:54 2012 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Jun 11 09:22:54 2012 -0700"
      },
      "message": "Reconcile with jb-release\n\nChange-Id: Ic8df0fdb3f0a3e9eb54bbd37a929b04c394beb28\n"
    },
    {
      "commit": "7452db98905de30cb3205358f2d19440e91d40c3",
      "tree": "a09395bfcc2673fa76c71255b734c59ef07049f1",
      "parents": [
        "9cec175c66100d9edbb1054f3f2977a5c3f80af2",
        "e545c5341f3364621503b4d5fdb91a0c75952916"
      ],
      "author": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Mon Jun 11 07:05:20 2012 -0700"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Mon Jun 11 07:05:20 2012 -0700"
      },
      "message": "merge in jb-release history after reset to jb-dev\n"
    },
    {
      "commit": "f87d9c86982f8873b7f449029d702ba33569e629",
      "tree": "d5fd1abe0c2f9490c5f7f9b7fc16b394e9718dcb",
      "parents": [
        "536b81afed42ba6be1f824cf90d9a1e17a913c9c",
        "9cec175c66100d9edbb1054f3f2977a5c3f80af2"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Jun 08 15:30:33 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jun 08 15:30:33 2012 -0700"
      },
      "message": "am 9cec175c: Remove a stray newline in the backtrace output.\n\n* commit \u00279cec175c66100d9edbb1054f3f2977a5c3f80af2\u0027:\n  Remove a stray newline in the backtrace output.\n"
    },
    {
      "commit": "536b81afed42ba6be1f824cf90d9a1e17a913c9c",
      "tree": "ae87781b25cacf61c784d1881e421c9ed8c007b2",
      "parents": [
        "d96544ff69601fe2990245e10e054480f0bd341f",
        "053b865412d1982ad1dc0e840898d82527deeb99"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Jun 08 15:27:01 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Jun 08 15:27:01 2012 -0700"
      },
      "message": "resolved conflicts for merge of 053b8654 to jb-dev-plus-aosp\n\nChange-Id: Idfef8c26b7a9e1a1a202e21dc5d34022bbaa92cc\n"
    },
    {
      "commit": "1279013dee790c84758e5fc5bed33b5c9df2af9b",
      "tree": "4fa97250b1edb75d88d29d722214c2d6606ebc8a",
      "parents": [
        "88f11846a621b148387aa09754bc939933793717"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Jun 06 18:12:48 2012 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Jun 08 14:26:29 2012 -0700"
      },
      "message": "Enable tracing on user builds\n\nThis change adds init.rc steps to:\n * allow kernel tracing to be enabled via adb\n * allow a limited set of kernel trace events to be enabled via adb\n * allow the kernel trace to be read via adb\n * allow all users to write to the kernel trace from userland\n\nBug: 6513400\nChange-Id: Ic3c189b5697aa5edf88d2f507c932971bed6caff\n"
    },
    {
      "commit": "9cec175c66100d9edbb1054f3f2977a5c3f80af2",
      "tree": "a09395bfcc2673fa76c71255b734c59ef07049f1",
      "parents": [
        "053b865412d1982ad1dc0e840898d82527deeb99"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Jun 08 14:21:51 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Jun 08 14:21:51 2012 -0700"
      },
      "message": "Remove a stray newline in the backtrace output.\n\nBug: 6615693\nChange-Id: I1ac1746286afb77c3f5c4042c4592333ebb08a51\n"
    },
    {
      "commit": "053b865412d1982ad1dc0e840898d82527deeb99",
      "tree": "2312442a46a05d24230e832700ad1300af9a2d9f",
      "parents": [
        "5f2d00b0677cbe9ad42ea0394def0a51aef7bdda"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Jun 06 16:25:03 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Jun 08 13:29:23 2012 -0700"
      },
      "message": "Enhance native stack dumps.\n\nProvides a new mechanism for dumpstate (while running as root)\nto request that debuggerd dump the stacks of native processes that\nwe care about in bug reports.  In this mode, the backtrace\nis formatted to look similar to a Dalvik backtrace.\n\nMoved the tombstone generating code into a separate file to\nmake it easier to maintain.\n\nFixed a bug where sometimes the stack traces would be incomplete\nbecause we were not waiting for each thread to stop after issuing\nPTRACE_ATTACH, only the main thread.  So sometimes we were missing\ntraces for some threads.\n\nRefactored the logging code to prevent accidentally writing data\nto logcat when explicitly dumping a tombstone or backtrace from the\nconsole.\n\nOnly root or system server can request to dump backtraces but\nonly root can dump tombstones.\n\nBug: 6615693\nChange-Id: Ib3edcc16f9f3a687e414e3f2d250d9500566123b\n"
    },
    {
      "commit": "d96544ff69601fe2990245e10e054480f0bd341f",
      "tree": "5abeb8728798f38125488ee8f0a6d5439aaca5f6",
      "parents": [
        "779b12fc3511bd241c206a49e85ec1b19fdd681c",
        "e545c5341f3364621503b4d5fdb91a0c75952916"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Jun 07 07:51:38 2012 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Jun 07 07:51:38 2012 -0700"
      },
      "message": "Reconcile with jb-release\n\nChange-Id: Ida4b92a5bf99e33e3162186f823b410317d9f6b1\n"
    },
    {
      "commit": "e545c5341f3364621503b4d5fdb91a0c75952916",
      "tree": "0b1c28ef5c0f789179155ebf1a6dfb0fd1db3a7d",
      "parents": [
        "5f2d00b0677cbe9ad42ea0394def0a51aef7bdda",
        "b7eb2cc299c4f713a9a4b141f803ec78b16cf03d"
      ],
      "author": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Tue Jun 05 06:59:47 2012 -0700"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Tue Jun 05 06:59:47 2012 -0700"
      },
      "message": "merge in jb-release history after reset to jb-dev\n"
    },
    {
      "commit": "779b12fc3511bd241c206a49e85ec1b19fdd681c",
      "tree": "5abeb8728798f38125488ee8f0a6d5439aaca5f6",
      "parents": [
        "2b628a3c2ee7d8411b76d37c3db30a0b7da24d73",
        "5f2d00b0677cbe9ad42ea0394def0a51aef7bdda"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Tue Jun 05 00:33:34 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 05 00:33:34 2012 -0700"
      },
      "message": "am 5f2d00b0: rootdir: init.rc: remove audio app/sys groups, merge to fg\n\n* commit \u00275f2d00b0677cbe9ad42ea0394def0a51aef7bdda\u0027:\n  rootdir: init.rc: remove audio app/sys groups, merge to fg\n"
    },
    {
      "commit": "2b628a3c2ee7d8411b76d37c3db30a0b7da24d73",
      "tree": "777004845ecc2597d87b71f8f91c87be13516b5a",
      "parents": [
        "38160c06cabe35330f49eb0f6e0cfcc3f9823f0d",
        "29319a6753569fb3ef160c2de2f1c4d9d1398178"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Tue Jun 05 00:33:33 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 05 00:33:33 2012 -0700"
      },
      "message": "am 29319a67: cutils: sched_policy: remove audio app/sys groups, merge into fg\n\n* commit \u002729319a6753569fb3ef160c2de2f1c4d9d1398178\u0027:\n  cutils: sched_policy: remove audio app/sys groups, merge into fg\n"
    },
    {
      "commit": "38160c06cabe35330f49eb0f6e0cfcc3f9823f0d",
      "tree": "8333299fd0d62608cf6cc12e7a2bf5bf400b7a04",
      "parents": [
        "2449c83a09fe1a5b87f89bd55925a11e79efb2ef",
        "df44b88621f60e933d7d31090bf0bb892e88142c"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Tue Jun 05 00:33:31 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 05 00:33:31 2012 -0700"
      },
      "message": "am df44b886: core: init.rc: create apps cgroup for fg tasks, move bg under it\n\n* commit \u0027df44b88621f60e933d7d31090bf0bb892e88142c\u0027:\n  core: init.rc: create apps cgroup for fg tasks, move bg under it\n"
    },
    {
      "commit": "2449c83a09fe1a5b87f89bd55925a11e79efb2ef",
      "tree": "124662ee800fcf1ebc7edf19bc4be372e518827a",
      "parents": [
        "6f523cda13094bf493cdf37e7ecc480bb5a37a2b",
        "13ed76bfbce8e96604e781f88808b4d883891dde"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Tue Jun 05 00:33:30 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 05 00:33:30 2012 -0700"
      },
      "message": "am 13ed76bf: cutils: sched_policy: make bg group be nested under fg\n\n* commit \u002713ed76bfbce8e96604e781f88808b4d883891dde\u0027:\n  cutils: sched_policy: make bg group be nested under fg\n"
    },
    {
      "commit": "5f2d00b0677cbe9ad42ea0394def0a51aef7bdda",
      "tree": "0b1c28ef5c0f789179155ebf1a6dfb0fd1db3a7d",
      "parents": [
        "29319a6753569fb3ef160c2de2f1c4d9d1398178"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Mon Jun 04 13:15:01 2012 -0700"
      },
      "committer": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Mon Jun 04 15:11:33 2012 -0700"
      },
      "message": "rootdir: init.rc: remove audio app/sys groups, merge to fg\n\nWith this change, the audio rr/fifo threads will just run in\nthe fg cgroup.\n\nAlso, the RR budget for the apps fg/bg threads has been bumped\nto 80%. Ideally, the bg budget would be much smaller but there\nare legacy libraries that seem to be very sensitive to this so\nfor now keep it at this value.\n\nBug: 6528015\nChange-Id: I08f295e7ba195a449b96cd79d954b0529cee8636\nSigned-off-by: Dima Zavin \u003cdima@android.com\u003e\n"
    },
    {
      "commit": "29319a6753569fb3ef160c2de2f1c4d9d1398178",
      "tree": "802bd3b1f8d848acc721ec0ffb88cc0e26cb8167",
      "parents": [
        "df44b88621f60e933d7d31090bf0bb892e88142c"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Mon Jun 04 13:14:36 2012 -0700"
      },
      "committer": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Mon Jun 04 13:20:17 2012 -0700"
      },
      "message": "cutils: sched_policy: remove audio app/sys groups, merge into fg\n\nBug: 6528015\nChange-Id: I6c2658b62442d811b53c6d18476fbd6cd45f9e3f\nSigned-off-by: Dima Zavin \u003cdima@android.com\u003e\n"
    },
    {
      "commit": "df44b88621f60e933d7d31090bf0bb892e88142c",
      "tree": "3710a2e79a8fc99bd1b54b451ede0e1a72547b6f",
      "parents": [
        "13ed76bfbce8e96604e781f88808b4d883891dde"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Mon Jun 04 10:45:15 2012 -0700"
      },
      "committer": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Mon Jun 04 13:02:44 2012 -0700"
      },
      "message": "core: init.rc: create apps cgroup for fg tasks, move bg under it\n\nBug: 6538553\nChange-Id: I7c29975aa376bcdda9d6bbd1fd3e04fdb1c1b1fe\nSigned-off-by: Dima Zavin \u003cdima@android.com\u003e\n"
    },
    {
      "commit": "13ed76bfbce8e96604e781f88808b4d883891dde",
      "tree": "b87550bdf553c0cd25836850d6f2ffd6ac16236d",
      "parents": [
        "88f11846a621b148387aa09754bc939933793717"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Mon Jun 04 10:42:38 2012 -0700"
      },
      "committer": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Mon Jun 04 10:42:40 2012 -0700"
      },
      "message": "cutils: sched_policy: make bg group be nested under fg\n\nAdds an apps cgroup which will contain fg tasks. Move the bg group\nnested underneath it.\n\nBug: 6538553\nChange-Id: I55279415da625e15a5bb061c2b45fbe7f7a4c047\nSigned-off-by: Dima Zavin \u003cdima@android.com\u003e\n"
    },
    {
      "commit": "6f523cda13094bf493cdf37e7ecc480bb5a37a2b",
      "tree": "6770c133428553ac2e3abb3545afa281813fe4f4",
      "parents": [
        "99565a9e80882658e1b4ea5b7c610d40d4d7cb0b",
        "7bb1b9585d2d61beaf05c997971aee27f87ad3f7"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Wed May 30 15:29:07 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 30 15:29:07 2012 -0700"
      },
      "message": "am 7bb1b958: am ff856a2b: Merge \"Add error handling to SocketClient::sendData\"\n\n* commit \u00277bb1b9585d2d61beaf05c997971aee27f87ad3f7\u0027:\n  Add error handling to SocketClient::sendData\n"
    },
    {
      "commit": "7bb1b9585d2d61beaf05c997971aee27f87ad3f7",
      "tree": "8e932ad0f6147550bc4d2b31d74076bfc8025e70",
      "parents": [
        "a802b8374a22da9f52541e1fc286dcbdb1cfa1b4",
        "ff856a2b927aaadb189181d2cd9dd08dc98456a4"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Wed May 30 15:23:29 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 30 15:23:29 2012 -0700"
      },
      "message": "am ff856a2b: Merge \"Add error handling to SocketClient::sendData\"\n\n* commit \u0027ff856a2b927aaadb189181d2cd9dd08dc98456a4\u0027:\n  Add error handling to SocketClient::sendData\n"
    },
    {
      "commit": "ff856a2b927aaadb189181d2cd9dd08dc98456a4",
      "tree": "8e932ad0f6147550bc4d2b31d74076bfc8025e70",
      "parents": [
        "1d5e7885698ca81241f10d06d475ef4e6075089b",
        "2e5fcd08ac177e984ebf1fb05bab5dfcf296c5a4"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Wed May 30 14:57:50 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 30 14:57:50 2012 -0700"
      },
      "message": "Merge \"Add error handling to SocketClient::sendData\""
    },
    {
      "commit": "068f9f3bf9d09ebca0016cfcbb682d8ca27480f5",
      "tree": "0f57cb8eee296a653252f14e287d560e410e8140",
      "parents": [
        "a36e1aa3db254d008f220a45899e1d70f4192619"
      ],
      "author": {
        "name": "Duane Sand",
        "email": "duanes@mips.com",
        "time": "Thu May 24 22:09:24 2012 -0700"
      },
      "committer": {
        "name": "Duane Sand",
        "email": "duanes@mips.com",
        "time": "Wed May 30 11:48:53 2012 -0700"
      },
      "message": "Add Mips support to libpixelflinger\n\nChange-Id: Ib81cb01b8d90ed1afa1fd54b3cc009d7fec0f814\n"
    },
    {
      "commit": "096041174b1d8cc09b06c51053b2b7e8545bd93f",
      "tree": "2b977eddbaf2a93d5a35f851efaa965fe57d2a57",
      "parents": [
        "d98c87c95342ed6eade9f1239122dc9e90dcad67"
      ],
      "author": {
        "name": "Duane Sand",
        "email": "duanes@mips.com",
        "time": "Thu May 24 17:40:21 2012 -0700"
      },
      "committer": {
        "name": "Duane Sand",
        "email": "duanes@mips.com",
        "time": "Tue May 29 16:18:42 2012 -0700"
      },
      "message": "Add Mips architecture to system/core/include\n\nChange-Id: Ief7bdbd8d09cabe3f11f3ed47a932a7faa81cad9\n"
    },
    {
      "commit": "99565a9e80882658e1b4ea5b7c610d40d4d7cb0b",
      "tree": "250d03a44aaecfce50758bdada138a8c9cc69d4b",
      "parents": [
        "79c71831ca1ee795c56dab4bb7704d6c835a53ce",
        "b7eb2cc299c4f713a9a4b141f803ec78b16cf03d"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue May 29 09:41:27 2012 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue May 29 09:41:27 2012 -0700"
      },
      "message": "Reconcile with jb-release\n\nChange-Id: Idc084816f4d709bf71c761151d548c8136085767\n"
    },
    {
      "commit": "b7eb2cc299c4f713a9a4b141f803ec78b16cf03d",
      "tree": "c986644afe2967a0d3d327724e1312bb9aa1093b",
      "parents": [
        "88f11846a621b148387aa09754bc939933793717",
        "75d2a79001bb4fb072f8934f7774a25aec24cc23"
      ],
      "author": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Tue May 29 09:01:51 2012 -0700"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Tue May 29 09:01:51 2012 -0700"
      },
      "message": "merge in jb-release history after reset to jb-dev\n"
    },
    {
      "commit": "2e5fcd08ac177e984ebf1fb05bab5dfcf296c5a4",
      "tree": "8e932ad0f6147550bc4d2b31d74076bfc8025e70",
      "parents": [
        "1d5e7885698ca81241f10d06d475ef4e6075089b"
      ],
      "author": {
        "name": "Mattias Falk",
        "email": "mattias.falk@sonyericsson.com",
        "time": "Fri May 13 16:25:38 2011 +0200"
      },
      "committer": {
        "name": "Henrik Baard",
        "email": "henrik.baard@sonymobile.com",
        "time": "Tue May 29 14:19:06 2012 +0200"
      },
      "message": "Add error handling to SocketClient::sendData\n\nReturn failure and set errno if mSocket isn\u0027t valid.\n\nChange-Id: I579114d435db46d0bb5682167ef34bebe061a8f8\n"
    },
    {
      "commit": "79c71831ca1ee795c56dab4bb7704d6c835a53ce",
      "tree": "250d03a44aaecfce50758bdada138a8c9cc69d4b",
      "parents": [
        "27ca5f14939e763426b8bb1f67d08a39ddcef958",
        "a802b8374a22da9f52541e1fc286dcbdb1cfa1b4"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri May 25 08:12:59 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri May 25 08:12:59 2012 -0700"
      },
      "message": "am a802b837: am 1d5e7885: Merge \"toolbox: implement rm -f flag\"\n\n* commit \u0027a802b8374a22da9f52541e1fc286dcbdb1cfa1b4\u0027:\n  toolbox: implement rm -f flag\n"
    },
    {
      "commit": "a802b8374a22da9f52541e1fc286dcbdb1cfa1b4",
      "tree": "bbdab945e7058755492cef733ef91d20e99b9575",
      "parents": [
        "9bdedb599874278abf206230ed31010eeb9b40dd",
        "1d5e7885698ca81241f10d06d475ef4e6075089b"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri May 25 08:09:42 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri May 25 08:09:42 2012 -0700"
      },
      "message": "am 1d5e7885: Merge \"toolbox: implement rm -f flag\"\n\n* commit \u00271d5e7885698ca81241f10d06d475ef4e6075089b\u0027:\n  toolbox: implement rm -f flag\n"
    },
    {
      "commit": "1d5e7885698ca81241f10d06d475ef4e6075089b",
      "tree": "bbdab945e7058755492cef733ef91d20e99b9575",
      "parents": [
        "a36e1aa3db254d008f220a45899e1d70f4192619",
        "0ffc5b37e553f4514121d2775879a153e6ea5ecc"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri May 25 07:32:01 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 25 07:32:02 2012 -0700"
      },
      "message": "Merge \"toolbox: implement rm -f flag\""
    },
    {
      "commit": "27ca5f14939e763426b8bb1f67d08a39ddcef958",
      "tree": "7d440eefc686a8b99691163b39badf1b11865d0b",
      "parents": [
        "c79e59ce77f30a6da1bb04773f7f63446b378d0b",
        "88f11846a621b148387aa09754bc939933793717"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu May 24 11:42:54 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 24 11:42:54 2012 -0700"
      },
      "message": "am 88f11846: audio policy: allow disabling A2DP for media.\n\n* commit \u002788f11846a621b148387aa09754bc939933793717\u0027:\n  audio policy: allow disabling A2DP for media.\n"
    },
    {
      "commit": "88f11846a621b148387aa09754bc939933793717",
      "tree": "c986644afe2967a0d3d327724e1312bb9aa1093b",
      "parents": [
        "ddf07b41167bbcb4e74d0af5dd43175513963c2d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon May 21 08:55:30 2012 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu May 24 10:10:45 2012 -0700"
      },
      "message": "audio policy: allow disabling A2DP for media.\n\nAdded FORCE_NO_BT_A2DP forced use to allow applications to\noverride default policy to use A2DP whenever connected.\n\nBug 6485897.\n\nChange-Id: I0039232ea6cce4121f375961b2c153d1a0d92e49\n"
    },
    {
      "commit": "c79e59ce77f30a6da1bb04773f7f63446b378d0b",
      "tree": "50e800fcc4d4d24907154f32db77561b1f6a3dfa",
      "parents": [
        "e4cd4512d684c23a31fbb91c65e2283d7c16d415",
        "75d2a79001bb4fb072f8934f7774a25aec24cc23"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu May 24 09:01:53 2012 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu May 24 09:01:53 2012 -0700"
      },
      "message": "Reconcile with jb-release\n\nChange-Id: I76ffcc7449cf140d5598612a6be3e8f7b964dc9b\n"
    },
    {
      "commit": "75d2a79001bb4fb072f8934f7774a25aec24cc23",
      "tree": "c5826c3f378b98364b4491d1bfdc9964d8bc8f6b",
      "parents": [
        "ddf07b41167bbcb4e74d0af5dd43175513963c2d",
        "90dbf7a87ebe70590fe6ffa37610cede23402fa4"
      ],
      "author": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Thu May 24 07:02:51 2012 -0700"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Thu May 24 07:02:51 2012 -0700"
      },
      "message": "merge in jb-release history after reset to jb-dev\n"
    },
    {
      "commit": "e4cd4512d684c23a31fbb91c65e2283d7c16d415",
      "tree": "50e800fcc4d4d24907154f32db77561b1f6a3dfa",
      "parents": [
        "8141498d2d30ed62183fc790b152f4f6058881fd",
        "ddf07b41167bbcb4e74d0af5dd43175513963c2d"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed May 23 14:19:27 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 23 14:19:27 2012 -0700"
      },
      "message": "am ddf07b41: Merge \"Reuse system properties for p2p\" into jb-dev\n\n* commit \u0027ddf07b41167bbcb4e74d0af5dd43175513963c2d\u0027:\n  Reuse system properties for p2p\n"
    },
    {
      "commit": "ddf07b41167bbcb4e74d0af5dd43175513963c2d",
      "tree": "c5826c3f378b98364b4491d1bfdc9964d8bc8f6b",
      "parents": [
        "4c48025c484e9fb0e10bb9c6a1b9bbd5a2def555",
        "89f58cf827ecac8e67f5bcdb1dc7a9ed43e69cef"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed May 23 14:17:02 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 23 14:17:02 2012 -0700"
      },
      "message": "Merge \"Reuse system properties for p2p\" into jb-dev"
    },
    {
      "commit": "89f58cf827ecac8e67f5bcdb1dc7a9ed43e69cef",
      "tree": "80860c03c15dc89804d06bf82250898a7c8ec265",
      "parents": [
        "246808bedfb35ce8abd6cee434ff5b07a6618e8a"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed May 23 10:30:05 2012 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed May 23 14:13:40 2012 -0700"
      },
      "message": "Reuse system properties for p2p\n\np2p interfaces keep increasing. Reuse a single \"p2p\" phrase to track all\np2p specific properties.\n\nLonger term, we will remove the use of system properties for dhcp\n\nAlso, fixed some warnings\n\nBug: 6522164\nChange-Id: Ibe9a68a1b5db9d5b0fe88c854d9f94b1b9930970\n"
    },
    {
      "commit": "8141498d2d30ed62183fc790b152f4f6058881fd",
      "tree": "14c6836df48f45800852083ddbf7bfc6c7352ba4",
      "parents": [
        "5820a99f3f843d718e80bc34bc4879144cce1efe",
        "90dbf7a87ebe70590fe6ffa37610cede23402fa4",
        "2240bbe647bd129b08fef16c48d6ef69df41755d"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri May 18 18:44:12 2012 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri May 18 18:44:12 2012 -0700"
      },
      "message": "Reconcile with jb-release nakasi-factoryrom-release\n\nChange-Id: I1f460af608d091f5e9fddcab2953817fee7eec43\n"
    },
    {
      "commit": "2240bbe647bd129b08fef16c48d6ef69df41755d",
      "tree": "44e860cbeba2ae25fb86edde82f5b23aef7c69b1",
      "parents": [
        "90dbf7a87ebe70590fe6ffa37610cede23402fa4",
        "1f956d3ecc3afbc3bc8b16e3cbac9f52fd0279c4"
      ],
      "author": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Fri May 18 10:50:50 2012 -0700"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Fri May 18 10:50:50 2012 -0700"
      },
      "message": "merge in nakasi-factoryrom-release history after reset to jb-dev\n"
    }
  ],
  "next": "5820a99f3f843d718e80bc34bc4879144cce1efe"
}
