)]}'
{
  "log": [
    {
      "commit": "bfcd810b792f7ffbb2ec1360c0c2662725fd0362",
      "tree": "7266cdc116a944dc9ff7654547dec15d10ebb899",
      "parents": [
        "6302b420554724c1434e27e2cd46cb43f5fb7bca"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Aug 22 13:57:25 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Aug 22 14:28:37 2012 -0700"
      },
      "message": "Iteration on multi-user external storage.\n\nDefine /storage as top-level concept, so that we enforce permissions\nuniformly.  Moves external storage paths from headers to per-device\nenvironment variables.  Added missing mount flags, and we no longer\nhave adb-specific external storage.\n\nBug: 6925012\nChange-Id: Ic7ca953be2f552d3f0ec9e69f89fef751daa1b29\n"
    },
    {
      "commit": "2ab69388cb4e26855cc7a9f3584935b927a3659e",
      "tree": "4509b363690642c5cf98e60fa16ec13c15f84fb3",
      "parents": [
        "9305892464fc353702345eedcb2180f5e6fb27c0",
        "76080925410db41cfa5c70ffcffaa2b3b4d59aad"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Aug 20 14:51:52 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Aug 20 14:51:52 2012 -0700"
      },
      "message": "am 76080925: am 52d5dfc8: Merge \"vmstat: Fix -n flag\"\n\n* commit \u002776080925410db41cfa5c70ffcffaa2b3b4d59aad\u0027:\n  vmstat: Fix -n flag\n"
    },
    {
      "commit": "52d5dfc8d30890734ee7122c3139f8637e196a1c",
      "tree": "d97a5a39b606b143124da5ba11304aef9d3704ff",
      "parents": [
        "c57689fc7ccadee4f852ad62ac1010e53382a67c",
        "6caab4ce959478b96c40955236e13e80ef83145d"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Aug 20 14:25:12 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 20 14:25:13 2012 -0700"
      },
      "message": "Merge \"vmstat: Fix -n flag\""
    },
    {
      "commit": "ba822edb30d5221934137052d42a81ad993b3ea9",
      "tree": "b6e67d1a5b0162fd7948d4b46071bf1db88bbe6f",
      "parents": [
        "2a1067d144be5437df98ddb0f2d3680f03dafa5f",
        "02e9f8d5aa390d89f79b2b3bb8630af4062b4d2c"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@android.com",
        "time": "Mon Aug 13 16:03:25 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Aug 13 16:03:25 2012 -0700"
      },
      "message": "am 02e9f8d5: am 53dab583: Merge \"Make setenforce usage function static.\"\n\n* commit \u002702e9f8d5aa390d89f79b2b3bb8630af4062b4d2c\u0027:\n  Make setenforce usage function static.\n"
    },
    {
      "commit": "492051ed2a06ea902d7b7e8ba1998121ced9b0be",
      "tree": "efb6a7073dfd4521c2bbb1ab4a1d3d91810d8978",
      "parents": [
        "dd56039c881db2efebfa7df6491579e3ae01748f"
      ],
      "author": {
        "name": "Matt Finifter",
        "email": "finifter@google.com",
        "time": "Wed Jul 18 14:06:02 2012 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Aug 13 12:56:23 2012 -0700"
      },
      "message": "Make setenforce usage function static.\n\nChange-Id: I6de204dc072418805160a35d799b8948ecb39251\n"
    },
    {
      "commit": "605103fb553a8b872aa8dd0aef76ae8b3bfe47fa",
      "tree": "aa2c23c9e87c1872ef7aacc70b446455da1704bd",
      "parents": [
        "98ebf1975f68ffeaa43d5c53964c3dabe8655562",
        "4dcd52ab11d25fe3d53aab52b6c233e692da4eae"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Aug 13 10:21:35 2012 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Aug 13 10:21:35 2012 -0700"
      },
      "message": "resolved conflicts for merge of 4dcd52ab to jb-mr1-dev\n\nChange-Id: Ibd0c03a7883a2e31adab18543c016776b7b36866\n"
    },
    {
      "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": "8268a75e86c086c4618c2f8d8e9531eb8d7b30f5",
      "tree": "52bbce7669d1e182f2bb6cd36776cf52e6f0f455",
      "parents": [
        "e0346fa7fa715f785ea60966f38a474f337278ca",
        "c5db017cc3d30b1b15544ca9889e66890710f93c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 08 14:06:25 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 08 14:06:25 2012 -0700"
      },
      "message": "am c5db017c: am 63b2c577: Merge \"Conditionally use SIGSTKFLT\"\n\n* commit \u0027c5db017cc3d30b1b15544ca9889e66890710f93c\u0027:\n  Conditionally use SIGSTKFLT\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": "3e8b1581ff0f2daa934eb9d6362dfe4e2b4fa8c9",
      "tree": "dc708603e446878a24453b2bd393764bf1c7cd1f",
      "parents": [
        "57df14c654a968e5b85d508cbd0871632011cb0e"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Jul 13 16:37:13 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Jul 13 16:37:38 2012 -0700"
      },
      "message": "Ported \"grep\" from NetBSD to toolbox.\n\nBug: 6798417\nChange-Id: I581c496a726a4814edaaa3672849c090bac8552c\n"
    },
    {
      "commit": "57df14c654a968e5b85d508cbd0871632011cb0e",
      "tree": "c9b1bdd8643c11ee41c03fb8b7029657ed025cdb",
      "parents": [
        "14c14bfb7e68594cec19c023d807fd7540283c4b"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Jul 13 16:25:33 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Jul 13 16:26:30 2012 -0700"
      },
      "message": "Ported \"cp\" from NetBSD to toolbox.\n\nBug: 6798417\nChange-Id: I716ab459b9edf4c7405bf042adbee0300b6f51c9\n"
    },
    {
      "commit": "6caab4ce959478b96c40955236e13e80ef83145d",
      "tree": "492b27ce87419dc9a61c51330de2d91be7eb83ed",
      "parents": [
        "2177c79bddc66e295599d87007d4cbec549e1cac"
      ],
      "author": {
        "name": "Arun Raghavan",
        "email": "arun.raghavan@collabora.co.uk",
        "time": "Tue Jan 10 19:31:31 2012 +0530"
      },
      "committer": {
        "name": "Arun Raghavan",
        "email": "arun.raghavan@collabora.co.uk",
        "time": "Tue Jul 10 10:43:57 2012 +0530"
      },
      "message": "vmstat: Fix -n flag\n\nThe loop condition for the number of iterations basically caused the\nargument to -n to be ignored. This fixes the condition appropriately.\n"
    },
    {
      "commit": "8103e9148378fb8879e3bc7d8504d267c2d9daa9",
      "tree": "ef0f309032afd148328182cc8ed90f25e836b5f4",
      "parents": [
        "984410aebe0525e9fe3b80b94d06960094597b18"
      ],
      "author": {
        "name": "Ken Sumrall",
        "email": "ksumrall@android.com",
        "time": "Mon Jul 09 17:31:26 2012 -0700"
      },
      "committer": {
        "name": "Ken Sumrall",
        "email": "ksumrall@android.com",
        "time": "Mon Jul 09 17:33:08 2012 -0700"
      },
      "message": "Add the du command to toolbox\n\nThe code is from NetBSD, with the -n and -h options removed to make\nporting easy.  Also, removed support for the BLOCKSIZE environment\nvariable for the same reason.\n\nChange-Id: Ib927ff3527e02802785fdd7f75bab1f05222918e\n"
    },
    {
      "commit": "3f2b0a506f1e09e6960c050778870da289fc4702",
      "tree": "52cf8a78309fcf1a860dde76983f77ac4aa6f6bc",
      "parents": [
        "22aec573b718c57aea2b9bd91607631a6d521911"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Jun 26 14:59:36 2012 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Jun 26 14:59:36 2012 -0700"
      },
      "message": "Add mode when open(O_CREAT) is used.\n\nWhen creating a new file using open(..., O_CREAT), it is an error\nto fail to specify a creation mode. If a mode is not specified, a\nrandom stack provided value is used as the \"mode\".\n\nThis will become a runtime error in a future version of Android.\n\nChange-Id: I00609f37d2ea68e21b6404d542830386be354202\n"
    },
    {
      "commit": "60f3d65c831a40897a942513147039eef20d2149",
      "tree": "1f8d3c6557d7632898a7f9b1837503bfb22727de",
      "parents": [
        "ef9d8d9b0c9bf987e9df788af430bf9ad4f9f6b2",
        "2a2e10fbb38e4f4d7759f619275fa4ebd596259a"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Jun 11 15:28:12 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 11 15:28:12 2012 -0700"
      },
      "message": "am 2a2e10fb: am 16d2b6ae: am 91e5551f: Merge \"toolbox: rmmod: fix module unloading\"\n\n* commit \u00272a2e10fbb38e4f4d7759f619275fa4ebd596259a\u0027:\n  toolbox: rmmod: fix module unloading\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": "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": "393e559ddc06e8698841f8e141f5a5e24cffb942",
      "tree": "9092120801bfca0f721a594bf07ad1bd6f9c4490",
      "parents": [
        "5dd3ec20632287cd559e5503b153383127d92625"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue May 29 14:25:04 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue May 29 14:26:04 2012 -0700"
      },
      "message": "Enable conv\u003dfdatasync in dd.\n\nMatches behavior of coreutils dd.  Also removes unsupported\nconversions.\n\nChange-Id: I9ed5a7d43b5b083041b261ce70f6c835b41dc7ac\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": "fc26c0ba59ab1f74251fb95de2ee6837035e74e4",
      "tree": "1d4a26a874962ef242dd4e583ab84dcfe549d198",
      "parents": [
        "a36e1aa3db254d008f220a45899e1d70f4192619"
      ],
      "author": {
        "name": "Vishal Bhoj",
        "email": "vishal.bhoj@linaro.org",
        "time": "Mon May 14 16:04:12 2012 +0000"
      },
      "committer": {
        "name": "Vishal Bhoj",
        "email": "vishal.bhoj@linaro.org",
        "time": "Tue May 15 18:01:34 2012 +0530"
      },
      "message": "toolbox: rmmod: fix module unloading\n\nReplace \"-\" with \"_\" in module name. This would keep\nrmmod compatible with module-init-tools version of rmmod\n\nChange-Id: I4470d9a98bc2f299acd94859fca4403aee279d2b\nSigned-off-by: Vishal Bhoj \u003cvishal.bhoj@linaro.org\u003e\n"
    },
    {
      "commit": "1ee467c7604642139a98123131489aaad4d70221",
      "tree": "87385c3bd570222c45f3c04cc9fe4e69be42a89e",
      "parents": [
        "367e7b195b144772464e560352caa2017a53058c"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri May 11 17:35:16 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri May 11 17:35:16 2012 -0700"
      },
      "message": "Delete dead code.\n\nThis file is not compiled and not used.\n\nBug: 6435382\nChange-Id: I3a08690950f1c77f8b0bc57a9e5cdb6eb402ac77\n"
    },
    {
      "commit": "0ffc5b37e553f4514121d2775879a153e6ea5ecc",
      "tree": "e844e11ccec0969d09416b0078de65b8bc87f0e7",
      "parents": [
        "09a96bef654d58d5100353a1aa7239aae12d9bf3"
      ],
      "author": {
        "name": "Tanguy Pruvot",
        "email": "tanguy.pruvot@gmail.com",
        "time": "Fri May 04 11:17:11 2012 +0200"
      },
      "committer": {
        "name": "Tanguy Pruvot",
        "email": "tanguy.pruvot@gmail.com",
        "time": "Sun May 06 02:36:00 2012 +0200"
      },
      "message": "toolbox: implement rm -f flag\n\nthis prevent compatibility errors in scripts (file \"-f\" not found)\nThe force flag will not return an error if the file doesnt exist.\n\nSigned-off-by: Tanguy Pruvot \u003ctanguy.pruvot@gmail.com\u003e\n\nChange-Id: I3267963284ee247629da5ab299e900c6e4a4ac68\n"
    },
    {
      "commit": "a64adba539c290624c27a8506ee6c0ba39f44ffc",
      "tree": "cde8b5a99b0309fd0ec2db35d13ee43e1c2c675a",
      "parents": [
        "98c6a9902599244585a8ed75c7d35634db8cad9e"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Apr 05 15:23:20 2012 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Apr 06 09:05:49 2012 -0700"
      },
      "message": "Add signal names to kill\n\nmksh provides a kill primitive with signal names, but also offer it in\nour toolbox binary. This will allow anyone to use \"kill -HUP \u003cpid\u003e\" or\n\"kill -l\" to look at the name to number signal mapping.\n\nChange-Id: Id683721f4ad3f2b518b4dc54a6073510290cbe04\n"
    },
    {
      "commit": "ec3b164524fda0beb30354627f3e3f9d0c45126a",
      "tree": "68f8e24017c6f2c7b8a82535d8677365a22ceb80",
      "parents": [
        "b012679f9730908aa8e7fa6909a401fab47aaefb"
      ],
      "author": {
        "name": "Ken Sumrall",
        "email": "ksumrall@android.com",
        "time": "Wed Dec 14 21:28:27 2011 -0800"
      },
      "committer": {
        "name": "Ken Sumrall",
        "email": "ksumrall@android.com",
        "time": "Thu Mar 29 21:05:46 2012 -0700"
      },
      "message": "Make sure FAT32 filesystems contain a minimum of 65527 clusters\n\nSome versions of windows cannot handle FAT32 filesystems with less\nthan 65527 clusters, so make sure we don\u0027t create such beasts.\n\nChange-Id: Id00fb02c4f8476f7dcc0ef137bd9e4975d740591\n"
    },
    {
      "commit": "86c7cc81891a69ace7044de667b0624c284ee82b",
      "tree": "6fff9f3e763724ee70181b6559e0a76b1ec21a03",
      "parents": [
        "019524a60e979053b8b8ffef61eae162de522257"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 05 16:14:39 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 15 15:10:45 2012 -0700"
      },
      "message": "Add get_sched_policy_name() and use in ps and top\n\nThis will make it easier to add additional policies (cgroups) if needed.\nAlso added comments to the sched_policy APIs.\n\nChange-Id: I33ce1cc4deae10983241f7391294b7a512d2c47c\n"
    },
    {
      "commit": "0afee8b668d1ff5bae4294108d5e21abfae28d12",
      "tree": "cbf47b697204d151790f80428be2b73e6cf30500",
      "parents": [
        "9c38e14299bd4cb3693fca2e353a4fa9d8a55c85",
        "474cea824fde58a7a2b81b9edc2ffe68d4843177"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Mar 02 16:10:50 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 02 16:10:50 2012 -0800"
      },
      "message": "Merge \"Change \"chown\" to coreutils syntax.\""
    },
    {
      "commit": "474cea824fde58a7a2b81b9edc2ffe68d4843177",
      "tree": "9a575181a8c40640b1d405f76ed0e7e08fd6cd93",
      "parents": [
        "5ae3f93f3bafbeb1fc9a3324475c58c725749c5e"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Mar 02 15:11:53 2012 -0800"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Mar 02 15:11:53 2012 -0800"
      },
      "message": "Change \"chown\" to coreutils syntax.\n\nChange-Id: I7d997b3254354908317feee54b6df9b2419718a6\n"
    },
    {
      "commit": "ca3bf25570c197757f75b749cddecfea88cbcdc1",
      "tree": "ec4571fed03e5630f3436de17b89df4707499842",
      "parents": [
        "cd21d2144fb2fbd4da8e7049a5bea06de0a09ea4",
        "25443f80a27c6153c3406b4443fd07442e410a57"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Feb 28 15:19:17 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Feb 28 15:19:17 2012 -0800"
      },
      "message": "am 25443f80: am 1e28088f: am 5cc398ef: Merge \"Toolbox implementation of chown has a bad print\"\n\n* commit \u002725443f80a27c6153c3406b4443fd07442e410a57\u0027:\n  Toolbox implementation of chown has a bad print\n"
    },
    {
      "commit": "5cc398ef00b439bcf85b65c894433dd52362dff7",
      "tree": "74f07ee5f27f0a3f6dcaab1fd74672288ac7fdff",
      "parents": [
        "13438a93a8904ae712655533ce63aa0d5b486aba",
        "69ab6de33319c111a6b9ff4c78474d7605b28175"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Feb 28 14:59:56 2012 -0800"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 28 14:59:56 2012 -0800"
      },
      "message": "Merge \"Toolbox implementation of chown has a bad print\""
    },
    {
      "commit": "1ae8d4eaa3d52e0b61728c7fc709d28e85c7ce21",
      "tree": "aaa1eb7472e817dddb581e67b9c5f538f880ac01",
      "parents": [
        "6439693effbec06c6effcbd9b5acd405ccbeccb3",
        "448980724da9ec43917e403d482db398e41e44d0"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Feb 24 12:05:31 2012 -0800"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Feb 24 12:05:31 2012 -0800"
      },
      "message": "resolved conflicts for merge of 44898072 to master\n\nChange-Id: Ib77a4d9161261306253a174727801526e7149621\n"
    },
    {
      "commit": "8290d1083ec7eee3f32265012f5d6be2774c4afc",
      "tree": "6d7e239b2a5b3d4a8faf8c3f404f8d9b3270f61d",
      "parents": [
        "0458d373261d89979529853fa63cdd998b12e04a"
      ],
      "author": {
        "name": "Stephen Smalley",
        "email": "sds@tycho.nsa.gov",
        "time": "Fri Jan 13 08:53:56 2012 -0500"
      },
      "committer": {
        "name": "Stephen Smalley",
        "email": "sds@tycho.nsa.gov",
        "time": "Fri Feb 03 11:11:15 2012 -0500"
      },
      "message": "Extend toolbox with SE Android support.\n\nAdd -Z option to ls and ps for displaying security contexts.\nModify id to display security context.\nAdd new SELinux commands: chcon, getenforce, getsebool, load_policy, restorecon, runcon, setenforce, setsebool.\n\nChange-Id: Ia20941be4a6cd706fe392fed6e38a37d880ec5f1\n"
    },
    {
      "commit": "69ab6de33319c111a6b9ff4c78474d7605b28175",
      "tree": "02ddabbf4e25a61a5c6b6d02b898755987aecf2e",
      "parents": [
        "fa7860a27ff79b5697ac059c4bedc4f7445500af"
      ],
      "author": {
        "name": "Johan Norberg",
        "email": "johan.xx.norberg@stericsson.com",
        "time": "Tue May 24 16:13:21 2011 +0200"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Jan 20 17:28:42 2012 -0800"
      },
      "message": "Toolbox implementation of chown has a bad print\n\nWhen the chown program fails it prints out an error message\nand is describing itself as chmod. This has been corrected.\n\nChange-Id: I2c489975f09343bdf66acbf7df6e7183c2daff78\nSigned-off-by: christian bejram \u003cchristian.bejram@stericsson.com\u003e\n"
    },
    {
      "commit": "f124435c4604ad5746135acca5cbc682bedba847",
      "tree": "d0bceef36b11df5e8750cdf54d215e8f0fd54656",
      "parents": [
        "7e4c303fe0f490be04400f3f3a08f0c4f5553a96",
        "82dd6af84676f1ea6f67ce6fbd2c5cea7a8aa601"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Jan 13 11:30:24 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 13 11:30:24 2012 -0800"
      },
      "message": "am 82dd6af8: am e7b1f132: Merge \"rmmod: fix full path syntax\"\n\n* commit \u002782dd6af84676f1ea6f67ce6fbd2c5cea7a8aa601\u0027:\n  rmmod: fix full path syntax\n"
    },
    {
      "commit": "7e4c303fe0f490be04400f3f3a08f0c4f5553a96",
      "tree": "755759f04db1ae1ecfdc74a0d6107e715da48bc0",
      "parents": [
        "e437f552d2e6a2e6874340754fc59c310d52e91b"
      ],
      "author": {
        "name": "Scott Anderson",
        "email": "saa@google.com",
        "time": "Thu Jan 12 14:01:43 2012 -0800"
      },
      "committer": {
        "name": "Scott Anderson",
        "email": "saa@google.com",
        "time": "Thu Jan 12 15:17:07 2012 -0800"
      },
      "message": "Fix hd command so it doesn\u0027t error out on EOF\n\nhd would error out on files that were not a multiple of its read\nbuffer size (4096).  For example:\nRead error on init.rc, offset 17040 len 4096, No such file or directory\n\nThe fix is to stop reading on EOF instead of treating it as an\nerror.\n\nSigned-off-by: Scott Anderson \u003csaa@google.com\u003e\n\n(cherry picked from commit a9fac4155f645b59d92028d56af573999051ab70)\n\nChange-Id: Ib2af725fc39e96c2f81559f61979d451604d4817\n"
    },
    {
      "commit": "ec4db51f88401ecf09769511e3c9deb58d721184",
      "tree": "3db8676b32f18af558996b8b24ffb001d9cc6f58",
      "parents": [
        "f90b0e04a61ab3bf5239afb2f7157aabe5fbca8f"
      ],
      "author": {
        "name": "Tanguy Pruvot",
        "email": "tanguy.pruvot@gmail.com",
        "time": "Thu Sep 01 13:16:18 2011 +0200"
      },
      "committer": {
        "name": "Tanguy Pruvot",
        "email": "tanguy.pruvot@gmail.com",
        "time": "Thu Jan 12 20:44:02 2012 +0100"
      },
      "message": "rmmod: fix full path syntax\n\nrmmod /system/modules/multitouch.ko\nrmmod: delete_module \u0027/multitouch\u0027 failed (errno 2)\n\nSigned-off-by: Tanguy Pruvot \u003ctanguy.pruvot@gmail.com\u003e\n"
    },
    {
      "commit": "d0455c952d61d36e662f4a95d5e03689ecedca8f",
      "tree": "666c4f896c31041bb1c8107fde8709eb70b8eb3a",
      "parents": [
        "a33c6ee92b25f6f89ca2044832344d0a6b2ccd11"
      ],
      "author": {
        "name": "Scott Anderson",
        "email": "saa@google.com",
        "time": "Wed Jan 11 18:13:26 2012 -0800"
      },
      "committer": {
        "name": "Scott Anderson",
        "email": "saa@google.com",
        "time": "Wed Jan 11 18:13:26 2012 -0800"
      },
      "message": "Add md5 command to toolbox.\n\nThis command outputs the MD5 for specified files.  The output is\nin the same form as the md5sum command on Linux.\n\nChange-Id: Ie0e6faf678469ac886bba8b46d98c0e54976a1ed\nSigned-off-by: Scott Anderson \u003csaa@google.com\u003e\n"
    },
    {
      "commit": "b953fc284983ac8eac9174bcfffedd18cb48ac7e",
      "tree": "14853eb9e54beaf9c8a5b93a384f7c4f1d2f2028",
      "parents": [
        "6940ec41d1ed10157b61ba4967b1ab2e79fcb808"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Dec 01 11:38:53 2011 -0800"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Dec 01 14:54:13 2011 -0800"
      },
      "message": "Use strlcpy instead of strncpy\n\nAlso make sure the read cmdline is terminated with a null byte.\n\nChange-Id: I6b4aa197ce9bc072a912b7163e8616a03b39c3fe\n"
    },
    {
      "commit": "e4e21796f72e09d4fab153992b31cb1c6f65d0b0",
      "tree": "2b0a549b61dadee4d8850a25c7abf92369df27ca",
      "parents": [
        "5c9263d819171a2080f175e3582e1e6041130722"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Nov 23 15:02:41 2011 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Nov 23 15:02:41 2011 -0800"
      },
      "message": "Make timestamps friendlier.\n\nChange-Id: I378c3028630a7f805c3f730da02bbbfe07ec3654\n"
    },
    {
      "commit": "9de370e165350010bc9086347cbd142aecef771e",
      "tree": "0950de021c2cd70ffaf9c687c4929b96107ce10c",
      "parents": [
        "75ae4246295db86089a0d672873bb5121b051b79"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Aug 16 17:18:54 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Aug 16 17:19:30 2011 -0700"
      },
      "message": "Show the resolution of each axis.\n\nChange-Id: I81c4b7e6480b98e59fb389060ab2c8d34257ae5f\n"
    },
    {
      "commit": "4ac87154c1e659c474b8d70b4de7a7700c78b4c4",
      "tree": "fbc6d29b0d0ba896cd1ebbbbc7a125044848c988",
      "parents": [
        "5100916182b05971975f8d8fe65a1255e2c5ac96"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Jul 24 12:22:58 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Jul 24 14:30:44 2011 -0700"
      },
      "message": "Dump the HID descriptor when available.\n\nAlso, always print the input properties when -p is\nspecified.\n\nChange-Id: Ibacb6dd26ccab68c85b76928df60fdc2a53c198c\n"
    },
    {
      "commit": "81231596c51ed1509bec0a871a834fb05e709b7c",
      "tree": "31ba17012fb56557358321e2739c48efb4172ba5",
      "parents": [
        "5fd94e561f28279650487283060953916bace742",
        "070ec8e02e12aafc8a636737bba3d5ead7cecd8e"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Jul 15 14:12:18 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jul 15 14:12:18 2011 -0700"
      },
      "message": "am 070ec8e0: resolved conflicts for merge of 3ea075be to honeycomb-plus-aosp\n\n* commit \u0027070ec8e02e12aafc8a636737bba3d5ead7cecd8e\u0027:\n  Add -F for classify to ls\n"
    },
    {
      "commit": "070ec8e02e12aafc8a636737bba3d5ead7cecd8e",
      "tree": "c9e58a52cf480b9d80a2d639107187e34c536337",
      "parents": [
        "51ca95dc08a411b7973b5d0626e43f8ba0753370",
        "3ea075bee78d8c82b0209c43d02e2324846fbe3e"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Jul 15 11:20:14 2011 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Jul 15 11:20:14 2011 -0700"
      },
      "message": "resolved conflicts for merge of 3ea075be to honeycomb-plus-aosp\n\nChange-Id: Ic668cb99822d4bc44f2f57782afd1a6c1b348e9b\n"
    },
    {
      "commit": "baf6b6bdebd6e91c401f64e8013fed49697ed2cc",
      "tree": "d55867253951a285af3221ba0e0557890af323be",
      "parents": [
        "e877ad7ae3ea3c1a631652c86887a627ef9feb3f"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Jul 13 22:12:18 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jul 14 13:43:57 2011 -0700"
      },
      "message": "Show why umount failed.\n\nChange-Id: Id2b3fbc46b8dfbe2f05637fb35c298915cd5f524\n"
    },
    {
      "commit": "e877ad7ae3ea3c1a631652c86887a627ef9feb3f",
      "tree": "650c65e72f47230c854deb57920b731df0ea3190",
      "parents": [
        "ae3736a3d1418eb1a1e57895ce410256d7106aa3",
        "940c81078e7291096b22f05f6b953658f1e1d730"
      ],
      "author": {
        "name": "Ken Sumrall",
        "email": "ksumrall@android.com",
        "time": "Wed Jul 13 18:57:28 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 13 18:57:28 2011 -0700"
      },
      "message": "Merge \"Add -o loop\u003d option to mount, and fix error detection in mount and umount\""
    },
    {
      "commit": "40dac659418f84551a5637a9edee03764c570f3c",
      "tree": "bd60199f9cbcfe62e2ea38a4c9f870cb887e602d",
      "parents": [
        "4c6b494a109186791bfc421bc10f35eaae871174"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Jul 13 09:14:33 2011 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Jul 13 17:53:50 2011 -0700"
      },
      "message": "Add -F for classify to ls\n\nAdds a field to the non-long version of ls that tells what type of file\nit is (i.e., regular, directory, link, fifo, etc).\n\nThis is useful for scripts that don\u0027t have direct filesystem access.\n\nChange-Id: I54a327390f6ed403acb13c824f62ba9594ba320d\n"
    },
    {
      "commit": "940c81078e7291096b22f05f6b953658f1e1d730",
      "tree": "6982ffefd0d599cce5b9f9fbcf5fd4d4f5367836",
      "parents": [
        "ed6b39cc7746fabdd0d01c96afcf60b9544913d3"
      ],
      "author": {
        "name": "Ken Sumrall",
        "email": "ksumrall@android.com",
        "time": "Tue Jul 12 19:47:06 2011 -0700"
      },
      "committer": {
        "name": "Ken Sumrall",
        "email": "ksumrall@android.com",
        "time": "Wed Jul 13 14:37:41 2011 -0700"
      },
      "message": "Add -o loop\u003d option to mount, and fix error detection in mount and umount\n\nThis fixes bug http://b.android.com/18419, which complains about a bogus\nerror check in the mount command (it also was wrong in the umount command)\nand also asks for the mount command to support more than one loopback\ndevice, as mentioned in the FIXME comments in mount.c.  This required some\ncorresponding changes to umount.c\n\nChange-Id: Ib796c70926395e61557e487bad64984d3295d5f3\n"
    },
    {
      "commit": "fb9134e3d01da0681097d5bf037aae730f09a2c0",
      "tree": "b16bd4a5f560b07705751f7e875f4a77608237a4",
      "parents": [
        "2e81f58baa246adbe4dcb479ef40c3f1ffcf8534",
        "f6d0f8af1768b3b9b10760bba5583c5e721b64ea"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jun 30 14:35:46 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 30 14:35:46 2011 -0700"
      },
      "message": "Merge \"getevent: Fix a couple of bugs.\""
    },
    {
      "commit": "f6d0f8af1768b3b9b10760bba5583c5e721b64ea",
      "tree": "ace0227624b579cf9ed94f1a6329d711c819c037",
      "parents": [
        "ed6b39cc7746fabdd0d01c96afcf60b9544913d3"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Jun 29 20:52:08 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Jun 29 20:52:08 2011 -0700"
      },
      "message": "getevent: Fix a couple of bugs.\n\nFixed a bug printing the event value when using labels.\n\nStop trying to print the available codes for EV_SYN because\nwe cannot actually query them.  EVIOCGBIT(0, size) is a special\ncase that returns the set of events that are supported, and\nEV_SYN \u003d\u003d 0.\n\nChange-Id: Iea086ba24300ca0815e4814a3bc5ff60756612c2\n"
    },
    {
      "commit": "f96993eb4e09d183259fda7eca35a32974345ff8",
      "tree": "ee5729f521f494a9a512449684f0def7229bef7c",
      "parents": [
        "ed6b39cc7746fabdd0d01c96afcf60b9544913d3"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Jun 29 15:00:39 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Jun 29 15:00:39 2011 -0700"
      },
      "message": "lsof: Print process user name.\n\nChange-Id: I6e96faba894ad8c2eeb06e514d332c8ab2ec52f0\n"
    },
    {
      "commit": "f8754337d82d0a1ba509311bbadd281619c7d96e",
      "tree": "22cc556083a6f05b603b668184fd282b5d412e84",
      "parents": [
        "5f05f83075857c499a83f36e347c1ef49501a0dd"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Jun 15 17:44:52 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Jun 15 17:44:52 2011 -0700"
      },
      "message": "Enhance getevent to print event labels.\n\nAdded -l argument to print labels for event types, codes and values.\nAdded -i argument to print all device info.\nAdded support for printing input properties.\n\nChange-Id: I3cacb716dbc38f50217b9dfc24ba44d08f352603\n"
    },
    {
      "commit": "b76f0ff7005bde136c2e2f7d19359abe320ab90b",
      "tree": "5e15946e69aef36fefd44bf6bb588192890a3257",
      "parents": [
        "6b54a6832f68a8378cd1e7ca620cf3c8824ac5fc"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Thu Apr 28 14:23:26 2011 -0700"
      },
      "committer": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Thu Apr 28 14:23:26 2011 -0700"
      },
      "message": "add r to eng and userdebug builds\n\nChange-Id: Ia52a4897e300568dad2c8c1c7af1fe228d058eaf\n"
    },
    {
      "commit": "795165bc1512faa121083c6bf3ce6f6d83ce59e6",
      "tree": "1f678ef8dcca5faf185169501c8d26d296825a99",
      "parents": [
        "18247d74be9d0d4d6f1ae25bdd198e5dbf522af8"
      ],
      "author": {
        "name": "Ken Sumrall",
        "email": "ksumrall@android.com",
        "time": "Tue Apr 05 20:46:30 2011 -0700"
      },
      "committer": {
        "name": "Ken Sumrall",
        "email": "ksumrall@android.com",
        "time": "Tue Apr 05 20:50:03 2011 -0700"
      },
      "message": "Add the touch command to toolbox.\n\nI wrote this to test my fix to support utime(2) system calls in the\nsdcard fuse filesystem for stingray, and decided to finish sprucing\nit up and make it part of toolbox.  In an effort to keep it small,\nit doesn\u0027t accept dates a la touch, but just a time_t value.\n\nChange-Id: I5dd011cd2e34d0cc605d6f40e46b96a8c949f194\n"
    },
    {
      "commit": "bb889dde13c7d47b69a52159604cf5b2763ce2d2",
      "tree": "c2b6cd4edc2260921c752c6230603b286befc7fb",
      "parents": [
        "dfa9f55700789100c1f8ee2230c33a8ba9768fd7",
        "276df0936dbf438b32ab099b04f69f01d7f1eed7"
      ],
      "author": {
        "name": "Ken Sumrall",
        "email": "ksumrall@android.com",
        "time": "Thu Mar 10 19:29:39 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Mar 10 19:29:39 2011 -0800"
      },
      "message": "am 276df093: am 70987108: Merge \"Try to unmount writable filesystems when rebooting\" into honeycomb-mr1\n\n* commit \u0027276df0936dbf438b32ab099b04f69f01d7f1eed7\u0027:\n  Try to unmount writable filesystems when rebooting\n"
    },
    {
      "commit": "e3aeeb4de34dbb93e832e6554f494122ba633f3b",
      "tree": "2f600612cee4677c2ae4d99f6f791689c3e3e2c8",
      "parents": [
        "cf01597121c1c08780966f22e2a62386d0e1a08f"
      ],
      "author": {
        "name": "Ken Sumrall",
        "email": "ksumrall@android.com",
        "time": "Mon Mar 07 23:29:42 2011 -0800"
      },
      "committer": {
        "name": "Ken Sumrall",
        "email": "ksumrall@android.com",
        "time": "Thu Mar 10 18:11:46 2011 -0800"
      },
      "message": "Try to unmount writable filesystems when rebooting\n\nExt4 filesystems like to be unmounted before rebooting.  The Android system\ndoesn\u0027t have a traditional Linux init setup, and shutting down the system\nwas not much more than calling sync(2) and reboot(2).  This adds a new\nfunction to libcutils called android_reboot().  By default, it calls sync()\nand then remounts all writable filesystems as read-only and marks them clean.\nThere is a flag parameter in which the caller can ask for sync() not to be\ncalled, or to not remount the filesystems as read-only.  Then it will call\nreboot(2) as directed by the other parameters.  This change also updates\nadb, init and toolbox to call the new android_reboot() function.\nFixes bugs 3350709 and 3495575.\n\nChange-Id: I16d71ffce3134310d7a260f61ec6f4dd204124a7\n"
    },
    {
      "commit": "d8ed091c6eaa5f44b84407af5d8e902f9358dc60",
      "tree": "2a4b8bed609a9d711d8a440c147442d4b1fad88f",
      "parents": [
        "cf01597121c1c08780966f22e2a62386d0e1a08f"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Fri Mar 04 15:38:40 2011 -0800"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Mon Mar 07 10:39:17 2011 -0800"
      },
      "message": "Restart surfaceflinger with stop/start too.\n\nChange-Id: Ide045fc3baced9e1bde95cb26d0b835511c21780\n"
    },
    {
      "commit": "53df0b6393979e7f35ab271683429aa1ea1230cd",
      "tree": "ecd39aabb88612f62c704f4b6a60c140f78f2e6b",
      "parents": [
        "0569692b730734e73b2f2a13b224c8fb72d3f7c5",
        "794cc3fdd32e713145a2aa55c7a34c91d2a8fa5f"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Feb 17 11:39:12 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 17 11:39:12 2011 -0800"
      },
      "message": "Merge \"lsof: Add support for printing open files for a single process\""
    },
    {
      "commit": "a95abdd8ed69bff64f272f21cfad9c3d4b006c4c",
      "tree": "d909e6938a67a6e7ae1813f123d86169619731bd",
      "parents": [
        "b5d68a3c28d0b7a947373344cbda2a2369d0b67d"
      ],
      "author": {
        "name": "Brian Muramatsu",
        "email": "btmura@google.com",
        "time": "Mon Feb 14 17:17:21 2011 -0800"
      },
      "committer": {
        "name": "Brian Muramatsu",
        "email": "btmura@google.com",
        "time": "Mon Feb 14 17:17:21 2011 -0800"
      },
      "message": "Fix getprop Format\n\ngetprop used to output a colon after the property name like:\n[property.name]: [property.value]\n\nAdd back the colon that was missing, because\ncom.android.ddmlib.GetPropReceiver\u0027s regex expects it. Without\nthe colon, the GetPropReceiver doesn\u0027t parse the device\u0027s\nproperties causing CTS to not recognize the device.\n\nChange-Id: I9bef5ab2b310c831c49c8c51cae7f129167c2dc5\n"
    },
    {
      "commit": "0f951a4fb85c29c4aebef123e8e247316ee13c5b",
      "tree": "ae1265524bf64dae6e3460f8cd14897a94b3d62f",
      "parents": [
        "a6f502683bb75e3864e8445291e559502a9edddd",
        "618eca4ed91af2d2a2c618168327ca4a6a496669"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Jan 19 17:49:18 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 19 17:49:18 2011 -0800"
      },
      "message": "am 618eca4e: am 6fa54fa2: Merge \"Accept address ranges in r\" into honeycomb\n\n* commit \u0027618eca4ed91af2d2a2c618168327ca4a6a496669\u0027:\n  Accept address ranges in r\n"
    },
    {
      "commit": "2ad280f07a97e9ed0dfd86202abe659ad0ca9ccd",
      "tree": "573364e29fd715ecdd77026ca8642eb1c39a5f77",
      "parents": [
        "4e84d3bcf9af3452128fe2e8dc7607dff9016fac"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Jan 19 17:06:25 2011 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Jan 19 17:23:40 2011 -0800"
      },
      "message": "Accept address ranges in r\n\nChange-Id: Ifece1b37d018216462844cc89e0f2f6a2b7d287d\n"
    },
    {
      "commit": "318f00c043f231bf40c1a7e6460ee36c6450b95a",
      "tree": "e5ff320e2f75b7a2e92fae8e3cd9fbe4926165b6",
      "parents": [
        "1d504eeb50d980c222572629383bb76315f32ca0",
        "a8d1afb3e91b043fcd303a40ca4ac9293bbd2781"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Jan 10 03:37:19 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 10 03:37:19 2011 -0800"
      },
      "message": "Merge \"toolbox: make getprop print a sorted list of properties\""
    },
    {
      "commit": "a8d1afb3e91b043fcd303a40ca4ac9293bbd2781",
      "tree": "85dfe1d89b0f078ccdf9610d169891cd5afd62f7",
      "parents": [
        "6b8caf0bb05c23da6f4d7ca1a23c98e6ca3c819a"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Jan 06 08:39:44 2011 +0100"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Sat Jan 08 12:22:08 2011 +0100"
      },
      "message": "toolbox: make getprop print a sorted list of properties\n\nThis patch also factors out the dynarray_t/strlist_t code\nfrom ls.c and moves it to dynarray.[hc].\n\nChange-Id: Ifae2b364d7c2733aad5551ad3c78ae72f8ac31f4\n"
    },
    {
      "commit": "9d6d030f83f682a0ab944260eca8402d85fb008c",
      "tree": "bf5ce20cc88a422596b9a8a11bde993da4532a4b",
      "parents": [
        "8bc6fb3433c76428d2fffb83be8902052644fca2"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Jan 05 15:19:31 2011 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Jan 05 15:22:09 2011 -0800"
      },
      "message": "uptime: Use clock_gettime to get monotonic time\n\nThe first field in /proc/uptime is bootbased time, not monotonic\ntime.  If the kernel tracks bootbased time correctly, it counts\nelapsed run time as well as sleep time, which is the same as the\nelapsed time in the android alarm driver, and sleep time is\nalways returned as 0.\n\nUse clock_gettime(CLOCK_MONOTONIC) instead, which will return\nelapsed run time not counting sleep time on all platforms.\n\nChange-Id: I28a22e8c93d78f62666ee8c877c7c6718a2b640a\n"
    },
    {
      "commit": "123538954b9c8ad8fe7c2d755391f0b7cbaa1d6f",
      "tree": "dae33d0d35eaf0e6bc4f40213187ceddc3f0b9fb",
      "parents": [
        "bdd483830d6b18a4840e5b8483bf058f3c4579eb"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Dec 29 08:33:24 2010 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Dec 29 08:33:24 2010 -0500"
      },
      "message": "Change libusbhost from static to shared library\n\nChange-Id: I0c16cc4536c4ab700c33433c8a6323ade7cfc95d\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "794cc3fdd32e713145a2aa55c7a34c91d2a8fa5f",
      "tree": "03cf883c2547bb101fa16ae391c13b4cee33da44",
      "parents": [
        "752923c168009d03e9e00e590155fbd0a2880ccb"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Dec 22 16:37:36 2010 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Dec 22 16:39:12 2010 -0500"
      },
      "message": "lsof: Add support for printing open files for a single process\n\nChange-Id: If2afa0937064dffca6df2a8642ca75009dc6e70e\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "bec29d4b48619bbbcf49421c78b3529c742e8506",
      "tree": "779a59cd6a2b70fc99126e2b9fefb398e42f8f13",
      "parents": [
        "3af05b09eb116e48997a2d4611b0a1e033737d2e"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Thu Dec 09 17:14:27 2010 -0800"
      },
      "committer": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Thu Dec 09 17:14:27 2010 -0800"
      },
      "message": "toolbox: add verbose option for lsusb\n\nChange-Id: If9c51d96af7d69395917af55bb337352576f9422\n"
    },
    {
      "commit": "fd1e8553232aa6f3bfbb609158b24fa2e1c3d40b",
      "tree": "d9d1e10a839c66a4d843548ea440a126201d6417",
      "parents": [
        "07ad9961aee0cfcae89e23d47f47314e1d3629c1"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Thu Dec 09 14:52:53 2010 -0800"
      },
      "committer": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Thu Dec 09 15:27:52 2010 -0800"
      },
      "message": "toolbox: add lsusb command\n\nChange-Id: I166d2859633ba4e15f170938262dcf6505b78dd3\n"
    },
    {
      "commit": "b93e5812faffd3b6c5fb349072413aace31918d8",
      "tree": "dbffdf9f41b914b32da131fbdd0eee435c2ec656",
      "parents": [
        "609d8828d3b8266a80606bf902d1294296962cf3"
      ],
      "author": {
        "name": "Olivier Bailly",
        "email": "olivier@google.com",
        "time": "Wed Nov 17 11:47:23 2010 -0800"
      },
      "committer": {
        "name": "Olivier Bailly",
        "email": "olivier@google.com",
        "time": "Wed Nov 17 11:47:23 2010 -0800"
      },
      "message": "Add missing headers for compilation on x86 targets\n\nChange-Id: I5f4dc797b353a0f01fa00d38375ec303bf863254\n"
    },
    {
      "commit": "e7fe5bf3ac2c0218bda75da78975d6a18fe7c167",
      "tree": "222c1cf06b5f8337837d7190a8208ffe29bc701f",
      "parents": [
        "98b1378606780c28501708ca02560c82bb1fda53"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Mon Oct 25 13:29:53 2010 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Mon Oct 25 13:30:41 2010 -0700"
      },
      "message": "Add ls -n to toolbox.\n\nChange-Id: I641f9504554d14fb1289ac470e6e61c5bc12e9c7\n"
    },
    {
      "commit": "e3ba1801f0b6f9a1fc1c46e4c057afdd8a45efe1",
      "tree": "235985884d140c67c83c763858cbdfd619b6f91a",
      "parents": [
        "a4176578804e1b300f7652919161be035cf3cfd2",
        "f1fd5eb8cca9f1096c4d0de5abbbd2b264fd1b9e"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Sep 29 12:58:11 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Sep 29 12:58:11 2010 -0700"
      },
      "message": "am f1fd5eb8: am 2f7b72f9: netstat should include /proc/net/tcp6 and /proc/net/udp6 data\n\nMerge commit \u0027f1fd5eb8cca9f1096c4d0de5abbbd2b264fd1b9e\u0027\n\n* commit \u0027f1fd5eb8cca9f1096c4d0de5abbbd2b264fd1b9e\u0027:\n  netstat should include /proc/net/tcp6 and /proc/net/udp6 data\n"
    },
    {
      "commit": "f1fd5eb8cca9f1096c4d0de5abbbd2b264fd1b9e",
      "tree": "e74a8f591a3202188766d7453d99171cf42c0c15",
      "parents": [
        "df2f5a07aecac7be4ac2d1100668a0396fd256e7",
        "2f7b72f9e8d06c80957cdf384d23d3bf5bd5ce5c"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Sep 28 23:37:09 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 28 23:37:09 2010 -0700"
      },
      "message": "am 2f7b72f9: netstat should include /proc/net/tcp6 and /proc/net/udp6 data\n\nMerge commit \u00272f7b72f9e8d06c80957cdf384d23d3bf5bd5ce5c\u0027 into gingerbread-plus-aosp\n\n* commit \u00272f7b72f9e8d06c80957cdf384d23d3bf5bd5ce5c\u0027:\n  netstat should include /proc/net/tcp6 and /proc/net/udp6 data\n"
    },
    {
      "commit": "2f7b72f9e8d06c80957cdf384d23d3bf5bd5ce5c",
      "tree": "0186a5b1d1915850391c624f4188fa556d2af754",
      "parents": [
        "d55f0adfb5ec4202ad5bd5d188e66c0f6a27b0aa"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Sep 27 22:49:11 2010 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Sep 28 22:22:02 2010 -0700"
      },
      "message": "netstat should include /proc/net/tcp6 and /proc/net/udp6 data\n\nUpdate netstat.c to process /proc/net/tcp6 and /proc/net/udp6.\nExample input and output and output follows.\n\ncat /proc/net/tcp:\n  sl  local_address rem_address   st tx_queue rx_queue tr tm-\u003ewhen retrnsmt   uid  timeout inode\n   0: 0100007F:13AD 00000000:0000 0A 00000000:00000000 00:00000000 00000000     0        0 669 1 c74dbb40 300 0 0 2 -1\n   1: 0100007F:A432 0100007F:2253 01 00000000:00000000 00:00000000 00000000     0        0 15257 1 c74da040 22 4 16 2 -1\n\ncat /proc/net/udp:\n  sl  local_address rem_address   st tx_queue rx_queue tr tm-\u003ewhen retrnsmt   uid  timeout inode ref pointer drops\n\ncat /proc/net/tcp6:\n  sl  local_address                         remote_address                        st tx_queue rx_queue tr tm-\u003ewhen retrnsmt   uid  timeout inode\n   0: 00000000000000000000000000000000:8A88 00000000000000000000000000000000:0000 0A 00000000:00000000 00:00000000 00000000     0        0 15461 1 c730aaa0 300 0 0 2 -1\n   1: 00000000000000000000000000000000:2253 00000000000000000000000000000000:0000 0A 00000000:00000000 00:00000000 00000000     0        0 15255 1 c7393060 300 0 0 2 -1\n   2: 00000000000000000000000000000000:C91B 00000000000000000000000000000000:0000 0A 00000000:00000000 00:00000000 00000000     0        0 15261 1 c6591080 300 0 0 2 -1\n   3: 0000000000000000FFFF00000100007F:C91B 0000000000000000FFFF00000100007F:9238 01 00000000:00000000 00:00000000 00000000     0        0 15263 1 c7394aa0 22 4 29 4 -1\n   4: 0000000000000000FFFF00000100007F:C0E9 0000000000000000FFFF00000100007F:D3A4 01 00000000:00000000 00:00000000 00000000     0        0 15274 1 c7393aa0 22 4 26 4 -1\n   5: 0000000000000000FFFF00000100007F:C41A 0000000000000000FFFF00000100007F:B031 01 00000000:00000000 00:00000000 00000000     0        0 15269 1 c7126ac0 22 4 29 4 -1\n   6: 0000000000000000FFFF00000100007F:2253 0000000000000000FFFF00000100007F:A432 01 00000000:00000000 00:00000000 00000000     0        0 15256 1 c65e9040 21 0 0 5 -1\n   7: 0000000000000000FFFF00000100007F:9238 0000000000000000FFFF00000100007F:C91B 01 00000000:00000000 00:00000000 00000000     0        0 15262 1 c7394580 22 4 16 4 -1\n   8: 0000000000000000FFFF00000100007F:B031 0000000000000000FFFF00000100007F:C41A 01 00000000:00000000 00:00000000 00000000     0        0 15268 1 c71585a0 22 4 16 4 -1\n   9: 0000000000000000FFFF00000100007F:8A88 0000000000000000FFFF00000100007F:8A31 01 00000000:00000000 00:00000000 00000000     0        0 15503 1 c71265a0 22 4 30 2 -1\n  10: 0000000000000000FFFF00000100007F:D3A4 0000000000000000FFFF00000100007F:C0E9 01 00000000:00000000 00:00000000 00000000     0        0 15273 1 c7126080 22 4 12 4 -1\n  11: 0000000000000000FFFF00000100007F:8A31 0000000000000000FFFF00000100007F:8A88 01 00000000:00000000 00:00000000 00000000     0        0 15502 1 c730a060 22 0 0 3 -1\n\ncat /proc/net/udp6:\n  sl  local_address                         remote_address                        st tx_queue rx_queue tr tm-\u003ewhen retrnsmt   uid  timeout inode ref pointer drops\n   86: 00000000000000000000000000000000:A256 00000000000000000000000000000000:0000 07 00000000:00000000 00:00000000 00000000  1000        0 14302 2 c6d13820 0\n  102: 00000000000000000000000000000000:A466 00000000000000000000000000000000:0000 07 00000000:00000000 00:00000000 00000000  1000        0 14301 2 c6d13ac0 0\n  125: 00000000000000000000000000000000:8B7D 00000000000000000000000000000000:0000 07 00000000:00000000 00:00000000 00000000  1000        0 14295 2 c6d13d60 0\n\nnetstat:\nProto Recv-Q Send-Q Local Address          Foreign Address        State\ntcp        0      0 127.0.0.1:5037         0.0.0.0:*              LISTEN\ntcp        0      0 127.0.0.1:42034        127.0.0.1:8787         ESTABLISHED\ntcp6       0      0 :::35464               :::*                   LISTEN\ntcp6       0      0 :::8787                :::*                   LISTEN\ntcp6       0      0 :::51483               :::*                   LISTEN\ntcp6       0      0 ::ffff:127.0.0.1:51483 ::ffff:127.0.0.1:37432 ESTABLISHED\ntcp6       0      0 ::ffff:127.0.0.1:49385 ::ffff:127.0.0.1:54180 ESTABLISHED\ntcp6       0      0 ::ffff:127.0.0.1:50202 ::ffff:127.0.0.1:45105 ESTABLISHED\ntcp6       0      0 ::ffff:127.0.0.1:8787  ::ffff:127.0.0.1:42034 ESTABLISHED\ntcp6       0      0 ::ffff:127.0.0.1:37432 ::ffff:127.0.0.1:51483 ESTABLISHED\ntcp6       0      0 ::ffff:127.0.0.1:45105 ::ffff:127.0.0.1:50202 ESTABLISHED\ntcp6       0      0 ::ffff:127.0.0.1:35464 ::ffff:127.0.0.1:35377 ESTABLISHED\ntcp6       0      0 ::ffff:127.0.0.1:54180 ::ffff:127.0.0.1:49385 ESTABLISHED\ntcp6       0      0 ::ffff:127.0.0.1:35377 ::ffff:127.0.0.1:35464 ESTABLISHED\nudp6       0      0 :::41558               :::*                   CLOSE\nudp6       0      0 :::42086               :::*                   CLOSE\nudp6       0      0 :::35709               :::*                   CLOSE\n\nBug: 2511871\n\nChange-Id: I25e0470ba65e8a88e57506ae26232a7c43a9c16b\n"
    },
    {
      "commit": "14200b4c3b04ccdcd45420fa9394fb6412728906",
      "tree": "40c5326ea3b3eab4afcfff0bbde1cf9d778c81f3",
      "parents": [
        "0dd00036d2a292d96376fbbd22bdc89580f4559c",
        "5833769d9aa41dfb28a74c665fda0fca9c321fc1"
      ],
      "author": {
        "name": "Brian Swetland",
        "email": "swetland@google.com",
        "time": "Sat Sep 11 18:42:53 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Sep 11 18:42:53 2010 -0700"
      },
      "message": "am 5833769d: am 09dd3e57: make df more readable\n\nMerge commit \u00275833769d9aa41dfb28a74c665fda0fca9c321fc1\u0027\n\n* commit \u00275833769d9aa41dfb28a74c665fda0fca9c321fc1\u0027:\n  make df more readable\n"
    },
    {
      "commit": "5833769d9aa41dfb28a74c665fda0fca9c321fc1",
      "tree": "70ee0631eec9954df7b8e9514ec4b57ff9bcf74b",
      "parents": [
        "1d10577e9b474a5099d0f5a09468c55a0324d876",
        "09dd3e57b920c8f65cb486313a4c0f35b8cb9f46"
      ],
      "author": {
        "name": "Brian Swetland",
        "email": "swetland@google.com",
        "time": "Sat Sep 11 18:34:21 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Sep 11 18:34:21 2010 -0700"
      },
      "message": "am 09dd3e57: make df more readable\n\nMerge commit \u002709dd3e57b920c8f65cb486313a4c0f35b8cb9f46\u0027 into gingerbread-plus-aosp\n\n* commit \u002709dd3e57b920c8f65cb486313a4c0f35b8cb9f46\u0027:\n  make df more readable\n"
    },
    {
      "commit": "09dd3e57b920c8f65cb486313a4c0f35b8cb9f46",
      "tree": "6a08264c1cb824143881da9ab3149786a900a2cc",
      "parents": [
        "4012c0a46ab2ebdf6a1298bc4e85ed3368d1b8a4"
      ],
      "author": {
        "name": "Brian Swetland",
        "email": "swetland@google.com",
        "time": "Sat Sep 11 18:19:35 2010 -0700"
      },
      "committer": {
        "name": "Brian Swetland",
        "email": "swetland@google.com",
        "time": "Sat Sep 11 18:19:35 2010 -0700"
      },
      "message": "make df more readable\n\nFilesystem             Size   Used   Free   Blksize\n/dev                   164M    32K   164M   4096\n/system                442M   117M   325M   4096\n/cache                 492M     8M   483M   4096\n/data                  984M    59M   925M   4096\n/mnt/sdcard             12G    27M    12G   32768\n\nChange-Id: I9a84b7b84ae528ee5cf0b1e92a8bee032b87703b\n"
    },
    {
      "commit": "4358544a3ffde4ffd1e9434b99b2a7179f05cce4",
      "tree": "c250a567b03d5104def1472148b890ab7b46725b",
      "parents": [
        "cb020611f950a326599a1b9b7676b148d51fb772"
      ],
      "author": {
        "name": "Dmitry Shmidt",
        "email": "dimitrysh@google.com",
        "time": "Mon Aug 30 16:39:14 2010 -0700"
      },
      "committer": {
        "name": "Dmitry Shmidt",
        "email": "dimitrysh@google.com",
        "time": "Mon Aug 30 16:39:14 2010 -0700"
      },
      "message": "toolbox: top: Add processor field\n\nChange-Id: I9f8e45a963a0773f27ddcd1d249aecac1ab9152e\nSigned-off-by: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\n"
    },
    {
      "commit": "8b37c91b934bf22d8ae52bebad7f1f22f16d1132",
      "tree": "9c86862f6dca39f6610dfc3cb2a2afae85f4157c",
      "parents": [
        "8fa95f966088f13b14895aefea87b6c5f0cc78eb"
      ],
      "author": {
        "name": "Dmitry Shmidt",
        "email": "dimitrysh@google.com",
        "time": "Wed Aug 18 17:26:26 2010 -0700"
      },
      "committer": {
        "name": "Dmitry Shmidt",
        "email": "dimitrysh@google.com",
        "time": "Wed Aug 18 17:26:26 2010 -0700"
      },
      "message": "ps: Add -c flag to show CPU number last executed on\n\nChange-Id: I9a8faef0824c390ef980ce6c33e9c79102884879\nSigned-off-by: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\n"
    },
    {
      "commit": "30be93c6e2b5c2eb6c6e9e21a04dc0dbe2f4c8ca",
      "tree": "0393f272d9cd62aaef4a1a515897ff97206d60c2",
      "parents": [
        "69f2d3ce91f18dd20441dc4c51839add63cac3e1",
        "60c8f863ca84f3e5bb8e78d8001c53511f094d53"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Jul 29 15:55:34 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jul 29 15:55:34 2010 -0700"
      },
      "message": "am 60c8f863: resolved conflicts for merge of 0fcbdb41 to gingerbread-plus-aosp\n\nMerge commit \u002760c8f863ca84f3e5bb8e78d8001c53511f094d53\u0027\n\n* commit \u002760c8f863ca84f3e5bb8e78d8001c53511f094d53\u0027:\n  Userland support for VM interconnection\n"
    },
    {
      "commit": "60c8f863ca84f3e5bb8e78d8001c53511f094d53",
      "tree": "0af3cd99e4e85251ae4b32a4967e03b6e5e8716f",
      "parents": [
        "42b871f1bfc116d53d1bff9d7497415494b2e0e0",
        "0fcbdb4147858d40d581d3b034f5150962632943"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Jul 29 15:53:16 2010 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Jul 29 15:53:16 2010 -0700"
      },
      "message": "resolved conflicts for merge of 0fcbdb41 to gingerbread-plus-aosp\n\nChange-Id: I1396cd97b28f316849016d55596ad52fffd3235c\n"
    },
    {
      "commit": "0fcbdb4147858d40d581d3b034f5150962632943",
      "tree": "f8d60bd03a6ff4d9f0efdded6448bf764fa76a4d",
      "parents": [
        "c37ba1c916d73fbf35c6faba1e252e2916d2d41d",
        "2a743730c7d1a8adba8a922f7af46cef0b35363a"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Jul 29 15:04:57 2010 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Thu Jul 29 15:04:57 2010 -0700"
      },
      "message": "Merge \"Userland support for VM interconnection\""
    },
    {
      "commit": "7a58bcfb1e8b5c80703be8cd88caefe1c0433d0b",
      "tree": "c50e9fc8e30e0cc8fef4085b24af6492a7dc696f",
      "parents": [
        "c2424504b6ffff9ef63a063fd69d88460028cbb2",
        "331eb52d611de6bd2e70a2b0bde1f3c3733ce657"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Jul 27 13:02:58 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jul 27 13:02:58 2010 -0700"
      },
      "message": "am 331eb52d: am 5a0adf95: Merge \"Add basic lsof command\" into gingerbread\n\nMerge commit \u0027331eb52d611de6bd2e70a2b0bde1f3c3733ce657\u0027\n\n* commit \u0027331eb52d611de6bd2e70a2b0bde1f3c3733ce657\u0027:\n  Add basic lsof command\n"
    },
    {
      "commit": "331eb52d611de6bd2e70a2b0bde1f3c3733ce657",
      "tree": "0f22becc67653e20c80d18febb58ad19c0fc2c6d",
      "parents": [
        "65757da0c99cb4b49e1dc9e21facc7b4e67192cd",
        "5a0adf95b1170d3d9ec91b0106662cd17514f0e4"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Jul 27 13:00:58 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jul 27 13:00:58 2010 -0700"
      },
      "message": "am 5a0adf95: Merge \"Add basic lsof command\" into gingerbread\n\nMerge commit \u00275a0adf95b1170d3d9ec91b0106662cd17514f0e4\u0027 into gingerbread-plus-aosp\n\n* commit \u00275a0adf95b1170d3d9ec91b0106662cd17514f0e4\u0027:\n  Add basic lsof command\n"
    },
    {
      "commit": "5a0adf95b1170d3d9ec91b0106662cd17514f0e4",
      "tree": "bd7736b947c7734de74e82525201b43b57c60908",
      "parents": [
        "53308d4cd5c4414402e979a6771f7ef3b35f5c2f",
        "8b9b105bc7bf6428591d55462b3e727ba7504b29"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Jul 27 12:58:23 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 27 12:58:23 2010 -0700"
      },
      "message": "Merge \"Add basic lsof command\" into gingerbread"
    },
    {
      "commit": "2d392f24b8dc30553b6e7992af5315e458fbbabc",
      "tree": "6fc6c107a65ee6673e23c862bc3369705f04f320",
      "parents": [
        "cb0d07b0e0f955f9175ce472a12c5a6f9363bc39",
        "65757da0c99cb4b49e1dc9e21facc7b4e67192cd"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Jul 27 11:41:50 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jul 27 11:41:50 2010 -0700"
      },
      "message": "am 65757da0: am 53308d4c: Correct copyright header for uptime and NOTICE\n\nMerge commit \u002765757da0c99cb4b49e1dc9e21facc7b4e67192cd\u0027\n\n* commit \u002765757da0c99cb4b49e1dc9e21facc7b4e67192cd\u0027:\n  Correct copyright header for uptime and NOTICE\n"
    },
    {
      "commit": "65757da0c99cb4b49e1dc9e21facc7b4e67192cd",
      "tree": "863ef23954aedc3bcad899a24c6107e7312d208f",
      "parents": [
        "1298bb79938cb1f4cf920433b86716bd4108de0f",
        "53308d4cd5c4414402e979a6771f7ef3b35f5c2f"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Jul 27 11:39:19 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jul 27 11:39:19 2010 -0700"
      },
      "message": "am 53308d4c: Correct copyright header for uptime and NOTICE\n\nMerge commit \u002753308d4cd5c4414402e979a6771f7ef3b35f5c2f\u0027 into gingerbread-plus-aosp\n\n* commit \u002753308d4cd5c4414402e979a6771f7ef3b35f5c2f\u0027:\n  Correct copyright header for uptime and NOTICE\n"
    },
    {
      "commit": "53308d4cd5c4414402e979a6771f7ef3b35f5c2f",
      "tree": "ffe0daa47ee03922774bf965fc6cd8195805360b",
      "parents": [
        "4309d602b562eb9f181b0314837e6096577c6c18"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Jul 27 10:57:00 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Jul 27 11:26:06 2010 -0700"
      },
      "message": "Correct copyright header for uptime and NOTICE\n\nChange-Id: I89f91c21db87955b20b1ef9b4590f7009f106b26\n"
    },
    {
      "commit": "8b9b105bc7bf6428591d55462b3e727ba7504b29",
      "tree": "d9aa0222d8a2d9befa870ddd1427d6f095bf5974",
      "parents": [
        "4309d602b562eb9f181b0314837e6096577c6c18"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Jul 27 09:20:02 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Jul 27 11:22:20 2010 -0700"
      },
      "message": "Add basic lsof command\n\nBasic \"list open files\" command.\n\nSupports reading all processes for their \"exe\", \"cwd\", \"root\", and \"fd\"\nentries.\n\nChange-Id: I2e2f0911dd65a1993aa1ce9f51222bf264a9d68d\n"
    },
    {
      "commit": "534bc027a2fc5136988e6785c2d647054daf2713",
      "tree": "546cbeb9426ea8da2219fdf84b798ee8a203d715",
      "parents": [
        "5687abe6ef0fe5820547cf68bbcec9c968c28870",
        "869cc685b171c5c0c1efbad5df693cfaebe0af43"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Jul 16 13:30:54 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jul 16 13:30:54 2010 -0700"
      },
      "message": "am 869cc685: merge from open-source master\n\nMerge commit \u0027869cc685b171c5c0c1efbad5df693cfaebe0af43\u0027\n\n* commit \u0027869cc685b171c5c0c1efbad5df693cfaebe0af43\u0027:\n  fix insmod reading more than one module parameter\n"
    },
    {
      "commit": "869cc685b171c5c0c1efbad5df693cfaebe0af43",
      "tree": "b252fd71bac0916438493eab6f59bfef23da336c",
      "parents": [
        "544e1f866edcbe55b3d8f65d50bc831dfb818657",
        "e3f6a6e1d3e52c1d25d55b6556cc1f2c0598b576"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Jul 16 13:23:40 2010 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Jul 16 13:23:40 2010 -0700"
      },
      "message": "merge from open-source master\n\nChange-Id: I9365615f5f94484fb5ab28bb076b25fb4721e2bc\n"
    },
    {
      "commit": "e3f6a6e1d3e52c1d25d55b6556cc1f2c0598b576",
      "tree": "57f0e7cc76de3568017955613fa3339eb573e2bb",
      "parents": [
        "097b7df625f200178299d15a2da92e5406565fb3",
        "918fb893e889b30fd1836668870a4a46586c8d25"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Jul 16 07:26:05 2010 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Fri Jul 16 07:26:05 2010 -0700"
      },
      "message": "Merge \"fix insmod reading more than one module parameter\""
    },
    {
      "commit": "2a743730c7d1a8adba8a922f7af46cef0b35363a",
      "tree": "7ee44c18130dbac8313dc88e32f6bc408ddf2f80",
      "parents": [
        "07b3d09e841ea8544f72c3b2bf268f07df6357f7"
      ],
      "author": {
        "name": "Dries Harnie",
        "email": "botje.linux@gmail.com",
        "time": "Mon Jan 18 17:44:33 2010 +0100"
      },
      "committer": {
        "name": "Dries Harnie",
        "email": "botje.linux@gmail.com",
        "time": "Thu Jul 15 13:19:37 2010 +0200"
      },
      "message": "Userland support for VM interconnection\n\nChange-Id: I699608f3072b39c8da1a7cc313bd0b736e90f225\n"
    },
    {
      "commit": "f4f7697f69a68abc755d9c4d1ef384984d81b164",
      "tree": "1b5345d24526fc793ded3712ead66b85e1ff0d55",
      "parents": [
        "335cc39928ba4ff8daca360376bc2d7fd241122d",
        "0bcda269708bbc4f4bd729765e3d4d84e0fd5e60"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Jul 14 16:16:20 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 14 16:16:20 2010 -0700"
      },
      "message": "am 0bcda269: merge from open-source master\n\nMerge commit \u00270bcda269708bbc4f4bd729765e3d4d84e0fd5e60\u0027\n\n* commit \u00270bcda269708bbc4f4bd729765e3d4d84e0fd5e60\u0027:\n  Add -R to chmod\n  Add -p support to mkdir\n"
    },
    {
      "commit": "0bcda269708bbc4f4bd729765e3d4d84e0fd5e60",
      "tree": "6f5a8e6702480153702a91fffc16a746ab5dd228",
      "parents": [
        "62a54f3b1343043528b7e93c1a4311a5e9d5f358",
        "6cebee264761cf9ed3a9b8b1ec939baf6e446afd"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Jul 14 16:12:40 2010 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Jul 14 16:12:40 2010 -0700"
      },
      "message": "merge from open-source master\n\nChange-Id: If9a300a80228f30166ed42853ae13236aaa2eee5\n"
    },
    {
      "commit": "6cebee264761cf9ed3a9b8b1ec939baf6e446afd",
      "tree": "91d9d534fb612c2573c3ce212c8fc14826cc0d17",
      "parents": [
        "34225919abe715f9ac34acfbb6eba88a282628b2",
        "365a09e817e919c491a1e8abce0b734af14d3e5f"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Jul 14 15:17:47 2010 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Wed Jul 14 15:17:47 2010 -0700"
      },
      "message": "Merge \"Add -R to chmod\""
    },
    {
      "commit": "34225919abe715f9ac34acfbb6eba88a282628b2",
      "tree": "34b7f099646dee90b6295b08fcb420f4ce24b022",
      "parents": [
        "bedaac52a677c152e051c17ef456cc9e43f3812b",
        "b55de6798507178dc7a50570108b435afa9a8346"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Jul 14 15:15:53 2010 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Wed Jul 14 15:15:53 2010 -0700"
      },
      "message": "Merge \"Add -p support to mkdir\""
    },
    {
      "commit": "365a09e817e919c491a1e8abce0b734af14d3e5f",
      "tree": "497006245423c35e16ff8ec0ac334cf5f27ced70",
      "parents": [
        "230cb33fd1ab335c6f808c72db891993b00110a0"
      ],
      "author": {
        "name": "Anthony Newnam",
        "email": "anthony.newnam@garmin.com",
        "time": "Tue Jul 06 18:18:10 2010 -0500"
      },
      "committer": {
        "name": "Anthony Newnam",
        "email": "anthony.newnam@garmin.com",
        "time": "Wed Jul 14 13:30:11 2010 -0500"
      },
      "message": "Add -R to chmod\n\nChange-Id: I30f976598bd937f656a3ad3395349f09e695cfce\n"
    },
    {
      "commit": "b55de6798507178dc7a50570108b435afa9a8346",
      "tree": "e981a055a3689648414329237b39ee724f259000",
      "parents": [
        "230cb33fd1ab335c6f808c72db891993b00110a0"
      ],
      "author": {
        "name": "Anthony Newnam",
        "email": "anthony.newnam@garmin.com",
        "time": "Tue Jul 06 18:18:35 2010 -0500"
      },
      "committer": {
        "name": "Anthony Newnam",
        "email": "anthony.newnam@garmin.com",
        "time": "Wed Jul 14 13:29:42 2010 -0500"
      },
      "message": "Add -p support to mkdir\n\nChange-Id: Ia0298ccc6b476d6bd6756471c05ef2a345312734\n"
    },
    {
      "commit": "45f7fde3c96b99d23f188bec7a269734bb1d0d35",
      "tree": "2c2bcf5bef251496d21c874c4e09deb2f698de43",
      "parents": [
        "3de5dba5590d5f1c9b33da8463502905b0ebfc58",
        "0b1ff6be08844c541e36fd735b41990453582ec1"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Jun 25 14:21:11 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jun 25 14:21:11 2010 -0700"
      },
      "message": "am 0b1ff6be: am eb42170e: Display file sizes larger than 2GB correctly\n\nMerge commit \u00270b1ff6be08844c541e36fd735b41990453582ec1\u0027\n\n* commit \u00270b1ff6be08844c541e36fd735b41990453582ec1\u0027:\n  Display file sizes larger than 2GB correctly\n"
    },
    {
      "commit": "0b1ff6be08844c541e36fd735b41990453582ec1",
      "tree": "e848ee2c20b4914ceadac06dfcddf9cf2d8a5a3f",
      "parents": [
        "2c4676de62cf8ca7e3759f7f709e29c623495f55",
        "eb42170e6c8b70f11dca9965785aa04a80290c72"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Jun 25 09:50:08 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jun 25 09:50:08 2010 -0700"
      },
      "message": "am eb42170e: Display file sizes larger than 2GB correctly\n\nMerge commit \u0027eb42170e6c8b70f11dca9965785aa04a80290c72\u0027 into gingerbread-plus-aosp\n\n* commit \u0027eb42170e6c8b70f11dca9965785aa04a80290c72\u0027:\n  Display file sizes larger than 2GB correctly\n"
    },
    {
      "commit": "eb42170e6c8b70f11dca9965785aa04a80290c72",
      "tree": "3ea0a62fa33ef2bc53a7fd27dd3ea1caeba434fe",
      "parents": [
        "93b0cb40c18cae594c931677be2b9214420610b7"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Jun 25 09:08:05 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Jun 25 09:08:05 2010 -0700"
      },
      "message": "Display file sizes larger than 2GB correctly\n\nFile size was cast to a signed integer which displayed files over 2GB as\nnegative sizes on devices. Use a long long for printing instead which\nmatches the stat struct.\n\nChange-Id: I0ec07f33716bb4c2e5d120633ed435f637238f46\n"
    },
    {
      "commit": "7570ab61d40190a1e9c5d4cd9dfc8220dbb18235",
      "tree": "d4518b16f43ecbc22896e5467c012bab22a93781",
      "parents": [
        "7b84e72cc4609e04afdd7cc9a337be99444f74a9",
        "f72961d068d7a89403f0bb828f65021ac73a5cff"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Jun 09 16:28:31 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jun 09 16:28:31 2010 -0700"
      },
      "message": "am f72961d0: merge from froyo-plus-aosp\n"
    }
  ],
  "next": "f72961d068d7a89403f0bb828f65021ac73a5cff"
}
