)]}'
{
  "log": [
    {
      "commit": "c8d9ce4ef44c3490bd5a09e4749c98ceeadc1f2f",
      "tree": "a542df93122af6d607791600eeb4f340390beae5",
      "parents": [
        "3fc8571bba4f27ebb84464254ba411017e742171"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Wed Oct 19 14:21:08 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Wed Oct 19 14:21:08 2011 -0700"
      },
      "message": "vish points out that sudo isn\u0027t needed here since DEST is owned by user\n"
    },
    {
      "commit": "3fc8571bba4f27ebb84464254ba411017e742171",
      "tree": "68cbb9407f265090284281fd5c99580b344f406b",
      "parents": [
        "aab7eae0b903b7bfe19c0f15ad0eaf1a7c82d8a7",
        "51fb22efd1cfa6e415cf46e311a5a660ace3c3e9"
      ],
      "author": {
        "name": "vishvananda",
        "email": "vishvananda@gmail.com",
        "time": "Wed Oct 19 10:40:01 2011 -0700"
      },
      "committer": {
        "name": "vishvananda",
        "email": "vishvananda@gmail.com",
        "time": "Wed Oct 19 10:40:01 2011 -0700"
      },
      "message": "Merge pull request #79 from cloudbuilders/docs\n\nupdate comments and added check for double mount bug"
    },
    {
      "commit": "aab7eae0b903b7bfe19c0f15ad0eaf1a7c82d8a7",
      "tree": "e7997ca53c546be9e0d370d3c6fc0211899421f6",
      "parents": [
        "fd709d8049427955d8fb3cd4dccda53b4d05ba9c"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Wed Oct 19 10:30:19 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Wed Oct 19 10:30:19 2011 -0700"
      },
      "message": "docs\n"
    },
    {
      "commit": "51fb22efd1cfa6e415cf46e311a5a660ace3c3e9",
      "tree": "dc3a82acd252b4b72df3cb44bb151460c8a521bd",
      "parents": [
        "fd709d8049427955d8fb3cd4dccda53b4d05ba9c"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Wed Oct 19 09:24:17 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Wed Oct 19 09:24:34 2011 -0700"
      },
      "message": "update comments and added check for double mount bug\n"
    },
    {
      "commit": "fd709d8049427955d8fb3cd4dccda53b4d05ba9c",
      "tree": "0cc1b3f1120320aea40d8a8ae304f36a58d49d3c",
      "parents": [
        "583bad0b14b47b8933bb417acd8893bdd4f10baa"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Tue Oct 18 20:02:29 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Tue Oct 18 20:02:29 2011 -0700"
      },
      "message": "use diablo vintage dashboard\n"
    },
    {
      "commit": "583bad0b14b47b8933bb417acd8893bdd4f10baa",
      "tree": "f0f256e6d48fecc096594c5143bfabb597276363",
      "parents": [
        "20a2caecfdce0969ab932511ef97cb8109d4e5c0"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Tue Oct 18 08:22:30 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Tue Oct 18 08:22:30 2011 -0700"
      },
      "message": "minor tweaks - source stackrc/localrc for excercise.sh.  Also, fix typo in build_lxc.sh\n"
    },
    {
      "commit": "20a2caecfdce0969ab932511ef97cb8109d4e5c0",
      "tree": "c665699df27e58100708ebe8189d3157c282677b",
      "parents": [
        "028cad16442924a4457dcbb1a12ec9117934218d"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Mon Oct 17 16:02:24 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Mon Oct 17 16:02:24 2011 -0700"
      },
      "message": "updates to exercise.sh to use some of the newer apis\n"
    },
    {
      "commit": "028cad16442924a4457dcbb1a12ec9117934218d",
      "tree": "325715cedbbb02f4a733441beca19cd7674897e8",
      "parents": [
        "1f27360089a6cb1a56efcf3fcc7b755d6b772d08"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Mon Oct 17 14:10:42 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Mon Oct 17 14:10:42 2011 -0700"
      },
      "message": "better pre-caching\n"
    },
    {
      "commit": "1f27360089a6cb1a56efcf3fcc7b755d6b772d08",
      "tree": "b5d3ceb29d514ad98feee6226119b592b8de8661",
      "parents": [
        "16515c17d15e5e2e19417ac340cc3c8e2dc6dba4"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Mon Oct 17 13:20:40 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Mon Oct 17 13:20:40 2011 -0700"
      },
      "message": "redux of reclone\n"
    },
    {
      "commit": "16515c17d15e5e2e19417ac340cc3c8e2dc6dba4",
      "tree": "c8004c72ed75ee4021e3085b453e062902f0e4ae",
      "parents": [
        "ae8bc12d1ad5f4325a63e0efdbe902d6ab31b901",
        "59a285cd863ef2a7e2eed22eafbfd0a1fac6f1a9"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Mon Oct 17 10:40:11 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Mon Oct 17 10:40:11 2011 -0700"
      },
      "message": "Merge pull request #74 from cloudbuilders/reclone\n\nRESET_BRANCHES option (to force checkout new remote branch)"
    },
    {
      "commit": "59a285cd863ef2a7e2eed22eafbfd0a1fac6f1a9",
      "tree": "8f5511d4c90e38c08f51502ab704cdecc259948e",
      "parents": [
        "64c2ba225a936af765be4229243666c26ccd42b9"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Mon Oct 17 10:39:28 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Mon Oct 17 10:39:28 2011 -0700"
      },
      "message": "change variable to RESET_BRANCHES\n"
    },
    {
      "commit": "ae8bc12d1ad5f4325a63e0efdbe902d6ab31b901",
      "tree": "fb85a3c64beb69299a0a84a2bf474fb269fc0438",
      "parents": [
        "6b9d6dad6ad460b2b5fede659363cfca51e33c8d"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Mon Oct 17 10:38:05 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Mon Oct 17 10:38:05 2011 -0700"
      },
      "message": "automatically use the nameserver of the launching host if not specified\n"
    },
    {
      "commit": "6b9d6dad6ad460b2b5fede659363cfca51e33c8d",
      "tree": "6176e2c39f59fc1a4386381d412c435436cb8e4c",
      "parents": [
        "04db155a70a3e2baf91d1610bb05f921f8d37f09"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Mon Oct 17 10:12:22 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Mon Oct 17 10:12:22 2011 -0700"
      },
      "message": "force dep updates every run for now\n"
    },
    {
      "commit": "04db155a70a3e2baf91d1610bb05f921f8d37f09",
      "tree": "290efebfb3fb30af272631da9ac4ddba0e6dd948",
      "parents": [
        "da89268c9272e5e649d7d2332c86bf2fe68f57ee"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Mon Oct 17 09:40:45 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Mon Oct 17 09:40:45 2011 -0700"
      },
      "message": "make sure to kill tail on exit\n"
    },
    {
      "commit": "64c2ba225a936af765be4229243666c26ccd42b9",
      "tree": "e0171495d73883c24277b9828459ee0b542dd0c8",
      "parents": [
        "aa8bb244be4cda5a83d0e5faee9767e3f0171ff9"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Sun Oct 16 19:08:04 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Sun Oct 16 19:08:04 2011 -0700"
      },
      "message": "fixes anthony\u0027s comment about not working if you aren\u0027t switching branches\n"
    },
    {
      "commit": "aa8bb244be4cda5a83d0e5faee9767e3f0171ff9",
      "tree": "fd6ba5192998db60107849f8ba1d301b877bb8e6",
      "parents": [
        "b1304f2d353bc0de780f4d635fc9cbd48328bfcb"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Sun Oct 16 12:24:11 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Sun Oct 16 12:24:11 2011 -0700"
      },
      "message": "rearrange order of setup.py develop as novaclient is needed by nova in essex\n"
    },
    {
      "commit": "b1304f2d353bc0de780f4d635fc9cbd48328bfcb",
      "tree": "33cbac1aed5cd34f69e7b5c4d81e438415ffb0c5",
      "parents": [
        "da89268c9272e5e649d7d2332c86bf2fe68f57ee"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Sun Oct 16 12:18:50 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Sun Oct 16 12:18:50 2011 -0700"
      },
      "message": "if RECLONE is set, reclone the directories\n"
    },
    {
      "commit": "da89268c9272e5e649d7d2332c86bf2fe68f57ee",
      "tree": "cbb3b25a5ae70881dee1c46c2cce7b4348e93895",
      "parents": [
        "d888e1cdcb7eadf6c6b3634631400a4fe4c97769"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Sat Oct 15 20:14:07 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Sat Oct 15 20:14:07 2011 -0700"
      },
      "message": "update the ping to ping, wait 5 second, really ping\n"
    },
    {
      "commit": "d888e1cdcb7eadf6c6b3634631400a4fe4c97769",
      "tree": "d9c3d0ca4d2a0edcc28479f1b5754f9c5c139d05",
      "parents": [
        "4e8847cd6a8bb4dce9c3a7c66636d61ba51b519c"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Sat Oct 15 20:01:12 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Sat Oct 15 20:01:12 2011 -0700"
      },
      "message": "update exercise to boot a server, ping it, then destroy it\n"
    },
    {
      "commit": "4e8847cd6a8bb4dce9c3a7c66636d61ba51b519c",
      "tree": "220a3d6d100c32f1fbaf6429b3ca5f8efb442578",
      "parents": [
        "b9c77d69a6be25bca73780df671ab7538997e1ac"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Sat Oct 15 19:29:55 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Sat Oct 15 19:29:55 2011 -0700"
      },
      "message": "update glance command in exercise.sh\n"
    },
    {
      "commit": "b9c77d69a6be25bca73780df671ab7538997e1ac",
      "tree": "1bcf157c1c533571be5dd2227473335087bc07a1",
      "parents": [
        "f43307d408924977a2603d5e4f4aa30f41dfe4fc"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Sat Oct 15 18:37:25 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Sat Oct 15 18:37:25 2011 -0700"
      },
      "message": "add debug logging and notes about generating token\n"
    },
    {
      "commit": "f43307d408924977a2603d5e4f4aa30f41dfe4fc",
      "tree": "07620635f7bb426bc034be008f0b5d080eb65aa1",
      "parents": [
        "25369c914aa928de1ce67b9dec56aa5e0c2b782f"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Sat Oct 15 17:40:38 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Sat Oct 15 17:40:38 2011 -0700"
      },
      "message": "exercise.sh was using wrong variable to generate token\n"
    },
    {
      "commit": "25369c914aa928de1ce67b9dec56aa5e0c2b782f",
      "tree": "9beef818fb1d70adb4811b0e09d50cdecfee46d3",
      "parents": [
        "9ff71acb08e4885d7da8cb44aedb2ff79f4e0909"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Fri Oct 14 16:50:27 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Fri Oct 14 16:50:27 2011 -0700"
      },
      "message": "make tail stop when stack.sh is finished\n"
    },
    {
      "commit": "9ff71acb08e4885d7da8cb44aedb2ff79f4e0909",
      "tree": "e1f5aa046d4f55624826601d4aa867fda518e0c0",
      "parents": [
        "1046d94ec15dc768a87bd5ad80416df133d1a945"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Fri Oct 14 15:02:20 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Fri Oct 14 15:02:20 2011 -0700"
      },
      "message": "make build_lxc.sh work on oneiric\n"
    },
    {
      "commit": "1046d94ec15dc768a87bd5ad80416df133d1a945",
      "tree": "8230331c39f8da0fc9c9a4fab1142c4325940d40",
      "parents": [
        "e8efef79809f8a88910926f4efeb3eb8d6b0ddcd",
        "d65c6bd79cb506c7baed0fd4256fa2176dfbb450"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Fri Oct 14 12:01:09 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Fri Oct 14 12:01:09 2011 -0700"
      },
      "message": "Merge remote-tracking branch \u0027origin/master\u0027\n"
    },
    {
      "commit": "e8efef79809f8a88910926f4efeb3eb8d6b0ddcd",
      "tree": "60da3ec9e50775734b70bada9366a37fde1ed88b",
      "parents": [
        "ec7c89f677419c1b5eb748070568375f1a53ae57"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Fri Oct 14 12:00:50 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Fri Oct 14 12:00:50 2011 -0700"
      },
      "message": "move lxc to tools\n"
    },
    {
      "commit": "d65c6bd79cb506c7baed0fd4256fa2176dfbb450",
      "tree": "bd216273ae909b765de172987e317d292b9e08f6",
      "parents": [
        "ec7c89f677419c1b5eb748070568375f1a53ae57",
        "7a8989e9711ec0d3f3401f46a20bdc55c75fd8e9"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Fri Oct 14 10:57:35 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Fri Oct 14 10:57:35 2011 -0700"
      },
      "message": "Merge pull request #71 from cloudbuilders/image_config\n\nAllow configuration of glance images"
    },
    {
      "commit": "7a8989e9711ec0d3f3401f46a20bdc55c75fd8e9",
      "tree": "bd216273ae909b765de172987e317d292b9e08f6",
      "parents": [
        "120f4860cda1a946ebdba1acc03fc09caf2790de"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Fri Oct 14 10:20:30 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Fri Oct 14 10:20:30 2011 -0700"
      },
      "message": "fix doc\n"
    },
    {
      "commit": "120f4860cda1a946ebdba1acc03fc09caf2790de",
      "tree": "23e965fd9df400ada1b17a5a97abfe2f07f06d24",
      "parents": [
        "c84e0c4c1649e25b47a8792a0d3e0e867ad8e6b1"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Fri Oct 14 09:31:09 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Fri Oct 14 09:31:09 2011 -0700"
      },
      "message": "allow multiple images\n"
    },
    {
      "commit": "c84e0c4c1649e25b47a8792a0d3e0e867ad8e6b1",
      "tree": "8f0dfa3abd78e0a6942062b11f2dca62de4a1823",
      "parents": [
        "b76abcc71a839f49c86f2aa843f8963ff1d5b83e",
        "93947e59be5566391a3fa0a0b32906ce8c4ceffa"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Fri Oct 14 09:20:46 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Fri Oct 14 09:20:46 2011 -0700"
      },
      "message": "Merge remote-tracking branch \u0027origin/image_config\u0027 into image_config\n"
    },
    {
      "commit": "b76abcc71a839f49c86f2aa843f8963ff1d5b83e",
      "tree": "86275fec79209cce5993f3f246a9724f03b8643b",
      "parents": [
        "f2b5f8856f98f72fbdaac536387c2c3672dd5e64",
        "ec7c89f677419c1b5eb748070568375f1a53ae57"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Fri Oct 14 09:20:29 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Fri Oct 14 09:20:29 2011 -0700"
      },
      "message": "Merge remote-tracking branch \u0027origin/master\u0027 into image_config\n"
    },
    {
      "commit": "93947e59be5566391a3fa0a0b32906ce8c4ceffa",
      "tree": "8f0dfa3abd78e0a6942062b11f2dca62de4a1823",
      "parents": [
        "0ab1d46e05c310a9977aebd3156b5269dffb91fc"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Thu Oct 13 23:07:56 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Thu Oct 13 23:07:56 2011 -0700"
      },
      "message": "improve docs\n"
    },
    {
      "commit": "0ab1d46e05c310a9977aebd3156b5269dffb91fc",
      "tree": "7fb53ee33025561223d49c8c83f65e88e4d67d88",
      "parents": [
        "696b6a3aae3671a4d1b12f7c1f97a35fa20e369c"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Thu Oct 13 23:03:23 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Thu Oct 13 23:03:23 2011 -0700"
      },
      "message": "Allow user to download and install arbitrary images\n"
    },
    {
      "commit": "696b6a3aae3671a4d1b12f7c1f97a35fa20e369c",
      "tree": "86275fec79209cce5993f3f246a9724f03b8643b",
      "parents": [
        "f2b5f8856f98f72fbdaac536387c2c3672dd5e64",
        "ec7c89f677419c1b5eb748070568375f1a53ae57"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Thu Oct 13 22:20:24 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Thu Oct 13 22:20:24 2011 -0700"
      },
      "message": "Merge remote-tracking branch \u0027origin/master\u0027 into image_config\n"
    },
    {
      "commit": "ec7c89f677419c1b5eb748070568375f1a53ae57",
      "tree": "bc6831c6047bece754e6a2ffb30b803f88e074db",
      "parents": [
        "2e536a3faf3d699ef255b74793b4591779738624",
        "d1b1cdb04c4ba4e892f4eda722cf3f1daa260865"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Thu Oct 13 20:58:41 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Thu Oct 13 20:58:41 2011 -0700"
      },
      "message": "Merge pull request #58 from cloudbuilders/password_prompt\n\nPassword prompt (ask users for passwords instead of auto-gen)"
    },
    {
      "commit": "f2b5f8856f98f72fbdaac536387c2c3672dd5e64",
      "tree": "17103d917432b1f10696b99c6310aeb8513f8c63",
      "parents": [
        "2e536a3faf3d699ef255b74793b4591779738624"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Thu Oct 13 16:44:42 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Thu Oct 13 16:44:42 2011 -0700"
      },
      "message": "starting work to extract image configuration so it isn\u0027t hard coded\n"
    },
    {
      "commit": "d1b1cdb04c4ba4e892f4eda722cf3f1daa260865",
      "tree": "bc6831c6047bece754e6a2ffb30b803f88e074db",
      "parents": [
        "cf145b77e4dbe675108c2c7b788e7505d5818fed"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Thu Oct 13 15:25:38 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Thu Oct 13 15:25:38 2011 -0700"
      },
      "message": "tail run.sh.log instead of the stack.sh.log\n"
    },
    {
      "commit": "cf145b77e4dbe675108c2c7b788e7505d5818fed",
      "tree": "1a236d786f859bc1f75177a869a7d6517ee97318",
      "parents": [
        "f8dfba1c7324e39fada3b694ab3d1451e83de238"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Thu Oct 13 15:07:36 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Thu Oct 13 15:07:36 2011 -0700"
      },
      "message": "merge trunk, and also make sure localrc exists before running  build_lxc.sh\n"
    },
    {
      "commit": "f8dfba1c7324e39fada3b694ab3d1451e83de238",
      "tree": "91a19ac2e00d04e40c9b49002f7b782f8c78b899",
      "parents": [
        "b4db225494a2c8d19db523c48fc48cbaee0402a0",
        "2e536a3faf3d699ef255b74793b4591779738624"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Thu Oct 13 11:45:07 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Thu Oct 13 11:45:07 2011 -0700"
      },
      "message": "Merge remote-tracking branch \u0027origin/master\u0027 into password_prompt\n"
    },
    {
      "commit": "2e536a3faf3d699ef255b74793b4591779738624",
      "tree": "a1aeff1c2ffa0e5ba17bf53cd5e016a06f4a041e",
      "parents": [
        "c576a7cd6d752632d69fd9959033912e6add7322"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Thu Oct 13 11:40:16 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Thu Oct 13 11:40:16 2011 -0700"
      },
      "message": "add some docs\n"
    },
    {
      "commit": "c576a7cd6d752632d69fd9959033912e6add7322",
      "tree": "8389f7b21efab5b7ab577189faee5bbd100fb099",
      "parents": [
        "8abb812e9e55d5f7c9f31e66a695067514ec2eac",
        "d5d5b680f8ebcc17b9cf2cc9e32af62396a04406"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Thu Oct 13 11:37:42 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Thu Oct 13 11:37:42 2011 -0700"
      },
      "message": "Merge pull request #54 from chmouel/mycnf\n\nSet sensible default for mysql client"
    },
    {
      "commit": "8abb812e9e55d5f7c9f31e66a695067514ec2eac",
      "tree": "b70238a638244275014c205e87bdde3c7004c86a",
      "parents": [
        "71b9e4b9a03e5ffa39441e1e8fc1ff8335f63007",
        "9a60bfac1ecbbc858a0cbb932f88c046e3a65974"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Thu Oct 13 11:37:15 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Thu Oct 13 11:37:15 2011 -0700"
      },
      "message": "Merge pull request #66 from dtroyer/6-usb-boot\n\nAdd build_usb_boot"
    },
    {
      "commit": "71b9e4b9a03e5ffa39441e1e8fc1ff8335f63007",
      "tree": "8c7b7f588c39119b3c0552a1886ff21ff09e18e9",
      "parents": [
        "906d586bb082df17da99213d479f1e0f02139e28",
        "dd6636be060edb782e09a86364ad3b7db63c7d63"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Thu Oct 13 11:36:34 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Thu Oct 13 11:36:34 2011 -0700"
      },
      "message": "Merge pull request #65 from dtroyer/5-clean-pxe-boot\n\nClean build_pxe_boot"
    },
    {
      "commit": "d5d5b680f8ebcc17b9cf2cc9e32af62396a04406",
      "tree": "cb151e9f51bd308d7e11e7ff745f335ed6b4ff7b",
      "parents": [
        "906d586bb082df17da99213d479f1e0f02139e28"
      ],
      "author": {
        "name": "Chmouel Boudjnah",
        "email": "chmouel.boudjnah@rackspace.co.uk",
        "time": "Thu Oct 13 18:45:42 2011 +0100"
      },
      "committer": {
        "name": "Chmouel Boudjnah",
        "email": "chmouel.boudjnah@rackspace.co.uk",
        "time": "Thu Oct 13 18:45:42 2011 +0100"
      },
      "message": "Set sensible default for mysql client\n\nUsing $HOME/.my.cnf to make easier for user to connect to mysql client.\n"
    },
    {
      "commit": "906d586bb082df17da99213d479f1e0f02139e28",
      "tree": "a04b060aa885782759482c792f704ad970a705b4",
      "parents": [
        "b69d6ce529be9e498dfc6d6b982713de4bd3bd4a"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Thu Oct 13 10:37:45 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Thu Oct 13 10:37:45 2011 -0700"
      },
      "message": "move readme to markdown\n"
    },
    {
      "commit": "b69d6ce529be9e498dfc6d6b982713de4bd3bd4a",
      "tree": "43eef52569e9b229694826bcf7f4ca484a90d456",
      "parents": [
        "2ea3c8b0e36f0642021561dc096a4ee12a18597d"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Thu Oct 13 10:36:00 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Thu Oct 13 10:36:00 2011 -0700"
      },
      "message": "update readme with note about gh-pages\n"
    },
    {
      "commit": "2ea3c8b0e36f0642021561dc096a4ee12a18597d",
      "tree": "a2f1ec0cca00c445a84da48c43cc690da77ed707",
      "parents": [
        "94c889ac1587e2e5096c4472e4a4385dfd76d331",
        "4bec581e4e5a15c204f1042f9ecd4701c33ac4ca"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Thu Oct 13 09:26:50 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Thu Oct 13 09:26:50 2011 -0700"
      },
      "message": "Merge pull request #59 from smoser/localdev\n\nseveral changes, largest of which is logging output"
    },
    {
      "commit": "4bec581e4e5a15c204f1042f9ecd4701c33ac4ca",
      "tree": "a2f1ec0cca00c445a84da48c43cc690da77ed707",
      "parents": [
        "55c9d3f13dac9e4073d941cdbe55532f3f3f5279"
      ],
      "author": {
        "name": "Scott Moser",
        "email": "smoser@brickies.net",
        "time": "Wed Oct 12 20:32:16 2011 -0400"
      },
      "committer": {
        "name": "Scott Moser",
        "email": "smoser@brickies.net",
        "time": "Wed Oct 12 20:32:16 2011 -0400"
      },
      "message": "add includedir entry to sudoers if its not there\n"
    },
    {
      "commit": "55c9d3f13dac9e4073d941cdbe55532f3f3f5279",
      "tree": "521f783f111a1c8a64120e429fcf2033808a24d0",
      "parents": [
        "df47967da46462e5f0b444a48d9019988449f94b"
      ],
      "author": {
        "name": "Scott Moser",
        "email": "smoser@brickies.net",
        "time": "Wed Oct 12 20:19:46 2011 -0400"
      },
      "committer": {
        "name": "Scott Moser",
        "email": "smoser@brickies.net",
        "time": "Wed Oct 12 20:19:46 2011 -0400"
      },
      "message": "fix writing of 50_stack_sh in sudoers\n"
    },
    {
      "commit": "df47967da46462e5f0b444a48d9019988449f94b",
      "tree": "da6536ea3782bab6f5b95e0908b34cb1c585827e",
      "parents": [
        "102e440e2b4908051e314f7d88730270bc89f1fd"
      ],
      "author": {
        "name": "Scott Moser",
        "email": "smoser@brickies.net",
        "time": "Wed Oct 12 20:15:50 2011 -0400"
      },
      "committer": {
        "name": "Scott Moser",
        "email": "smoser@brickies.net",
        "time": "Wed Oct 12 20:15:50 2011 -0400"
      },
      "message": "fix STACK_DIR variable\n"
    },
    {
      "commit": "102e440e2b4908051e314f7d88730270bc89f1fd",
      "tree": "b2255361ee70eea826ef19f9bc258e42f5997d6f",
      "parents": [
        "f9da5081222d2c353e577cb83c538912bca26972"
      ],
      "author": {
        "name": "Scott Moser",
        "email": "smoser@brickies.net",
        "time": "Wed Oct 12 20:00:34 2011 -0400"
      },
      "committer": {
        "name": "Scott Moser",
        "email": "smoser@brickies.net",
        "time": "Wed Oct 12 20:00:34 2011 -0400"
      },
      "message": "fix bad usage of \u0027su\u0027.  instead use \u0027set -e\u0027.\n\nI had had tried to use -e argument to su, thinking that it would\ngo through to sh, but it does not.  instead, just use \u0027set -e\u0027\n"
    },
    {
      "commit": "b4db225494a2c8d19db523c48fc48cbaee0402a0",
      "tree": "62bbcf101b69d62ef2a381eea0e43b019d5cc5b9",
      "parents": [
        "66b8bbcbd85cefb044a3be54cd84d72fcb6b63be"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Wed Oct 12 14:08:08 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Wed Oct 12 14:08:08 2011 -0700"
      },
      "message": "No need to check localrc for password.  Also use TOP_DIR as described by smoser.\n"
    },
    {
      "commit": "f9da5081222d2c353e577cb83c538912bca26972",
      "tree": "94f4a904287d4ef418f4ee3dd1feabfea37ef0c4",
      "parents": [
        "8ab1ade42ed3b4d4bda00c3dc5a6110c05c201e4"
      ],
      "author": {
        "name": "Scott Moser",
        "email": "smoser@brickies.net",
        "time": "Fri Oct 07 21:28:00 2011 -0400"
      },
      "committer": {
        "name": "Scott Moser",
        "email": "smoser@brickies.net",
        "time": "Wed Oct 12 08:52:09 2011 -0400"
      },
      "message": "move setting variables and run-as-stack-user code\n\nChange the over all flow so that the default settings are\nfilled in in the outside shell (not inside the \u0027()\u0027 and \u0027tee\u0027).\n\nThis way, those variables pass through to the subshell, but they\u0027re\nalso available in the parent shell at the end for outputting status.\n\nAlso, exit failure rather than success if \u0027exec\u0027 to run as stack\nuser failed.\n"
    },
    {
      "commit": "8ab1ade42ed3b4d4bda00c3dc5a6110c05c201e4",
      "tree": "0d55142f6de4a559ee69b7b9bfce2937c020eb57",
      "parents": [
        "b94f4bf35b9c2acd469f839515a96f9c30a45331"
      ],
      "author": {
        "name": "Scott Moser",
        "email": "smoser@brickies.net",
        "time": "Fri Oct 07 21:03:16 2011 -0400"
      },
      "committer": {
        "name": "Scott Moser",
        "email": "smoser@brickies.net",
        "time": "Wed Oct 12 08:52:09 2011 -0400"
      },
      "message": "instead of \u0027newgrp\u0027 and a pipe, use \u0027sg\u0027\n\nsg and newgrp basically do the same thing, but sg takes a command to\nexecute rather than just executing sh. This just seems cleaner.\n"
    },
    {
      "commit": "b94f4bf35b9c2acd469f839515a96f9c30a45331",
      "tree": "9dc6cd1b8734c8d5b522587d1e0ddfc2ebd3935f",
      "parents": [
        "d67a18bb0716b6dca1cfcfced39c65ac3b41a6e3"
      ],
      "author": {
        "name": "Scott Moser",
        "email": "smoser@ubuntu.com",
        "time": "Fri Oct 07 14:51:07 2011 +0000"
      },
      "committer": {
        "name": "Scott Moser",
        "email": "smoser@brickies.net",
        "time": "Wed Oct 12 08:52:09 2011 -0400"
      },
      "message": "move \u0027how to use cloud\u0027 info outside of xtrace\n\nmake the successful run output end with more clear messages.\nBy moving them outside of the \"do it all\" path, the xtrace output\nwill not mix with echo statements.\n"
    },
    {
      "commit": "d67a18bb0716b6dca1cfcfced39c65ac3b41a6e3",
      "tree": "16967a58a9939ff8e9a87e50d9be658469b6581b",
      "parents": [
        "0d2145a0f37da869fcc4754e41b1b8e0618679ea"
      ],
      "author": {
        "name": "Scott Moser",
        "email": "smoser@ubuntu.com",
        "time": "Fri Oct 07 14:44:38 2011 +0000"
      },
      "committer": {
        "name": "Scott Moser",
        "email": "smoser@brickies.net",
        "time": "Wed Oct 12 08:52:09 2011 -0400"
      },
      "message": "make sure apt-get update is run\n\nPreviously, the only path that would only ensure that \u0027apt-get update\u0027\nwas run was when the stack user was created.\n\nArchives can be out of date, apt-get should be run.\n"
    },
    {
      "commit": "0d2145a0f37da869fcc4754e41b1b8e0618679ea",
      "tree": "f52999693d57d08e73c9f833dba264447d38c7b1",
      "parents": [
        "7c481189bdeda3c79029b1b47d8edd1bf8bd50fa"
      ],
      "author": {
        "name": "Scott Moser",
        "email": "smoser@ubuntu.com",
        "time": "Fri Oct 07 15:18:10 2011 +0000"
      },
      "committer": {
        "name": "Scott Moser",
        "email": "smoser@brickies.net",
        "time": "Wed Oct 12 08:52:09 2011 -0400"
      },
      "message": "some improvements to \u0027create stack user\u0027 path\n\n* Increase the timeout from 3 to 10, so user has a bigger chance\n  to kill the script if being run interactively before a \u0027stack\u0027\n  user is created.\n* explicitly ask \u0027getent\u0027 for the stack user rather than getting\n  all users and grepping (which would match an \"openstack\" user,\n  or a user named \"bob.stack\")\n* use $PWD rather than `pwd`\n* create file in sudoers.d rather than modifying /etc/sudoers.\n"
    },
    {
      "commit": "7c481189bdeda3c79029b1b47d8edd1bf8bd50fa",
      "tree": "b25e35327bd01a0beda0ce29761ebbb91a49037e",
      "parents": [
        "c4e47ab8586069dea52b86fa939ad8a8deeacc2e"
      ],
      "author": {
        "name": "Scott Moser",
        "email": "smoser@ubuntu.com",
        "time": "Fri Oct 07 13:50:21 2011 +0000"
      },
      "committer": {
        "name": "Scott Moser",
        "email": "smoser@brickies.net",
        "time": "Wed Oct 12 08:41:17 2011 -0400"
      },
      "message": "log output of stack.sh to logfile in current dir\n\nuse the variable LOGFILE to log stack.sh output for debugging\n"
    },
    {
      "commit": "c4e47ab8586069dea52b86fa939ad8a8deeacc2e",
      "tree": "9748999929cba4275a66126e9faafa194f41b18b",
      "parents": [
        "94c889ac1587e2e5096c4472e4a4385dfd76d331"
      ],
      "author": {
        "name": "Scott Moser",
        "email": "smoser@ubuntu.com",
        "time": "Fri Oct 07 13:29:29 2011 +0000"
      },
      "committer": {
        "name": "Scott Moser",
        "email": "smoser@brickies.net",
        "time": "Wed Oct 12 08:39:44 2011 -0400"
      },
      "message": "simplify script duration output\n\nBash contains a variable \u0027SECONDS\u0027 that indicates how long\nthe current shell has been alive.  It seems sane to just use that\nto indicate to the user how long the script took.\n"
    },
    {
      "commit": "66b8bbcbd85cefb044a3be54cd84d72fcb6b63be",
      "tree": "02352dd73e8c17802600c4eb4f89463a3ed8ba85",
      "parents": [
        "6015c82a2b3f0221f1f85e530878d2d0b70a2980"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Wed Oct 12 07:21:41 2011 +0000"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Wed Oct 12 07:21:41 2011 +0000"
      },
      "message": "update msg\n"
    },
    {
      "commit": "6015c82a2b3f0221f1f85e530878d2d0b70a2980",
      "tree": "8b32741e4d868960366e707782f7960a2914044e",
      "parents": [
        "7a549f40f5ce17dbee0274f2e9adc664394b0ab5"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Wed Oct 12 07:17:11 2011 +0000"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Wed Oct 12 07:17:11 2011 +0000"
      },
      "message": "use hard path to localrc\n"
    },
    {
      "commit": "7a549f40f5ce17dbee0274f2e9adc664394b0ab5",
      "tree": "e66f294d24885a7dd0a9d102bb9dc97c5c81d23a",
      "parents": [
        "94c889ac1587e2e5096c4472e4a4385dfd76d331"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Wed Oct 12 07:13:13 2011 +0000"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Wed Oct 12 07:13:13 2011 +0000"
      },
      "message": "Prompt users for passwords, and write those passwords to localrc\n"
    },
    {
      "commit": "9a60bfac1ecbbc858a0cbb932f88c046e3a65974",
      "tree": "4f570cbce1c224db459e44487e86e440a1456d19",
      "parents": [
        "274ec1022ec5bdff6bf96503fab6d17ad9d1005a"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Tue Oct 11 20:34:07 2011 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Tue Oct 11 20:34:07 2011 -0500"
      },
      "message": "Cleanups\n"
    },
    {
      "commit": "274ec1022ec5bdff6bf96503fab6d17ad9d1005a",
      "tree": "4fbce3d6cce6eca5e87801ad6413202d61067afc",
      "parents": [
        "5611951aefba515a994b1600ff4dd21e5a601cff"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Tue Oct 11 20:32:07 2011 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Tue Oct 11 20:32:07 2011 -0500"
      },
      "message": "Add build_usb_boot.sh\n"
    },
    {
      "commit": "dd6636be060edb782e09a86364ad3b7db63c7d63",
      "tree": "da0eaefabfbe1009722fd16cd2d1746a36aed258",
      "parents": [
        "5611951aefba515a994b1600ff4dd21e5a601cff"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Tue Oct 11 20:28:39 2011 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Tue Oct 11 20:28:39 2011 -0500"
      },
      "message": "Cleanup PXE boot config\n"
    },
    {
      "commit": "5611951aefba515a994b1600ff4dd21e5a601cff",
      "tree": "e45d4cb2a42d525b860462167a1e946f8051c444",
      "parents": [
        "336e0001a6dc807e024aebb3b5eb6d9d6fb26e49"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Tue Oct 11 19:39:34 2011 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Tue Oct 11 19:45:58 2011 -0500"
      },
      "message": "Move utility scripts to tools/\n"
    },
    {
      "commit": "336e0001a6dc807e024aebb3b5eb6d9d6fb26e49",
      "tree": "e9a9c31495ebf5b4ad22408151c84fdc52447e7b",
      "parents": [
        "66e2aa2c736e4b3999a08fa5222118216c0a3d07",
        "94c889ac1587e2e5096c4472e4a4385dfd76d331"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Tue Oct 11 17:57:16 2011 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Tue Oct 11 17:57:16 2011 -0500"
      },
      "message": "Merge remote-tracking branch \u0027upstream/master\u0027 into rcb-master\n"
    },
    {
      "commit": "66e2aa2c736e4b3999a08fa5222118216c0a3d07",
      "tree": "4b825dc642cb6eb9a060e54bf8d69288fbee4904",
      "parents": [],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Tue Oct 11 17:57:01 2011 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Tue Oct 11 17:57:01 2011 -0500"
      },
      "message": "Create RCB master branch\n"
    },
    {
      "commit": "94c889ac1587e2e5096c4472e4a4385dfd76d331",
      "tree": "e9a9c31495ebf5b4ad22408151c84fdc52447e7b",
      "parents": [
        "65bb9a93453fdc8f8ec54456f11618afb7c28b10"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Tue Oct 11 18:07:48 2011 +0000"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Tue Oct 11 18:07:48 2011 +0000"
      },
      "message": "make glance client work in exercise.sh\n"
    },
    {
      "commit": "65bb9a93453fdc8f8ec54456f11618afb7c28b10",
      "tree": "3b8ab6f969aa010763b290e1d18175365e5537cd",
      "parents": [
        "461bfdc89f9dc715556c1e5c5b3ab4af7530ebd4",
        "74c084cd1c29d339310a457e2e61d473a231b3de"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Mon Oct 10 13:35:22 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Mon Oct 10 13:35:22 2011 -0700"
      },
      "message": "Merge pull request #51 from jeblair/master\n\nAdd option not to run bash after execing stack.sh"
    },
    {
      "commit": "74c084cd1c29d339310a457e2e61d473a231b3de",
      "tree": "3b8ab6f969aa010763b290e1d18175365e5537cd",
      "parents": [
        "461bfdc89f9dc715556c1e5c5b3ab4af7530ebd4"
      ],
      "author": {
        "name": "James E. Blair",
        "email": "james.blair@rackspace.com",
        "time": "Mon Oct 10 08:06:14 2011 -0500"
      },
      "committer": {
        "name": "James E. Blair",
        "email": "james.blair@rackspace.com",
        "time": "Mon Oct 10 08:06:14 2011 -0500"
      },
      "message": "Add option not to run bash after execing stack.sh\n\nIf stack.sh is run as root, it execs stack.sh as stack, but also\nruns bash after doing so to provide a prompt as the stack user.\n\nIn unattended installations this isn\u0027t desired as it will prevent\nthe original job from completing.\n\nThis change adds a paremeter \"SHELL_AFTER_RUN\" which can be set\nto \"no\" to prevent the final invocation of bash.\n"
    },
    {
      "commit": "461bfdc89f9dc715556c1e5c5b3ab4af7530ebd4",
      "tree": "a16fd6890b2d67a01168befad9621b38baa10575",
      "parents": [
        "e4304238c201ea22eaea1d17d7d693f58799eae6"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Sun Oct 09 17:50:38 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Sun Oct 09 17:50:38 2011 -0700"
      },
      "message": "delete instances needs sudo\n"
    },
    {
      "commit": "e4304238c201ea22eaea1d17d7d693f58799eae6",
      "tree": "c5df6f4a9151ed080f6f4553f2b1347382ffd18a",
      "parents": [
        "0edde7d44f87ebf2f9a48f840a645162a8e4c2a4"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Fri Oct 07 10:34:32 2011 -0400"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Fri Oct 07 10:34:32 2011 -0400"
      },
      "message": "only mount cgroups if you haven\u0027t already\n"
    },
    {
      "commit": "0edde7d44f87ebf2f9a48f840a645162a8e4c2a4",
      "tree": "30c0bf68b450da4a8632351d7ecc15b3ddf123d6",
      "parents": [
        "1c598da60869680b834d6f93166f6c412026598a"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Thu Oct 06 07:10:24 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Thu Oct 06 07:10:24 2011 -0700"
      },
      "message": "use tenantName for NOVA_PROJECT_ID\n"
    },
    {
      "commit": "1c598da60869680b834d6f93166f6c412026598a",
      "tree": "32228250065452f27424e729a5896fa542f062b6",
      "parents": [
        "f2aee71a2a06ae1ad20c925854ae3107fa878e9d"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Wed Oct 05 08:07:53 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Wed Oct 05 08:07:53 2011 -0700"
      },
      "message": "call novnc with flagfile\n"
    },
    {
      "commit": "f2aee71a2a06ae1ad20c925854ae3107fa878e9d",
      "tree": "09900009caf0129e92c8e2c21c69faaf2868ca0f",
      "parents": [
        "06b7ad7c0500be13b60d0b1852517b3691afbf03"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Tue Oct 04 13:32:45 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Tue Oct 04 13:32:45 2011 -0700"
      },
      "message": "use 10 bytes for dash password, as the UI truncates at 20 characters\n"
    },
    {
      "commit": "06b7ad7c0500be13b60d0b1852517b3691afbf03",
      "tree": "52f2f7910961bafa74b17e5b0a7835e38e5dd6c2",
      "parents": [
        "0031df019d415c674d1bb8c0bf948e2eee060e21"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Tue Oct 04 13:30:19 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Tue Oct 04 13:30:19 2011 -0700"
      },
      "message": "don\u0027t require uuidgen, as it isn\u0027t always in sparse natty installs\n"
    },
    {
      "commit": "0031df019d415c674d1bb8c0bf948e2eee060e21",
      "tree": "760502e6df437f8334c9588ca92fb68ffc2f19f9",
      "parents": [
        "4b16984f3512ae03d5c232b22fd73ebda39c8e0f"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Mon Oct 03 23:10:55 2011 -0400"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Mon Oct 03 23:10:55 2011 -0400"
      },
      "message": "spacing fixes\n"
    },
    {
      "commit": "4b16984f3512ae03d5c232b22fd73ebda39c8e0f",
      "tree": "4a9ca1dfcf3324bc0519039eaa6dc5ac6b1eb099",
      "parents": [
        "2abbdd4751ef16a7e20b93f37ff0e0124ac11f00"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Mon Oct 03 22:53:45 2011 -0400"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Mon Oct 03 22:53:45 2011 -0400"
      },
      "message": "jesse sucks\n"
    },
    {
      "commit": "2abbdd4751ef16a7e20b93f37ff0e0124ac11f00",
      "tree": "a2a94648e4e6e3793de89c55f18338ba3f0c1c6a",
      "parents": [
        "0700211f9084fb7c92cb82bb66e0f4f4f78d0a6b"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Mon Oct 03 22:48:30 2011 -0400"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Mon Oct 03 22:48:30 2011 -0400"
      },
      "message": "fix comparisons\n"
    },
    {
      "commit": "0700211f9084fb7c92cb82bb66e0f4f4f78d0a6b",
      "tree": "0218f936587dc597d05cde8d7d1e226df4512991",
      "parents": [
        "647de9d3e349c09208ab048d92d8fa4ca03ca5b7"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Mon Oct 03 23:44:33 2011 -0300"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Mon Oct 03 23:44:33 2011 -0300"
      },
      "message": "devin sucks"
    },
    {
      "commit": "647de9d3e349c09208ab048d92d8fa4ca03ca5b7",
      "tree": "3eeee127be7f28382fdb5bbd4f793df80f7044d5",
      "parents": [
        "f8ebcec063a3863c2c7ca9f15aa794f1749ad53a",
        "d4a3bac8d5bbb9e54a4279f7fa74669c7fed97d0"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Mon Oct 03 19:31:42 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Mon Oct 03 19:31:42 2011 -0700"
      },
      "message": "Merge pull request #47 from dtroyer/master\n\nUpdates to build_nfs.sh and build_pxe_ramdisk.sh for common functions"
    },
    {
      "commit": "f8ebcec063a3863c2c7ca9f15aa794f1749ad53a",
      "tree": "7223865eaf7e2ed165221e12490fa4fa761b2f9b",
      "parents": [
        "5372f43387f83d890d7e416d43d826fd11581dba",
        "bfc7bdacae79df0d20b9db12323148377c8e578b"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Mon Oct 03 19:30:50 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Mon Oct 03 19:30:50 2011 -0700"
      },
      "message": "Merge pull request #44 from devcamcar/patch-1\n\nTarget Dashboard to diablo branch"
    },
    {
      "commit": "d4a3bac8d5bbb9e54a4279f7fa74669c7fed97d0",
      "tree": "ebb53997a84020b48c5e64cf73e714a390f2f85a",
      "parents": [
        "c0a6739f7e941c114b7e29e780c3850dc55cca75"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Oct 03 21:16:27 2011 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Oct 03 21:27:13 2011 -0500"
      },
      "message": "Move cache dir to /var/cache/devstack\n"
    },
    {
      "commit": "c0a6739f7e941c114b7e29e780c3850dc55cca75",
      "tree": "386c641ed65de8e35adb846fb5f0a79fd054c677",
      "parents": [
        "cf9db8da3354946b7b9c606b5e8673d9d076c4f5"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Oct 03 16:31:36 2011 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Oct 03 21:03:03 2011 -0500"
      },
      "message": "Fix two typos\n"
    },
    {
      "commit": "cf9db8da3354946b7b9c606b5e8673d9d076c4f5",
      "tree": "320767d1c337e80260edb37422412328d9f4d0d2",
      "parents": [
        "3508a3a926687bb6fa15130c736384495d2b877c"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Oct 03 13:42:16 2011 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Oct 03 14:59:57 2011 -0500"
      },
      "message": "Configure network for DHCP\n"
    },
    {
      "commit": "3508a3a926687bb6fa15130c736384495d2b877c",
      "tree": "a169515390e8348784ee5d483b8688d93088cbcf",
      "parents": [
        "10db445b3213478b7adaad368cb702dc3b05aac6"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Oct 03 11:43:28 2011 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Oct 03 11:43:28 2011 -0500"
      },
      "message": "Move PXE cache to /root/pxe\n"
    },
    {
      "commit": "10db445b3213478b7adaad368cb702dc3b05aac6",
      "tree": "a80c489dbc421eb98e9f7205340d1e2575019ea1",
      "parents": [
        "a3379e0eb13ebf3e8c25d40ea3f79a2189f8f75b"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Oct 03 11:16:32 2011 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Oct 03 11:28:05 2011 -0500"
      },
      "message": "Move ramdisk images to CHROOTCACHEDIR\n"
    },
    {
      "commit": "a3379e0eb13ebf3e8c25d40ea3f79a2189f8f75b",
      "tree": "e9adfe32778396496703dd3fb6c709ec29491bae",
      "parents": [
        "6994f9478921e3436401cc95d68e9d99d937cc85"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Oct 03 11:14:13 2011 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Oct 03 11:14:13 2011 -0500"
      },
      "message": "Default USE_CURRENT_DEVSTACK to 1\n"
    },
    {
      "commit": "6994f9478921e3436401cc95d68e9d99d937cc85",
      "tree": "50f228dae0074a1d86ba4674ffabd7342badb5a9",
      "parents": [
        "03412c8cb91c64cb2f3dcfb9316a4a952500e1e0"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Oct 03 11:03:27 2011 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Oct 03 11:03:27 2011 -0500"
      },
      "message": "Missed a save\n"
    },
    {
      "commit": "03412c8cb91c64cb2f3dcfb9316a4a952500e1e0",
      "tree": "a261768d64f885695d33bb7e307392364deb1d20",
      "parents": [
        "11e5e6fc3da3f3de78d1897ce453e74e84d10540"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Oct 03 09:56:41 2011 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Oct 03 09:56:41 2011 -0500"
      },
      "message": "Copy devstack into image\n"
    },
    {
      "commit": "11e5e6fc3da3f3de78d1897ce453e74e84d10540",
      "tree": "302d2e2d0f714c15c8ed789b0efbfa600a337b47",
      "parents": [
        "cc806544507d082c44582d3287453fa8cb79e83c"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Oct 03 09:40:32 2011 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Oct 03 09:40:32 2011 -0500"
      },
      "message": "use  for /opt/stack\n"
    },
    {
      "commit": "cc806544507d082c44582d3287453fa8cb79e83c",
      "tree": "23efb7cb2c2fdce4ad5537c1eab3ec28e7cff927",
      "parents": [
        "4cbb267679b54d83287bbe6f51f5edb5d005f4c0"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Oct 03 09:30:57 2011 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Oct 03 09:30:57 2011 -0500"
      },
      "message": "build_nfs.sh match build_pxe_ramdisk.sh\n"
    },
    {
      "commit": "4cbb267679b54d83287bbe6f51f5edb5d005f4c0",
      "tree": "70f1a3ea59a24ba9e319ce04a6bfbcc433d7c79f",
      "parents": [
        "5372f43387f83d890d7e416d43d826fd11581dba"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Oct 03 09:14:36 2011 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Oct 03 09:14:36 2011 -0500"
      },
      "message": "Move chroot cache dirs out of devstack dir\n"
    },
    {
      "commit": "5372f43387f83d890d7e416d43d826fd11581dba",
      "tree": "3ec0de856dbb1c36f8c7a3a4b46c6ca8bc1b0179",
      "parents": [
        "85d9be3a7937b87b91e83c5281b8db1137af33a2"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Mon Oct 03 01:08:24 2011 -0400"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Mon Oct 03 01:08:24 2011 -0400"
      },
      "message": "update readmes\n"
    },
    {
      "commit": "85d9be3a7937b87b91e83c5281b8db1137af33a2",
      "tree": "6e46b2335fb7adca49a54b35d2a1d56b9f694072",
      "parents": [
        "08e8b74588257abf9a04baf04c7315235e06144c"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Mon Oct 03 00:01:28 2011 -0400"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Mon Oct 03 00:01:28 2011 -0400"
      },
      "message": "document images upload\n"
    },
    {
      "commit": "bfc7bdacae79df0d20b9db12323148377c8e578b",
      "tree": "ddc86c2bbdf2b574440b309a739f28386dc1bc83",
      "parents": [
        "08e8b74588257abf9a04baf04c7315235e06144c"
      ],
      "author": {
        "name": "Devin Carlen",
        "email": "devin.carlen@gmail.com",
        "time": "Sun Oct 02 20:44:39 2011 -0700"
      },
      "committer": {
        "name": "Devin Carlen",
        "email": "devin.carlen@gmail.com",
        "time": "Sun Oct 02 20:44:39 2011 -0700"
      },
      "message": "Target Dashboard to diablo branch"
    },
    {
      "commit": "08e8b74588257abf9a04baf04c7315235e06144c",
      "tree": "590ebaf7121849afb95330058605a8e165bc3665",
      "parents": [
        "a5e5f2a680e07cd0019f0751728297e312c3a6ea"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Sun Oct 02 23:42:56 2011 -0400"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Sun Oct 02 23:42:56 2011 -0400"
      },
      "message": "add uec-natty\n"
    },
    {
      "commit": "a5e5f2a680e07cd0019f0751728297e312c3a6ea",
      "tree": "f0810085e57f427ab8374107e824846a2da0be71",
      "parents": [
        "2ff3f59e5b78c3ac54f628d6faa40c614bff6fc6"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Sun Oct 02 21:07:08 2011 -0400"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Sun Oct 02 21:07:08 2011 -0400"
      },
      "message": "attempt to get the id from glance redux\n"
    },
    {
      "commit": "2ff3f59e5b78c3ac54f628d6faa40c614bff6fc6",
      "tree": "507285392988ed279aec8bd5cd30f41825e5341b",
      "parents": [
        "014e9130dbdcaa1a10db37f4af8b912e50345a92"
      ],
      "author": {
        "name": "Andy Smith",
        "email": "github@anarkystic.com",
        "time": "Sun Oct 02 21:05:01 2011 -0300"
      },
      "committer": {
        "name": "Andy Smith",
        "email": "github@anarkystic.com",
        "time": "Sun Oct 02 21:05:01 2011 -0300"
      },
      "message": "TODO: fix parsing of glance results"
    }
  ],
  "next": "014e9130dbdcaa1a10db37f4af8b912e50345a92"
}
