)]}'
{
  "log": [
    {
      "commit": "b7c41aaad02e39e692362d0f2eed86c3e2008271",
      "tree": "15204bcecc743bacdfc93599c152b8dfc3e85371",
      "parents": [
        "dce85e32ecbc8802d78dc997eb378851aab5e6b8"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Mon Jul 20 11:57:59 2009 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Mon Jul 20 11:57:59 2009 -0400"
      },
      "message": "Add a separate version of the docs build that only does the stubs.\n\nThat way we don\u0027t have to wait for clearsilver to write the thousands\nof html files during every build.\n\n(This is the build change, there is also a frameworks/base change)\n"
    },
    {
      "commit": "4d221e8e28c10dbce93fa6773471925d1e3f6613",
      "tree": "63acc68db6caa5737476f1a8a897774c9c68a67f",
      "parents": [
        "04418dc32c00afb484d3c5b8c34fb1023996864f",
        "ccf9c1da8612d2d9bfb13efb97ceed29c15c83b4"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 16 17:54:18 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jul 16 17:54:18 2009 -0700"
      },
      "message": "am ccf9c1da: Merge change 7479 into donut\n\nMerge commit \u0027ccf9c1da8612d2d9bfb13efb97ceed29c15c83b4\u0027\n\n* commit \u0027ccf9c1da8612d2d9bfb13efb97ceed29c15c83b4\u0027:\n  handle identical gzip chunks better\n"
    },
    {
      "commit": "ccf9c1da8612d2d9bfb13efb97ceed29c15c83b4",
      "tree": "0e5a52834071318bcf3546fc1842e1051d3e82f6",
      "parents": [
        "a237874ccf49e92b93faea51f65c2ff37ea19ac7",
        "3b72436dbe4695f7f0b8ebf9ad47d8009c2c1509"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 16 13:30:16 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 16 13:30:16 2009 -0700"
      },
      "message": "Merge change 7479 into donut\n\n* changes:\n  handle identical gzip chunks better\n"
    },
    {
      "commit": "79e4a0b56848d05dbe7f125de6311b9e66f8775c",
      "tree": "150da2347ec29096e20bbe360b055f921986a8ca",
      "parents": [
        "3c794d71b9e3210c521965fe1c7df1d04ce4d7cd",
        "a237874ccf49e92b93faea51f65c2ff37ea19ac7"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Wed Jul 15 18:15:19 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 15 18:15:19 2009 -0700"
      },
      "message": "am a237874c: fix the modtime of files in the apk when signing\n\nMerge commit \u0027a237874ccf49e92b93faea51f65c2ff37ea19ac7\u0027\n\n* commit \u0027a237874ccf49e92b93faea51f65c2ff37ea19ac7\u0027:\n  fix the modtime of files in the apk when signing\n"
    },
    {
      "commit": "3b72436dbe4695f7f0b8ebf9ad47d8009c2c1509",
      "tree": "51defb27909f71b230b5584a16b7e6385c9c4fdb",
      "parents": [
        "030614740c1a22e51c6513058852f9ab368fdf5d"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Wed Jul 15 17:54:30 2009 -0700"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Wed Jul 15 17:54:30 2009 -0700"
      },
      "message": "handle identical gzip chunks better\n\nImprove the speed of incremental OTA install by treating unchanging\ngzip chunks as normal chunks, avoiding a decompress/recompress cycle.\nThis reduces the time needed to apply a patch to a boot image where\nthe kernel has not changed from ~30 seconds to ~2 seconds, on an opal.\n"
    },
    {
      "commit": "a237874ccf49e92b93faea51f65c2ff37ea19ac7",
      "tree": "a82c77e81fb0b13b22b662097e58508c0d17d273",
      "parents": [
        "030614740c1a22e51c6513058852f9ab368fdf5d"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Wed Jul 15 15:43:39 2009 -0700"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Wed Jul 15 15:43:39 2009 -0700"
      },
      "message": "fix the modtime of files in the apk when signing\n\nSignApk fixes the timestamp of the signature files it adds.  Use that\nsame timestamp for all the files, so that the modtime doesn\u0027t vary\nfrom build to build.  (Incremental OTAs currently spend significant\ntime rewriting every .apk to do nothing but patch in timestamp\nchanges.)\n"
    },
    {
      "commit": "b606925ef9a2aa26f03dc6f8e4f19caad16ad588",
      "tree": "733969c48d7e78fbc0857769c7b8a04dd2ec6f59",
      "parents": [
        "eba0479d10866e432f3360c1ca0b2a2ce3a3dadf",
        "030614740c1a22e51c6513058852f9ab368fdf5d"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Tue Jul 14 12:54:56 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Jul 14 12:54:56 2009 -0700"
      },
      "message": "am 03061474: in auto mode, generate both edify and amend scripts for full OTAs\n\nMerge commit \u0027030614740c1a22e51c6513058852f9ab368fdf5d\u0027\n\n* commit \u0027030614740c1a22e51c6513058852f9ab368fdf5d\u0027:\n  in auto mode, generate both edify and amend scripts for full OTAs\n"
    },
    {
      "commit": "030614740c1a22e51c6513058852f9ab368fdf5d",
      "tree": "d41f238f5d819b5f3ff84017e2bf04fd4ae8df00",
      "parents": [
        "e41accf68eedfd17bc569aee8480cf8c48d82e61"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Mon Jul 13 18:36:37 2009 -0700"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Tue Jul 14 12:40:26 2009 -0700"
      },
      "message": "in auto mode, generate both edify and amend scripts for full OTAs\n\nGenerate packages that can be installed by either amend or edify, so\nwe can remove amend support from donut.\n"
    },
    {
      "commit": "594375db5f1eb4576fec7f6fb37e7a322a5d848b",
      "tree": "9a81d8ea1ada4f467b14bf289d37c259050318df",
      "parents": [
        "e4aaa368b3c58c72a771c23de81e46b729bc736c"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jul 14 09:04:04 2009 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jul 14 12:22:29 2009 -0700"
      },
      "message": "Python script to parse a build log and present the warnings in html\n"
    },
    {
      "commit": "04edc95a328d509b8a51123f891d396256bc409c",
      "tree": "f4ee9a7b40108cb9d50f162e4a7b124bef7d8bc8",
      "parents": [
        "9945bac30311cc5f7732a9c285dec32d497c47ca",
        "6c8cafac168e2cc2425a944717082ebe68795df7"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Jul 06 12:27:36 2009 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Jul 06 12:27:36 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://android.git.kernel.org/platform/build into merge_korg_master\n\nConflicts:\n\tcore/apicheck_msg_current.txt\n"
    },
    {
      "commit": "8b3f93a7d5c5cdb750f84b2a774b978ccea5363c",
      "tree": "852fda0c009bb0acd6e1a4960809d94169db3603",
      "parents": [
        "d77ccd3f1b0e3e265055e2e9ef27293b0aabbbee",
        "6e9c1a6dd0042e123941e59ad5da6fc569093fbb"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Thu Jul 02 15:24:24 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Jul 02 15:24:24 2009 -0700"
      },
      "message": "am 6e9c1a6d: remove some accidentally-submitted debug logging\n\nMerge commit \u00276e9c1a6dd0042e123941e59ad5da6fc569093fbb\u0027\n\n* commit \u00276e9c1a6dd0042e123941e59ad5da6fc569093fbb\u0027:\n  remove some accidentally-submitted debug logging\n"
    },
    {
      "commit": "d77ccd3f1b0e3e265055e2e9ef27293b0aabbbee",
      "tree": "9fa291b697477349fac786c014db10acf9a375cb",
      "parents": [
        "acb8bda3bb2c98ba85f5079b6d44a1019275e229",
        "a2bd9af94757e73a4ff4c1fe8c98b4174b008b62"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 01 22:43:50 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Jul 01 22:43:50 2009 -0700"
      },
      "message": "am a2bd9af9: Merge change 4759 into donut\n\nMerge commit \u0027a2bd9af94757e73a4ff4c1fe8c98b4174b008b62\u0027\n\n* commit \u0027a2bd9af94757e73a4ff4c1fe8c98b4174b008b62\u0027:\n  Removing top tabs from PDK navigation because right now we only have one section.\n"
    },
    {
      "commit": "acb8bda3bb2c98ba85f5079b6d44a1019275e229",
      "tree": "53a7027725d6df707998321861ad51568121a7c4",
      "parents": [
        "810e4c9d54aff044d9a1d77e8fed036552366f35",
        "0f3298a497e32f6c2325a0071124a62d031fae6f"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Wed Jul 01 16:01:52 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Jul 01 16:01:52 2009 -0700"
      },
      "message": "am 0f3298a4: delete source files not in target\n\nMerge commit \u00270f3298a497e32f6c2325a0071124a62d031fae6f\u0027\n\n* commit \u00270f3298a497e32f6c2325a0071124a62d031fae6f\u0027:\n  delete source files not in target\n"
    },
    {
      "commit": "6e9c1a6dd0042e123941e59ad5da6fc569093fbb",
      "tree": "2d346c71df9767525baba170353dc5edc2a19d65",
      "parents": [
        "a2bd9af94757e73a4ff4c1fe8c98b4174b008b62"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Wed Jul 01 14:18:59 2009 -0700"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Wed Jul 01 14:18:59 2009 -0700"
      },
      "message": "remove some accidentally-submitted debug logging\n"
    },
    {
      "commit": "a2bd9af94757e73a4ff4c1fe8c98b4174b008b62",
      "tree": "d7ff60653900f2589d63ed7f82fa56b316463941",
      "parents": [
        "0f3298a497e32f6c2325a0071124a62d031fae6f",
        "66b14d8646734f9fc3cf5e8e02d7c4a072e20bd5"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 30 13:53:47 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 30 13:53:47 2009 -0700"
      },
      "message": "Merge change 4759 into donut\n\n* changes:\n  \tRemoving top tabs from PDK navigation because right now we only have one section.\n"
    },
    {
      "commit": "0f3298a497e32f6c2325a0071124a62d031fae6f",
      "tree": "f1d908014e2e87b274746e9ac95757872b20522e",
      "parents": [
        "c898974bcc3e6adfc2900c2a01bde5f83a0591d6"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Tue Jun 30 08:16:58 2009 -0700"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Tue Jun 30 08:16:58 2009 -0700"
      },
      "message": "delete source files not in target\n\nIncremental OTAs were not removing files from the old build that don\u0027t\nexist in the new build.  Fix.\n"
    },
    {
      "commit": "8e2f2b9b207ba4615cb0fb49d29ff65203aad279",
      "tree": "b20903fded7291839f59e63e77f00ccb04d3a905",
      "parents": [
        "a4ebcbb929d8f86ff8b89fa05e1ef371cabf7ddc"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Wed Jun 24 14:34:57 2009 -0700"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Wed Jun 24 14:34:57 2009 -0700"
      },
      "message": "ignore missing/bad device-specific releasetools modules\n\nIf we fail to load the device-specific releasetools module (ie, if -s\nis specified but the file is missing), issue an error message but\ncontinue without any device-specific code.\n"
    },
    {
      "commit": "a4ebcbb929d8f86ff8b89fa05e1ef371cabf7ddc",
      "tree": "57ecb729ecc2ff514fb9785b314d313ee466744b",
      "parents": [
        "3fbb580c10ee501b8358a4b4b978357097262482",
        "e1c31bacae7be6da140066966e6d2bbadd9331e9"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Wed Jun 24 13:58:30 2009 -0700"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Wed Jun 24 13:58:30 2009 -0700"
      },
      "message": "resolved conflicts for merge of e1c31bac to master\n"
    },
    {
      "commit": "e1c31bacae7be6da140066966e6d2bbadd9331e9",
      "tree": "9fe9e78e02a7276d972942eba70c073ae78722d0",
      "parents": [
        "55766e47aaf4fe72a2b5cdd8aa60d14781c01e94"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Tue Jun 23 17:40:35 2009 -0700"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Tue Jun 23 17:40:35 2009 -0700"
      },
      "message": "make building recovery and boot images optional\n\nIf the source target-files zip omits files needed to build the\nrecovery and/or boot images, leave them out instead of dying with an\nerror.  This lets build like \"generic-userdebug\" work.\n"
    },
    {
      "commit": "0fbd7da3cdb3087e758c8975efdfd1ccd70a832f",
      "tree": "56f65388024e4f37a2aa78fccef385d883213a9b",
      "parents": [
        "4179f16e4825fe572064c1b94c5ff2e62f241abf",
        "55766e47aaf4fe72a2b5cdd8aa60d14781c01e94"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 23 16:34:08 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Jun 23 16:34:08 2009 -0700"
      },
      "message": "am 55766e47: Merge change 5150 into donut\n\nMerge commit \u002755766e47aaf4fe72a2b5cdd8aa60d14781c01e94\u0027\n\n* commit \u002755766e47aaf4fe72a2b5cdd8aa60d14781c01e94\u0027:\n  don\u0027t fail if no required bootloaders are defined\n"
    },
    {
      "commit": "55766e47aaf4fe72a2b5cdd8aa60d14781c01e94",
      "tree": "dbf9cd693c7756607d6dff8c918fc91f188f4aef",
      "parents": [
        "bf8a59aa12dd8dd8ceb6eeeec22dd94b8332c228",
        "9fc74c7823182c4121f32114a7f83ae3fa7e4346"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 23 16:32:18 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 23 16:32:18 2009 -0700"
      },
      "message": "Merge change 5150 into donut\n\n* changes:\n  don\u0027t fail if no required bootloaders are defined\n"
    },
    {
      "commit": "9fc74c7823182c4121f32114a7f83ae3fa7e4346",
      "tree": "cf99f8fcfb2a55ebd2b96ae683c39b0b8c2c963d",
      "parents": [
        "edb6829f832bb79ba2e96ada74b3b971b73ad9a7"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Tue Jun 23 16:27:38 2009 -0700"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Tue Jun 23 16:29:13 2009 -0700"
      },
      "message": "don\u0027t fail if no required bootloaders are defined\n\nGeneric targets don\u0027t have a list of defined bootloaders.  Instead of\nfailing to build an OTA package, just omit the constraint.\n\nFix bad references to ExternalError.\n"
    },
    {
      "commit": "ab81dbd1f441ff367dfa5953b229c37171c62722",
      "tree": "c1139debf865cfd95ab7ff496b4fe8b405e25b91",
      "parents": [
        "6178e239e6c5932173c467bd761d998f4771d165",
        "bf8a59aa12dd8dd8ceb6eeeec22dd94b8332c228"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 22 22:04:16 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Jun 22 22:04:16 2009 -0700"
      },
      "message": "am bf8a59aa: Merge change 5017 into donut\n\nMerge commit \u0027bf8a59aa12dd8dd8ceb6eeeec22dd94b8332c228\u0027\n\n* commit \u0027bf8a59aa12dd8dd8ceb6eeeec22dd94b8332c228\u0027:\n  Don\u0027t install afar and dexpreopt-wrapper on system while building tests.\n"
    },
    {
      "commit": "802965380c5c4bc25dc6f793097d97cc69ae2b88",
      "tree": "913e00901e42a755379c51d66b038d6d587cdd3c",
      "parents": [
        "edb6829f832bb79ba2e96ada74b3b971b73ad9a7"
      ],
      "author": {
        "name": "Sriram Raman",
        "email": "sriramkraman@google.com",
        "time": "Mon Jun 22 17:16:37 2009 -0700"
      },
      "committer": {
        "name": "Sriram Raman",
        "email": "sriramkraman@google.com",
        "time": "Mon Jun 22 17:16:37 2009 -0700"
      },
      "message": "Don\u0027t install afar and dexpreopt-wrapper on system while building tests.\n"
    },
    {
      "commit": "05d3dea519688b61d86e30c2d4b99ff494aeca73",
      "tree": "40fb8d5af9ffcd6739bd3e8ebbbaa621f1738269",
      "parents": [
        "09e82c0d93b557256dcde07c5ca5cfeb07af9d03"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Mon Jun 22 11:32:31 2009 -0700"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Mon Jun 22 15:09:22 2009 -0700"
      },
      "message": "support hooks for device-specific code in OTA package generation\n\nReplace the installation of the \"radio image\", which is an\nHTC-specific notion, with calls to device-specific python modules that\ncan add whatever additional OTA script commands are necessary.  Add\nthe -s flag to specify the location of the device-specific script\n(replacing the unused -s flag in sign_target_files_apks).\n"
    },
    {
      "commit": "66b14d8646734f9fc3cf5e8e02d7c4a072e20bd5",
      "tree": "c5ef5a71e3bf2101eca587a1d41d1c8bb5a70422",
      "parents": [
        "edb6829f832bb79ba2e96ada74b3b971b73ad9a7"
      ],
      "author": {
        "name": "David Warren",
        "email": "dwarren@google.com",
        "time": "Fri Jun 19 10:14:37 2009 -0700"
      },
      "committer": {
        "name": "David Warren",
        "email": "dwarren@google.com",
        "time": "Fri Jun 19 10:14:37 2009 -0700"
      },
      "message": "\tRemoving top tabs from PDK navigation because right now we only have one section.\n"
    },
    {
      "commit": "ac4920a90bff0362eec8f424a3b45b47479c287b",
      "tree": "b96487645533c03170fba6c176a837b4676cc5ec",
      "parents": [
        "d6fb2d40b58b7b13cc63190c2ac88d0a30005617",
        "c494d7cee85d980647ca915ea64355b71fe817eb"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Thu Jun 18 13:42:20 2009 -0700"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Thu Jun 18 13:42:20 2009 -0700"
      },
      "message": "resolved conflicts for merge of c494d7ce to master\n"
    },
    {
      "commit": "c494d7cee85d980647ca915ea64355b71fe817eb",
      "tree": "82249f4e7fba22a404bdb645fd42b68ca256d55d",
      "parents": [
        "602a84e0bbf1807a9403cfa50184241f6fc035c4"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Thu Jun 18 08:43:44 2009 -0700"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Thu Jun 18 13:19:07 2009 -0700"
      },
      "message": "generate OTA packages that use edify\n\nSplit the details of generating script syntax into a generator class:\none for amend (whose output should be equivalent to the current\noutput), and one for edify.\n\nFix \u0027otatools\u0027 build rule to build imgdiff.\n"
    },
    {
      "commit": "d6fb2d40b58b7b13cc63190c2ac88d0a30005617",
      "tree": "37157677ea52223d1b3b1fb180c96aed886efa01",
      "parents": [
        "9af64663a31128022c5f9fb04c2daf76070247f5",
        "602a84e0bbf1807a9403cfa50184241f6fc035c4"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Thu Jun 18 10:47:13 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Jun 18 10:47:13 2009 -0700"
      },
      "message": "am 602a84e0: fix releasetools for non-linux architectures\n\nMerge commit \u0027602a84e0bbf1807a9403cfa50184241f6fc035c4\u0027\n\n* commit \u0027602a84e0bbf1807a9403cfa50184241f6fc035c4\u0027:\n  fix releasetools for non-linux architectures\n"
    },
    {
      "commit": "602a84e0bbf1807a9403cfa50184241f6fc035c4",
      "tree": "3bf7c50a31786c667aa6b4d41d6094cf28c91e8e",
      "parents": [
        "1bc6248b35ab8577466fa9e10a11d4a53725f0f5"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Thu Jun 18 08:35:12 2009 -0700"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Thu Jun 18 10:43:55 2009 -0700"
      },
      "message": "fix releasetools for non-linux architectures\n\nThe ota and img building scripts contained some hardcoded \u0027linux-x86\u0027\npaths.  Remove and replace with a slightly redefined -p option.\nModify Makefile to pass correct -p when building.\n"
    },
    {
      "commit": "99e5671b15e7c69f3b65db899620211c5182705d",
      "tree": "7ceb9e0811dfdd31eaef1981662d08e288ad1b54",
      "parents": [
        "38a649f873da8d4df7df14619cbd967570d2de9b",
        "9454b1c8b6d36e56b749bed06cfe7afb04a32375"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 17 15:38:54 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Jun 17 15:38:54 2009 -0700"
      },
      "message": "am 9454b1c8: Merge change 4089 into donut\n\nMerge commit \u00279454b1c8b6d36e56b749bed06cfe7afb04a32375\u0027\n\n* commit \u00279454b1c8b6d36e56b749bed06cfe7afb04a32375\u0027:\n  - Changed page title to show \"Android open source\"\n"
    },
    {
      "commit": "9454b1c8b6d36e56b749bed06cfe7afb04a32375",
      "tree": "79106f37b563aa93c3ab29a3b92db7cbcc958071",
      "parents": [
        "dddd957c74ead7246026e618ab40edf92037aad4",
        "a0deb0fb7f4f4e5b3f9b025783722368a4d1dcc4"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 17 10:00:30 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 17 10:00:30 2009 -0700"
      },
      "message": "Merge change 4089 into donut\n\n* changes:\n  - Changed page title to show \"Android open source\" - Changed Tab name to \"Dev Guide\"\n"
    },
    {
      "commit": "38a649f873da8d4df7df14619cbd967570d2de9b",
      "tree": "ea8237bd7550597ce03cdefc72d3f77bea9a7e13",
      "parents": [
        "c0288c2cdb8f635500f33d477bef09e0afed4906"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Wed Jun 17 09:07:09 2009 -0700"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Wed Jun 17 09:07:09 2009 -0700"
      },
      "message": "handle BOARD_KERNEL_BASE in releasetools\n\nSome devices define a BOARD_KERNEL_BASE argument which must be given\nas an argument to mkbootimg when building a bootable image.  Store the\nvalue of this var (if any) in the target-files zip and use it when\nbuilding images.\n"
    },
    {
      "commit": "171f1cde104891840b0c3c271935fae5433f1b25",
      "tree": "c8c26f7a08e3c7cdfc2404eac320c5ba8b02a701",
      "parents": [
        "93521c42e4e91136b3506ce4f472411dc420a29a"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Mon Jun 15 22:36:37 2009 -0700"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Mon Jun 15 22:36:37 2009 -0700"
      },
      "message": "don\u0027t require some OTA features\n\nMake the following things optional:\n - kernel command lines for bootable images\n - radio images\n - bootloader assertions\nThese are not all (yet?) defined for some new devices.\n"
    },
    {
      "commit": "683baae8c9535c26ac52f590bf0d0fab8afc9df5",
      "tree": "a339f7fa35988576becb204211991a43c238463e",
      "parents": [
        "5386f16364cc451bc5fb25f9cf2ad51353a6ce33",
        "048e7ca15f6391681490ce564bc71194adf146aa"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Mon Jun 15 14:55:06 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Jun 15 14:55:06 2009 -0700"
      },
      "message": "am 048e7ca1: fix archive files being created with perms 000\n\nMerge commit \u0027048e7ca15f6391681490ce564bc71194adf146aa\u0027\n\n* commit \u0027048e7ca15f6391681490ce564bc71194adf146aa\u0027:\n  fix archive files being created with perms 000\n"
    },
    {
      "commit": "048e7ca15f6391681490ce564bc71194adf146aa",
      "tree": "612aa7e5c2db7ce8a7ce29cc30191407e34da25f",
      "parents": [
        "398814fa75ee05ba9e77dd0057c469cc92ffd73e"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Mon Jun 15 14:31:53 2009 -0700"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Mon Jun 15 14:31:53 2009 -0700"
      },
      "message": "fix archive files being created with perms 000\n\nIn python 2.5 and earlier, ZipFile.writestr(filename, data) results in\nthe file being added to the archive with permissions 000.  (See\nhttp://svn.python.org/view?view\u003drev\u0026revision\u003d65235.)  Work around this\nby creating a ZipInfo object and setting the permissions explicitly.\n"
    },
    {
      "commit": "5386f16364cc451bc5fb25f9cf2ad51353a6ce33",
      "tree": "0e0f6f5ce63b79cce2599bcf63bb11a08cfa06db",
      "parents": [
        "622a564e8fdb0c7c89cdc64bb41a6c602452e215",
        "398814fa75ee05ba9e77dd0057c469cc92ffd73e"
      ],
      "author": {
        "name": "Scott Main",
        "email": "nobody@android.com",
        "time": "Sun Jun 14 21:13:21 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Sun Jun 14 21:13:21 2009 -0700"
      },
      "message": "am 398814fa: am 5eb58327: AI 149839: make the home page\\\u0027s announcement block expandable...   primarily, this is to handle various lengths of text due to translations,   but also allows us to be more flexible WRT the content for the top section.\n\nMerge commit \u0027398814fa75ee05ba9e77dd0057c469cc92ffd73e\u0027\n\n* commit \u0027398814fa75ee05ba9e77dd0057c469cc92ffd73e\u0027:\n  AI 149839: make the home page\u0027s announcement block expandable...\n"
    },
    {
      "commit": "3f7760eeb1632986ab2992b86b8dcc2050eea901",
      "tree": "5d2ee1160b41af0b29458d2b175649528d710604",
      "parents": [
        "f6c53efe101ab2a391eaf803d87999eb52525be5",
        "e05806cc152dfa88917ca61843d784bdd34c91ae"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Jun 14 20:49:34 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Sun Jun 14 20:49:34 2009 -0700"
      },
      "message": "am e05806cc: Merge change 4057 into donut\n\nMerge commit \u0027e05806cc152dfa88917ca61843d784bdd34c91ae\u0027\n\n* commit \u0027e05806cc152dfa88917ca61843d784bdd34c91ae\u0027:\n  make applypatch into a static library\n"
    },
    {
      "commit": "398814fa75ee05ba9e77dd0057c469cc92ffd73e",
      "tree": "805d048bae1a30a501d9643438275a18f74d006f",
      "parents": [
        "0347423753fb5d7207aa1ea93a8429f59468eb41",
        "5eb5832751cad87021b9f1ad77f1c26952030884"
      ],
      "author": {
        "name": "Scott Main",
        "email": "nobody@android.com",
        "time": "Sun Jun 14 20:45:16 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Sun Jun 14 20:45:16 2009 -0700"
      },
      "message": "am 5eb58327: AI 149839: make the home page\\\u0027s announcement block expandable...   primarily, this is to handle various lengths of text due to translations,   but also allows us to be more flexible WRT the content for the top section.\n\nMerge commit \u00275eb5832751cad87021b9f1ad77f1c26952030884\u0027 into donut\n\n* commit \u00275eb5832751cad87021b9f1ad77f1c26952030884\u0027:\n  AI 149839: make the home page\u0027s announcement block expandable...\n"
    },
    {
      "commit": "5eb5832751cad87021b9f1ad77f1c26952030884",
      "tree": "811297d1fdef148dfceae17770ded3c5dd270db9",
      "parents": [
        "88ee3f4e032ba9fd0377b80b916dcc39b2ce1bf1"
      ],
      "author": {
        "name": "Scott Main",
        "email": "nobody@android.com",
        "time": "Fri Jun 12 14:02:40 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Jun 12 14:02:40 2009 -0700"
      },
      "message": "AI 149839: make the home page\u0027s announcement block expandable...\n  primarily, this is to handle various lengths of text due to translations,\n  but also allows us to be more flexible WRT the content for the top section.\n\nAutomated import of CL 149839\n"
    },
    {
      "commit": "a0deb0fb7f4f4e5b3f9b025783722368a4d1dcc4",
      "tree": "d51bf3bf39ba6b54fcc0fec6a421eeaebc43183e",
      "parents": [
        "e05806cc152dfa88917ca61843d784bdd34c91ae"
      ],
      "author": {
        "name": "Gaurav Mathur",
        "email": "gmathur@google.com",
        "time": "Fri Jun 12 13:47:16 2009 -0700"
      },
      "committer": {
        "name": "Gaurav Mathur",
        "email": "gmathur@google.com",
        "time": "Fri Jun 12 13:47:16 2009 -0700"
      },
      "message": "- Changed page title to show \"Android open source\"\n- Changed Tab name to \"Dev Guide\"\n"
    },
    {
      "commit": "e05806cc152dfa88917ca61843d784bdd34c91ae",
      "tree": "b82e3952cced200273bb4ad9b398285ff946a1ec",
      "parents": [
        "5aa299925d61f9d1e395c3c94f5f1f4566277fa8",
        "5a7908763888909f200fa68cf4b8fbdeac388751"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 12 09:45:14 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 12 09:45:14 2009 -0700"
      },
      "message": "Merge change 4057 into donut\n\n* changes:\n  make applypatch into a static library\n"
    },
    {
      "commit": "5a7908763888909f200fa68cf4b8fbdeac388751",
      "tree": "1ee8d480160d4d951cb2a72efc54ec0974377566",
      "parents": [
        "f1a55f8bfbaa1a68d96e229b4e73c9e9209d82cf"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Fri Jun 12 09:42:43 2009 -0700"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Fri Jun 12 09:42:43 2009 -0700"
      },
      "message": "make applypatch into a static library\n\nTurn the bulk of applypatch into a static library so it can be used\nfrom the updater.  Also build it as a standalone executable for use by\nthe existing OTA mechanism.\n"
    },
    {
      "commit": "f6c53efe101ab2a391eaf803d87999eb52525be5",
      "tree": "f1c7a4feb98acc30353e7af4d72f297c2ceea1e6",
      "parents": [
        "9305cf95a8ce769967c844348879af4e9af761ad",
        "5aa299925d61f9d1e395c3c94f5f1f4566277fa8"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 12 08:26:01 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Jun 12 08:26:01 2009 -0700"
      },
      "message": "am 5aa29992: Merge change 3459 into donut\n\nMerge commit \u00275aa299925d61f9d1e395c3c94f5f1f4566277fa8\u0027\n\n* commit \u00275aa299925d61f9d1e395c3c94f5f1f4566277fa8\u0027:\n  make signapk strip other signatures\n"
    },
    {
      "commit": "5aa299925d61f9d1e395c3c94f5f1f4566277fa8",
      "tree": "563e06a904398f2b17b22de23bdb8745a55e4e31",
      "parents": [
        "676477525bc40f7ccf196a6580480b9d44adabd8",
        "af482b62e50b70e469426681584503eab1b308e9"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 11 19:25:14 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 11 19:25:14 2009 -0700"
      },
      "message": "Merge change 3459 into donut\n\n* changes:\n  make signapk strip other signatures\n"
    },
    {
      "commit": "af482b62e50b70e469426681584503eab1b308e9",
      "tree": "aacaca7416e4ebc0deece70898a30f9e919a0708",
      "parents": [
        "a0bad432f38f3b5105d79a1dadc1ccda061934b6"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Mon Jun 08 10:46:55 2009 -0700"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Thu Jun 11 19:24:50 2009 -0700"
      },
      "message": "make signapk strip other signatures\n\nChange signapk to not propagate other signatures to the output\narchive.  Multiple signatures seem to confuse the package manager, as\nwe saw with Maps, and other partners are checking in prebuilt APKs for\ngoogle experience devices signed with random other things.\n"
    },
    {
      "commit": "08d69b0fbcf2767856c4980b509716ab06c8462f",
      "tree": "f8cfd95a83d0a46bad08c78c25f9154d4a36424d",
      "parents": [
        "63b5064d44449454138fd064d6b692d4fe1d46d4",
        "ed3a2d303de6110ef93d4570fd64550b31b55caa"
      ],
      "author": {
        "name": "Scott Main",
        "email": "nobody@android.com",
        "time": "Thu Jun 11 01:02:46 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Jun 11 01:02:46 2009 -0700"
      },
      "message": "am ed3a2d30: am 88ee3f4e: AI 149729: fix search functionatilty for offline docs...   the file references weren\\\u0027t using the local root.   BUG\u003d1909300\n\nMerge commit \u0027ed3a2d303de6110ef93d4570fd64550b31b55caa\u0027\n\n* commit \u0027ed3a2d303de6110ef93d4570fd64550b31b55caa\u0027:\n  AI 149729: fix search functionatilty for offline docs...\n"
    },
    {
      "commit": "ed3a2d303de6110ef93d4570fd64550b31b55caa",
      "tree": "b76da9d1b05df7fabf526dfb0d3d29e87caf01fb",
      "parents": [
        "f1a55f8bfbaa1a68d96e229b4e73c9e9209d82cf",
        "88ee3f4e032ba9fd0377b80b916dcc39b2ce1bf1"
      ],
      "author": {
        "name": "Scott Main",
        "email": "nobody@android.com",
        "time": "Thu Jun 11 00:01:30 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Jun 11 00:01:30 2009 -0700"
      },
      "message": "am 88ee3f4e: AI 149729: fix search functionatilty for offline docs...   the file references weren\\\u0027t using the local root.   BUG\u003d1909300\n\nMerge commit \u002788ee3f4e032ba9fd0377b80b916dcc39b2ce1bf1\u0027 into donut\n\n* commit \u002788ee3f4e032ba9fd0377b80b916dcc39b2ce1bf1\u0027:\n  AI 149729: fix search functionatilty for offline docs...\n"
    },
    {
      "commit": "88ee3f4e032ba9fd0377b80b916dcc39b2ce1bf1",
      "tree": "7283eaa8464dfb968af8538c26ff9d8240d8496a",
      "parents": [
        "29eafdea34a5239b25fe82e5cd6debf1a5157c6b"
      ],
      "author": {
        "name": "Scott Main",
        "email": "nobody@android.com",
        "time": "Wed Jun 10 23:40:24 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Jun 10 23:40:24 2009 -0700"
      },
      "message": "AI 149729: fix search functionatilty for offline docs...\n  the file references weren\u0027t using the local root.\n  BUG\u003d1909300\n\nAutomated import of CL 149729\n"
    },
    {
      "commit": "3344b2e9b27466111524dfcfb64d7258153e0cb7",
      "tree": "27733c295e4be1f2193e303c1d4e38ec0ab08bfb",
      "parents": [
        "81d04d57f25e69dc95848590a584865bf47c0948"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jun 05 14:55:48 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jun 05 14:55:48 2009 -0700"
      },
      "message": "break dependency on utils/ZipEntry.h and utils/ZipFile.h\n"
    },
    {
      "commit": "7cea5343b9e9cc9ce36226e7034022faad203a5b",
      "tree": "fc9c4210c85aaef8324b934b9f95685b3071c096",
      "parents": [
        "ae8c03d9e7695bcae5d73258f30f7713ac7e41d2",
        "39528d6bace1457d21e76824fe94d85c880fe4be"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 02 23:22:21 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Jun 02 23:22:21 2009 -0700"
      },
      "message": "am 39528d6b: Merge change 3004 into donut\n\nMerge commit \u002739528d6bace1457d21e76824fe94d85c880fe4be\u0027\n\n* commit \u002739528d6bace1457d21e76824fe94d85c880fe4be\u0027:\n  fix the SDK build for real this time.\n  support incremental updates of boot image\n"
    },
    {
      "commit": "39528d6bace1457d21e76824fe94d85c880fe4be",
      "tree": "72e8236224e4c584170e48e2cf2976c6a3d7e731",
      "parents": [
        "3cbc666362fb25aaccf25c7c1a8f1d06ec1ac1b9",
        "653726a40ae4ed0b54c32262dbc7bb86fd22c6ad"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 02 23:20:15 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 02 23:20:15 2009 -0700"
      },
      "message": "Merge change 3004 into donut\n\n* changes:\n  fix the SDK build for real this time. the missing macros weren\u0027t declared in the proper order last time.\n"
    },
    {
      "commit": "653726a40ae4ed0b54c32262dbc7bb86fd22c6ad",
      "tree": "7b7a644f389e5213f52e5ae8b20933b51aae3ba0",
      "parents": [
        "a0f9bd1ef84b66813de40520180e5ec5d608b26d"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Tue Jun 02 20:58:23 2009 -0700"
      },
      "committer": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Tue Jun 02 20:58:23 2009 -0700"
      },
      "message": "fix the SDK build for real this time.\nthe missing macros weren\u0027t declared in the proper order last time.\n"
    },
    {
      "commit": "3cbc666362fb25aaccf25c7c1a8f1d06ec1ac1b9",
      "tree": "b68657475aaa2e29da2561a828b5db3ca8c4d06a",
      "parents": [
        "34780ee3b6e9958e87e0d192e156806e3f30940f",
        "5da317e51d1832cb1ec67dd20fbcff7708bbadb5"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 02 17:41:30 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 02 17:41:30 2009 -0700"
      },
      "message": "Merge change 2951 into donut\n\n* changes:\n  support incremental updates of boot image\n"
    },
    {
      "commit": "ae8c03d9e7695bcae5d73258f30f7713ac7e41d2",
      "tree": "76ea48d85fba42920bfd52ceae701dee27acdcbe",
      "parents": [
        "1604b7809128feaf6fe860576c603c20980b4c03",
        "34780ee3b6e9958e87e0d192e156806e3f30940f"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 02 17:40:19 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Jun 02 17:40:19 2009 -0700"
      },
      "message": "am 34780ee3: Merge change 2982 into donut\n\nMerge commit \u002734780ee3b6e9958e87e0d192e156806e3f30940f\u0027\n\n* commit \u002734780ee3b6e9958e87e0d192e156806e3f30940f\u0027:\n  fix build break by reincluding empty method calls\n"
    },
    {
      "commit": "34780ee3b6e9958e87e0d192e156806e3f30940f",
      "tree": "621e5abfefdaa4f01ffeb75a61b421bd664738e2",
      "parents": [
        "31dae454b6c2c137f3218d9fa3d25784f4b3f232",
        "a0f9bd1ef84b66813de40520180e5ec5d608b26d"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 02 17:38:23 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 02 17:38:23 2009 -0700"
      },
      "message": "Merge change 2982 into donut\n\n* changes:\n  fix build break by reincluding empty method calls that were moved to macros.cs\n"
    },
    {
      "commit": "a0f9bd1ef84b66813de40520180e5ec5d608b26d",
      "tree": "8b64a054985082cc460fc70dc25915e91207b000",
      "parents": [
        "1043da9c95f8e869a7666b30ac46916bf8c50eb0"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Tue Jun 02 15:41:16 2009 -0700"
      },
      "committer": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Tue Jun 02 17:35:25 2009 -0700"
      },
      "message": "fix build break by reincluding empty method calls\nthat were moved to macros.cs\n"
    },
    {
      "commit": "5da317e51d1832cb1ec67dd20fbcff7708bbadb5",
      "tree": "8b1fce0ae82f2956eb40aa13b0a7370d7e8d4cb6",
      "parents": [
        "f6a8bada5f0966762eadaec96de6430d0cd577e3"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Tue Jun 02 13:38:17 2009 -0700"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Tue Jun 02 14:09:11 2009 -0700"
      },
      "message": "support incremental updates of boot image\n\nModify applypatch to be able to write MTD partitions as well as read\nthem.  Make applypatch save a backup copy of the contents of an MTD\npartition it reads in cache, to be used in case an update is\ninterrupted while writing back to MTD.  Modify OTA package creation\nscript to send boot image updates in patch form.\n"
    },
    {
      "commit": "1604b7809128feaf6fe860576c603c20980b4c03",
      "tree": "06a9a006b34633f5082b420e543744e9f27284e1",
      "parents": [
        "7a14d9958d6f99318eef695f0326a20d79fdef7b",
        "31dae454b6c2c137f3218d9fa3d25784f4b3f232"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 02 11:38:54 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Jun 02 11:38:54 2009 -0700"
      },
      "message": "am 31dae454: Merge change 2146 into donut\n\nMerge commit \u002731dae454b6c2c137f3218d9fa3d25784f4b3f232\u0027\n\n* commit \u002731dae454b6c2c137f3218d9fa3d25784f4b3f232\u0027:\n  Implements the basic structure for providing localized documentation;\n"
    },
    {
      "commit": "31dae454b6c2c137f3218d9fa3d25784f4b3f232",
      "tree": "ed26ceed1b9d8e0015a1ed22d74e55a453a37ab6",
      "parents": [
        "f6a8bada5f0966762eadaec96de6430d0cd577e3",
        "1043da9c95f8e869a7666b30ac46916bf8c50eb0"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 02 11:36:55 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 02 11:36:55 2009 -0700"
      },
      "message": "Merge change 2146 into donut\n\n* changes:\n  Implements the basic structure for providing localized documentation; the site tabs are now in a separate file to ease the translation process, the language selection menu has been added to the header, scripts have been added to dynamically switch the language of the site tabs and dev guide side navigation and save the language preference in a browser cookie, and some of the functions in macro.cs have moved into customization.cs.\n"
    },
    {
      "commit": "1043da9c95f8e869a7666b30ac46916bf8c50eb0",
      "tree": "9dc52b60c169a2380c54faa9345ea76fae5e8bc2",
      "parents": [
        "87fc0fdc53b5998a36e0a305518525c28db7f35f"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Wed May 20 17:16:35 2009 -0700"
      },
      "committer": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Tue Jun 02 10:24:41 2009 -0700"
      },
      "message": "Implements the basic structure for providing localized documentation;\nthe site tabs are now in a separate file to ease the translation process,\nthe language selection menu has been added to the header,\nscripts have been added to dynamically switch the language of the\nsite tabs and dev guide side navigation and save the language\npreference in a browser cookie,\nand some of the functions in macro.cs have moved into customization.cs.\n\npatch 2:\nrevised the logic for changing tab and nav languages so that,\nin the event that a SPAN node exists for the newly selected language\nbut the translation has not actually been put there, it will not be selected\nand the previously selected language will remain for that node.\n\npatch 3:\nrevised the logic introduced in patch 2, which, when loading a new page\nwould actually reveal all languages if the selected language had no\ntranslation. Now, we must loop through each occurance and check whether\na translation is available. If not, then we hide it and show English.\n\npatch 4:\nsmall error fix\n"
    },
    {
      "commit": "7a14d9958d6f99318eef695f0326a20d79fdef7b",
      "tree": "74eff2ff154232ca1edfccb12c77ca01d74bf371",
      "parents": [
        "b534660b9c3cfcb2ac3e193aaccfeb3935f31a90",
        "f6a8bada5f0966762eadaec96de6430d0cd577e3"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Tue Jun 02 00:36:31 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Jun 02 00:36:31 2009 -0700"
      },
      "message": "am f6a8bada: add support for reading MTD partitions to applypatch\n\nMerge commit \u0027f6a8bada5f0966762eadaec96de6430d0cd577e3\u0027\n\n* commit \u0027f6a8bada5f0966762eadaec96de6430d0cd577e3\u0027:\n  add support for reading MTD partitions to applypatch\n"
    },
    {
      "commit": "f6a8bada5f0966762eadaec96de6430d0cd577e3",
      "tree": "ea0aa411ac81f3e483c88a0514ed2356e8fdb3a6",
      "parents": [
        "bfeb193659412fce01136ce854257cc54fbe8e14"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Fri May 29 11:41:21 2009 -0700"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Mon Jun 01 15:48:24 2009 -0700"
      },
      "message": "add support for reading MTD partitions to applypatch\n\nAllow an MTD partition so serve as a source \"file\" in applypatch,\nusing a magically-formatted \u0027filename\u0027 that specifies the partition\nname, size of data to read, and expected hash.  Build incremental OTAs\nthat update the recovery image via a patch.\n"
    },
    {
      "commit": "b534660b9c3cfcb2ac3e193aaccfeb3935f31a90",
      "tree": "89e2aecd8a4f1fa309d6125f2ab568e8722bb6c8",
      "parents": [
        "3585e959180d0f8cc8fae50230b08df3cbec6a73",
        "bfeb193659412fce01136ce854257cc54fbe8e14"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 01 12:01:16 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Jun 01 12:01:16 2009 -0700"
      },
      "message": "am bfeb1936: Merge change 2717 into donut\n\nMerge commit \u0027bfeb193659412fce01136ce854257cc54fbe8e14\u0027\n\n* commit \u0027bfeb193659412fce01136ce854257cc54fbe8e14\u0027:\n  build images with minigzip instead of system gzip\n"
    },
    {
      "commit": "32da27a9ffe60a671ca53945194eb1650e57399f",
      "tree": "257c26da891cae47485093db68f9074303a8cad5",
      "parents": [
        "02d444b07e293e6485f2d7b76a9ce79dcfb9055c"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Fri May 29 09:35:56 2009 -0700"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Fri May 29 11:42:57 2009 -0700"
      },
      "message": "build images with minigzip instead of system gzip\n\nUse minigzip (from the zlib distribution, built in the android tree)\nto compress images rather than the system install of gzip.  This will\nlet us send useful patches for images since we can make zlib available\nin the applypatch program.\n"
    },
    {
      "commit": "f82b55980bba80e40a9a4506ec0df355a8b7ae53",
      "tree": "526f5502e75e5c86393e408e71e45242ac74a758",
      "parents": [
        "ca85166e8a4ac967b0b91299ec91b4b7ae930544",
        "daffeb333e7965eff58161a42de53ca157da4da9"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 28 21:21:22 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu May 28 21:21:22 2009 -0700"
      },
      "message": "am daffeb33: Merge change 2594 into donut\n\nMerge commit \u0027daffeb333e7965eff58161a42de53ca157da4da9\u0027\n\n* commit \u0027daffeb333e7965eff58161a42de53ca157da4da9\u0027:\n  new image diffing tool and support for image patches in applypatch\n"
    },
    {
      "commit": "02d444b07e293e6485f2d7b76a9ce79dcfb9055c",
      "tree": "119408af0a10378b493f13cc8dbcb6619a8c4ad7",
      "parents": [
        "8b70e8c6574e6e6e80aaa84fe1a9426995fa0a78"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Wed May 27 18:24:03 2009 -0700"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Thu May 28 21:18:46 2009 -0700"
      },
      "message": "new image diffing tool and support for image patches in applypatch\n\nImages (like boot and recovery) consist of large sections of gzipped\ndata interspersed with other data.  To do effective binary patching of\nthese files, we need to apply patches to the gzipped parts in\n\u0027uncompressed space\u0027, that is, we decompress, apply a patch, then\nrecompress to obtain the desired output.\n\nThis change defines a new format with these patches, which is\nbasically a description of how the source and target files are to be\ndivided up into chunks and a bsdiff patch for each chunk.  We add a\nnew host executable, \"imgdiff\", for generating these patches from\nsource and target images, and add support in applypatch for\nrecognizing this format and applying it on the device.\n"
    },
    {
      "commit": "650b20507c3b8c04a9050418b4b539319ba2c1bd",
      "tree": "d8bc74763a2ea20773d9dd7114a2aa5071563c21",
      "parents": [
        "9a272228828a25798ca97b8a941f6a29a151427f",
        "5d1b97315763b8a8882b428885342e0cd2817050"
      ],
      "author": {
        "name": "Dirk Dougherty",
        "email": "nobody@android.com",
        "time": "Tue May 26 10:11:40 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue May 26 10:11:40 2009 -0700"
      },
      "message": "am 5d1b9731: am 29eafdea: AI 149251: Add 1.x Icon Guidelines doc and template pack.   BUG\u003d1790234\n\nMerge commit \u00275d1b97315763b8a8882b428885342e0cd2817050\u0027\n\n* commit \u00275d1b97315763b8a8882b428885342e0cd2817050\u0027:\n  AI 149251: Add 1.x Icon Guidelines doc and template pack.\n"
    },
    {
      "commit": "5d1b97315763b8a8882b428885342e0cd2817050",
      "tree": "378a9717455db680cdd8dcd6c20c24955b34444b",
      "parents": [
        "866a6d399e0ec2a0604c3d64e372f827a87ec843",
        "29eafdea34a5239b25fe82e5cd6debf1a5157c6b"
      ],
      "author": {
        "name": "Dirk Dougherty",
        "email": "nobody@android.com",
        "time": "Tue May 26 10:02:55 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue May 26 10:02:55 2009 -0700"
      },
      "message": "am 29eafdea: AI 149251: Add 1.x Icon Guidelines doc and template pack.   BUG\u003d1790234\n\nMerge commit \u002729eafdea34a5239b25fe82e5cd6debf1a5157c6b\u0027 into donut\n\n* commit \u002729eafdea34a5239b25fe82e5cd6debf1a5157c6b\u0027:\n  AI 149251: Add 1.x Icon Guidelines doc and template pack.\n"
    },
    {
      "commit": "29eafdea34a5239b25fe82e5cd6debf1a5157c6b",
      "tree": "6e3ec2984770fd2abbac22eaa5fcf9e9777147a6",
      "parents": [
        "ee6df9b4fe6e1a7431ff77d81fb8c164ee99f31d"
      ],
      "author": {
        "name": "Dirk Dougherty",
        "email": "nobody@android.com",
        "time": "Tue May 26 08:40:40 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue May 26 08:40:40 2009 -0700"
      },
      "message": "AI 149251: Add 1.x Icon Guidelines doc and template pack.\n  BUG\u003d1790234\n\nAutomated import of CL 149251\n"
    },
    {
      "commit": "4afb4f20fcedb5fee6af9faf2bf361808d183132",
      "tree": "70eea40d19325193753953875fd12573a1342860",
      "parents": [
        "e7a6072d2ea23b94a633cf56fcd1cb3b6c5785bd",
        "3026e96dcea7893d762d3ad1532c3775dfe01b60"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 22 16:55:41 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri May 22 16:55:41 2009 -0700"
      },
      "message": "am 3026e96d: Merge change 2245 into donut\n\nMerge commit \u00273026e96dcea7893d762d3ad1532c3775dfe01b60\u0027\n\n* commit \u00273026e96dcea7893d762d3ad1532c3775dfe01b60\u0027:\n  Define TARGET_CPU_ABI for finding native code in .apks\n"
    },
    {
      "commit": "3026e96dcea7893d762d3ad1532c3775dfe01b60",
      "tree": "cddf52e81cd1af2c70851491ccf44f97b83f7004",
      "parents": [
        "6941562ed3b2ca8fe315ce95bf15a0e57efb4a81",
        "ecc70d705ab8ad6461f23d8be97791227f4219ea"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 22 16:53:05 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 22 16:53:05 2009 -0700"
      },
      "message": "Merge change 2245 into donut\n\n* changes:\n  Define TARGET_CPU_ABI for finding native code in .apks\n"
    },
    {
      "commit": "c6a5d81c383a41f5c074209f7fb108d411257196",
      "tree": "03452541b4964af60055fa36ee3381311c7b4ef3",
      "parents": [
        "9b8932923717ff97447413607cbd3357dbc24217",
        "8ce7c25e905bc14382359e1cd45d41832bcc7ffa"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Fri May 22 15:35:02 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri May 22 15:35:02 2009 -0700"
      },
      "message": "am 8ce7c25e: improve password entry for signing keys\n\nMerge commit \u00278ce7c25e905bc14382359e1cd45d41832bcc7ffa\u0027\n\n* commit \u00278ce7c25e905bc14382359e1cd45d41832bcc7ffa\u0027:\n  improve password entry for signing keys\n  Modified the image and index URLs to point to guide/index.html now\n"
    },
    {
      "commit": "8ce7c25e905bc14382359e1cd45d41832bcc7ffa",
      "tree": "0a3207940b9e68bf0335113467612ffa3eff534a",
      "parents": [
        "f326d143622b493da7046c9dc09a4803c4b3242e"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Fri May 22 13:34:54 2009 -0700"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Fri May 22 15:31:08 2009 -0700"
      },
      "message": "improve password entry for signing keys\n\nAllow the user to set ANDROID_PW_FILE to the name of a file for\nstoring password keys.  When the tools need additional passwords, they\nwill rewrite this file and invoke the user\u0027s editor for the new\npasswords to be added.  This allows passwords to be reused across\ninvocations of the signing tools, without making the user reenter them\nevery time.\n\nParanoid users can use a file stored in a ramdisk, or not use this\nfeature at all (the code will prompt for passwords in the ordinary way\nwhen ANDROID_PW_FILE is not set).\n"
    },
    {
      "commit": "ecc70d705ab8ad6461f23d8be97791227f4219ea",
      "tree": "a07b5a5bf5a104e3cfc2469dfaa4aefc9bbf2de8",
      "parents": [
        "f326d143622b493da7046c9dc09a4803c4b3242e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 21 15:45:30 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 22 14:54:07 2009 -0700"
      },
      "message": "Define TARGET_CPU_ABI for finding native code in .apks\n"
    },
    {
      "commit": "89d037eb8c9588f436ca09dcd19a26851a66409a",
      "tree": "dac63c1dc5df157962675ca24a62ebb2a4b6174c",
      "parents": [
        "fbd10d940d9dca8aba940f91fceade4098c6cb92"
      ],
      "author": {
        "name": "Gaurav Mathur",
        "email": "gmathur@google.com",
        "time": "Thu May 21 13:35:47 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri May 22 10:23:58 2009 -0700"
      },
      "message": "Modified the image and index URLs to point to guide/index.html now\n"
    },
    {
      "commit": "fbd10d940d9dca8aba940f91fceade4098c6cb92",
      "tree": "d14eba43603e97a75b1a1b1ad71bb71f2cabb10b",
      "parents": [
        "59b3ce6142a40a878f9f33b5027f7e4b1f2dcdc8"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Wed May 20 13:37:35 2009 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Thu May 21 18:46:57 2009 -0700"
      },
      "message": "Add PRODUCT_DEFAULT_WIFI_CHANNELS build var.\n\nAllows the build to specify the default number of allowed\nWIFI channels.  Part of the fix for 1625953.\n"
    },
    {
      "commit": "f326d143622b493da7046c9dc09a4803c4b3242e",
      "tree": "53b2e21aa54d5c5885b7d7390e81df0968ff68ad",
      "parents": [
        "1028c4f04051f95fbb4fd9120e7ab1cf43462bd5"
      ],
      "author": {
        "name": "Gaurav Mathur",
        "email": "gmathur@google.com",
        "time": "Thu May 21 13:35:47 2009 -0700"
      },
      "committer": {
        "name": "Gaurav Mathur",
        "email": "gmathur@google.com",
        "time": "Thu May 21 13:35:47 2009 -0700"
      },
      "message": "Modified the image and index URLs to point to guide/index.html now\n"
    },
    {
      "commit": "b4204699a4506c025893eb8478f4f0d32e2c8f21",
      "tree": "27a7f2e72b7e1a60528c30650c3072f759c4d527",
      "parents": [
        "5d72f8501dddf9044c19bba1297923b5eeab4ecf",
        "eb338efd2eae20962c7ca75baf161be540b3d664"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Wed May 20 22:44:04 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed May 20 22:44:04 2009 -0700"
      },
      "message": "am eb338efd: make sure package keys are consistent with shared users\n\nMerge commit \u0027eb338efd2eae20962c7ca75baf161be540b3d664\u0027\n\n* commit \u0027eb338efd2eae20962c7ca75baf161be540b3d664\u0027:\n  make sure package keys are consistent with shared users\n"
    },
    {
      "commit": "eb338efd2eae20962c7ca75baf161be540b3d664",
      "tree": "c51c46fc54431138f2afa489750d176325217783",
      "parents": [
        "87fc0fdc53b5998a36e0a305518525c28db7f35f"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Wed May 20 16:50:49 2009 -0700"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Wed May 20 16:50:49 2009 -0700"
      },
      "message": "make sure package keys are consistent with shared users\n\nAll APKs that want to share a given user id must be signed with the\nsame key.  Look inside each APK for what (if any) shared user id it\nrequests, and error out if any with the same shared user are being\nsigned with different keys.\n"
    },
    {
      "commit": "6e900ab159ccaada7f8eca1efe8086081f64a34c",
      "tree": "7c565fe3ac22b1ca65e760d9c157bed3f5901617",
      "parents": [
        "d033d57f409d8df2ddda319e191da7ee71009362",
        "87fc0fdc53b5998a36e0a305518525c28db7f35f"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 20 11:49:42 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed May 20 11:49:42 2009 -0700"
      },
      "message": "am 87fc0fdc: Merge change 1738 into donut\n\nMerge commit \u002787fc0fdc53b5998a36e0a305518525c28db7f35f\u0027\n\n* commit \u002787fc0fdc53b5998a36e0a305518525c28db7f35f\u0027:\n  add -e option to add extra commands to OTA script\n"
    },
    {
      "commit": "87fc0fdc53b5998a36e0a305518525c28db7f35f",
      "tree": "fe7f42ff1d14b06684fdac4c86c3bdd3ffb6e627",
      "parents": [
        "2223e3c2706a0c77b12a4526c78ce1611a641605",
        "1c390a2aa97127ef8af8b0df1d4028f501fdce64"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 20 10:01:00 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 20 10:01:00 2009 -0700"
      },
      "message": "Merge change 1738 into donut\n\n* changes:\n  add -e option to add extra commands to OTA script\n"
    },
    {
      "commit": "1c390a2aa97127ef8af8b0df1d4028f501fdce64",
      "tree": "71a04ebaf839c440faf4df7e90772a963a021cd3",
      "parents": [
        "3de1fe627073608270f844714f24ed83ed4266db"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Thu May 14 19:06:36 2009 -0700"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Thu May 14 19:06:36 2009 -0700"
      },
      "message": "add -e option to add extra commands to OTA script\n"
    },
    {
      "commit": "fe93ea70681ba62d6f3b4db2c8b11796b5e4e7e0",
      "tree": "58bc91b1105378949cd00cfedacf4bb7540cacb0",
      "parents": [
        "7cdb97d9569b9a0e89de7e20b097cf136079400b",
        "cb08f15bf48f070c0bc2925846cd7ef7b1dc4c55"
      ],
      "author": {
        "name": "Gaurav Mathur",
        "email": "nobody@android.com",
        "time": "Thu May 14 16:30:43 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu May 14 16:30:43 2009 -0700"
      },
      "message": "am cb08f15b: am ee6df9b4: AI 148870: Pinging Ryan for Dr No approval.   ---   Cloned from CL 147240 by \\\u0027g4 patch\\\u0027.   Original change by dwarren@dwarren-pdk on 2009/04/21 14:59:50.   \"Making PDK work in SDK environment.\"   This CL should be pretty straight forward and should be touching only PDK   related templates, etc. Turns out we no longer need to touch the highlightNav   code.\n\nMerge commit \u0027cb08f15bf48f070c0bc2925846cd7ef7b1dc4c55\u0027\n\n* commit \u0027cb08f15bf48f070c0bc2925846cd7ef7b1dc4c55\u0027:\n  AI 148870: Pinging Ryan for Dr No approval.\n"
    },
    {
      "commit": "cb08f15bf48f070c0bc2925846cd7ef7b1dc4c55",
      "tree": "635b90e95c8d400b3094949f5475e3fa978fe137",
      "parents": [
        "bd215ed9749f8199085b27ab4f21e687c07e9633",
        "ee6df9b4fe6e1a7431ff77d81fb8c164ee99f31d"
      ],
      "author": {
        "name": "Gaurav Mathur",
        "email": "nobody@android.com",
        "time": "Thu May 14 16:18:20 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu May 14 16:18:20 2009 -0700"
      },
      "message": "am ee6df9b4: AI 148870: Pinging Ryan for Dr No approval.   ---   Cloned from CL 147240 by \\\u0027g4 patch\\\u0027.   Original change by dwarren@dwarren-pdk on 2009/04/21 14:59:50.   \"Making PDK work in SDK environment.\"   This CL should be pretty straight forward and should be touching only PDK   related templates, etc. Turns out we no longer need to touch the highlightNav   code.\n\nMerge commit \u0027ee6df9b4fe6e1a7431ff77d81fb8c164ee99f31d\u0027 into donut\n\n* commit \u0027ee6df9b4fe6e1a7431ff77d81fb8c164ee99f31d\u0027:\n  AI 148870: Pinging Ryan for Dr No approval.\n"
    },
    {
      "commit": "ee6df9b4fe6e1a7431ff77d81fb8c164ee99f31d",
      "tree": "195a15c0e56aad36b2a01c8961f855d91aecaf57",
      "parents": [
        "9b54792d7044125126a9765d1baf3ff0e59efcb4"
      ],
      "author": {
        "name": "Gaurav Mathur",
        "email": "nobody@android.com",
        "time": "Thu May 14 16:02:22 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu May 14 16:02:22 2009 -0700"
      },
      "message": "AI 148870: Pinging Ryan for Dr No approval.\n  ---\n  Cloned from CL 147240 by \u0027g4 patch\u0027.\n  Original change by dwarren@dwarren-pdk on 2009/04/21 14:59:50.\n  \"Making PDK work in SDK environment.\"\n  This CL should be pretty straight forward and should be touching only PDK\n  related templates, etc. Turns out we no longer need to touch the highlightNav\n  code.\n\nAutomated import of CL 148870\n"
    },
    {
      "commit": "0cf91e65655fb79cdeb8ddc04bbf084e15b76a68",
      "tree": "e1aa06ebe6369aa670ce2aa1292e41d9fcb47b54",
      "parents": [
        "a7e0325cd6f50b5dba9fae539eecfc56ffb2af93",
        "cdc13d717b016c61592e34dacabf24c09c3bca4c"
      ],
      "author": {
        "name": "Scott Main",
        "email": "nobody@android.com",
        "time": "Wed May 13 17:55:09 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed May 13 17:55:09 2009 -0700"
      },
      "message": "am cdc13d7: am 9b54792: AI 148820: adjust the \"nolist\" class to add bott\n\nMerge commit \u0027cdc13d717b016c61592e34dacabf24c09c3bca4c\u0027\n\n* commit \u0027cdc13d717b016c61592e34dacabf24c09c3bca4c\u0027:\n  AI 148820: adjust the \"nolist\" class to add bottom-spacing and refine list item padding;\n"
    },
    {
      "commit": "cdc13d717b016c61592e34dacabf24c09c3bca4c",
      "tree": "fb42ef2618eec89d1e2822ad05fdab5827f6678f",
      "parents": [
        "3de1fe627073608270f844714f24ed83ed4266db",
        "9b54792d7044125126a9765d1baf3ff0e59efcb4"
      ],
      "author": {
        "name": "Scott Main",
        "email": "nobody@android.com",
        "time": "Wed May 13 17:52:28 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed May 13 17:52:28 2009 -0700"
      },
      "message": "am 9b54792: AI 148820: adjust the \"nolist\" class to add bottom-spacing a\n\nMerge commit \u00279b54792d7044125126a9765d1baf3ff0e59efcb4\u0027 into donut\n\n* commit \u00279b54792d7044125126a9765d1baf3ff0e59efcb4\u0027:\n  AI 148820: adjust the \"nolist\" class to add bottom-spacing and refine list item padding;\n"
    },
    {
      "commit": "9b54792d7044125126a9765d1baf3ff0e59efcb4",
      "tree": "04a497615ee03a30a525a90602ec0ea26f1d2c2b",
      "parents": [
        "4e4c919539c5fb2f790143dde9c318501457ce43"
      ],
      "author": {
        "name": "Scott Main",
        "email": "nobody@android.com",
        "time": "Wed May 13 17:50:33 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed May 13 17:50:33 2009 -0700"
      },
      "message": "AI 148820: adjust the \"nolist\" class to add bottom-spacing and refine list item padding;\n  add vertical padding to quickview list items so that items are distinguishable when the text wraps-around the line\n  BUG\u003d1790235\n\nAutomated import of CL 148820\n"
    },
    {
      "commit": "74d2e8690259c9e2b1c87c112f2ddf539898ce44",
      "tree": "2d4f0d6df4f4d366fe5c94a41c7e62d16ed6a7a3",
      "parents": [
        "502e9c8437315fa5f731efd1272a6c8ab1e04c8d",
        "e9a96dd92c2577b77d3a5e5a0d04dfab6f4af5f2"
      ],
      "author": {
        "name": "Dirk Dougherty",
        "email": "nobody@android.com",
        "time": "Tue May 12 19:03:27 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue May 12 19:03:27 2009 -0700"
      },
      "message": "am e9a96dd: am 4e4c919: AI 148759: Add download page for NDK 1.5 r1.\n\nMerge commit \u0027e9a96dd92c2577b77d3a5e5a0d04dfab6f4af5f2\u0027\n\n* commit \u0027e9a96dd92c2577b77d3a5e5a0d04dfab6f4af5f2\u0027:\n  AI 148759: Add download page for NDK 1.5 r1.\n"
    },
    {
      "commit": "e9a96dd92c2577b77d3a5e5a0d04dfab6f4af5f2",
      "tree": "3200a503d8c08607434bdccba401521f32faa6d7",
      "parents": [
        "233728de06f3ce711c0be94d5a3427bc007674a3",
        "4e4c919539c5fb2f790143dde9c318501457ce43"
      ],
      "author": {
        "name": "Dirk Dougherty",
        "email": "nobody@android.com",
        "time": "Tue May 12 18:49:27 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue May 12 18:49:27 2009 -0700"
      },
      "message": "am 4e4c919: AI 148759: Add download page for NDK 1.5 r1.\n\nMerge commit \u00274e4c919539c5fb2f790143dde9c318501457ce43\u0027 into donut\n\n* commit \u00274e4c919539c5fb2f790143dde9c318501457ce43\u0027:\n  AI 148759: Add download page for NDK 1.5 r1.\n"
    },
    {
      "commit": "4e4c919539c5fb2f790143dde9c318501457ce43",
      "tree": "6cc20522858f34222b75b23f5e8856c64ea1a905",
      "parents": [
        "9e35a86b833c8bd520c9f889be3f2859a5ed7b45"
      ],
      "author": {
        "name": "Dirk Dougherty",
        "email": "nobody@android.com",
        "time": "Tue May 12 15:32:35 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue May 12 15:32:35 2009 -0700"
      },
      "message": "AI 148759: Add download page for NDK 1.5 r1.\n  BUG\u003d1790234\n\nAutomated import of CL 148759\n"
    },
    {
      "commit": "123834f93cad4ed98d172020287466430466c88f",
      "tree": "ea453ff9ba089af4e8450354cba3f82fe2f7328f",
      "parents": [
        "0a6d796829d4c831c12cf7178d77434cec0f7018",
        "e27db38fdd6b29ae470a7d296a4de07002f23acb"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 08 22:48:56 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri May 08 22:48:56 2009 -0700"
      },
      "message": "am e27db38: Merge change 1291 into donut\n\nMerge commit \u0027e27db38fdd6b29ae470a7d296a4de07002f23acb\u0027\n\n* commit \u0027e27db38fdd6b29ae470a7d296a4de07002f23acb\u0027:\n  allow separate source and target files for applypatch\n"
    },
    {
      "commit": "e27db38fdd6b29ae470a7d296a4de07002f23acb",
      "tree": "06beb9884fa0a1c1a9161a39dfe5526c9e84e0d2",
      "parents": [
        "9537884b0dabe81bf612c79d12c7b4bf40de10a5",
        "ef85ea6086107537d07720283ca9b1af01de247c"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 08 16:03:49 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 08 16:03:49 2009 -0700"
      },
      "message": "Merge change 1291 into donut\n\n* changes:\n  allow separate source and target files for applypatch\n"
    },
    {
      "commit": "ef85ea6086107537d07720283ca9b1af01de247c",
      "tree": "cec8e6d56d8b819c95ff44b34414bf465d2aa602",
      "parents": [
        "6ea3b8856d656752c0310ca237ed99e7451be83b"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Fri May 08 13:46:25 2009 -0700"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Fri May 08 15:43:26 2009 -0700"
      },
      "message": "allow separate source and target files for applypatch\n\nAllow applypatch to use different filenames for the source and target.\n(Using the same filename is still fine; in fact the target filename\ncan be specified as \"-\" to mean \"same as the source file.)  This will\nallow us to still use diffs in the case of files being renamed, and\nwill allow us to use diffs for the boot and recovery images.\n"
    },
    {
      "commit": "0a6d796829d4c831c12cf7178d77434cec0f7018",
      "tree": "4b2145894f19d5cb73288390ec8714a921e1ff06",
      "parents": [
        "93a2620946de421af9d58bb92af49ce7ecdd9f87",
        "9537884b0dabe81bf612c79d12c7b4bf40de10a5"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 08 13:52:08 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri May 08 13:52:08 2009 -0700"
      },
      "message": "am 9537884: Add new property for dev codename, update version to Donut.\n\nMerge commit \u00279537884b0dabe81bf612c79d12c7b4bf40de10a5\u0027\n\n* commit \u00279537884b0dabe81bf612c79d12c7b4bf40de10a5\u0027:\n  Add new property for dev codename, update version to Donut.\n"
    },
    {
      "commit": "9537884b0dabe81bf612c79d12c7b4bf40de10a5",
      "tree": "956dc42a9e7ebc986f6d1da19b7b2b992ad677d3",
      "parents": [
        "6ea3b8856d656752c0310ca237ed99e7451be83b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 08 12:06:17 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 08 13:03:08 2009 -0700"
      },
      "message": "Add new property for dev codename, update version to Donut.\n"
    },
    {
      "commit": "cfb082006bebe8c94bd92323862d0d4a0061c0f6",
      "tree": "58eee9f2d5866d34f76772698805213cfc60cc2a",
      "parents": [
        "952824843b868560713f668887e1961de534a250",
        "40a06d89406a3e928a5e0d41a3077f59d8f5345d"
      ],
      "author": {
        "name": "Dirk Dougherty",
        "email": "nobody@android.com",
        "time": "Tue May 05 17:42:41 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue May 05 17:42:41 2009 -0700"
      },
      "message": "am 40a06d8: AI 148314: Remove droiddoc code that applies the deprecated \n\nMerge commit \u002740a06d89406a3e928a5e0d41a3077f59d8f5345d\u0027 into donut\n\n* commit \u002740a06d89406a3e928a5e0d41a3077f59d8f5345d\u0027:\n  AI 148314: Remove droiddoc code that applies the deprecated state of superclasses to subclasses. This change was originally made in Gerrit 7655. https://review.source.android.com/Gerrit#change,7655\n"
    },
    {
      "commit": "40a06d89406a3e928a5e0d41a3077f59d8f5345d",
      "tree": "12d9404626aaaac6209b59bd19474d90ad4afa41",
      "parents": [
        "c521e266406d0393313e17ba29ae519315a5cf6e"
      ],
      "author": {
        "name": "Dirk Dougherty",
        "email": "nobody@android.com",
        "time": "Tue May 05 13:41:56 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue May 05 13:41:56 2009 -0700"
      },
      "message": "AI 148314: Remove droiddoc code that applies the deprecated state of superclasses to subclasses. This change was originally made in Gerrit 7655. https://review.source.android.com/Gerrit#change,7655\n  BUG\u003d1827730\n\nAutomated import of CL 148314\n"
    },
    {
      "commit": "199eb2f5103403914dcf73e77e7c435063c43191",
      "tree": "4a81df014307b16331efe667987802e3650bf473",
      "parents": [
        "6fa370418773e046eb9c11e5904a79f90a0441c6",
        "a19801e0600b9016149f56cff05da5a699bf09cc"
      ],
      "author": {
        "name": "Dirk Dougherty",
        "email": "nobody@android.com",
        "time": "Fri May 01 11:58:55 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri May 01 11:58:55 2009 -0700"
      },
      "message": "am a19801e: am c521e26: AI 148186: Add support for using custom pdk temp\n\nMerge commit \u0027a19801e0600b9016149f56cff05da5a699bf09cc\u0027\n\n* commit \u0027a19801e0600b9016149f56cff05da5a699bf09cc\u0027:\n  AI 148186: Add support for using custom pdk templates. The make rule for pdk docs should set LOCAL_DROIDDOC_OPTIONS +\u003d -hdf android.whichdoc online-pdk\n"
    }
  ],
  "next": "a19801e0600b9016149f56cff05da5a699bf09cc"
}
