)]}'
{
  "log": [
    {
      "commit": "7ddf036bc52339f9e054c383ff73227260910af0",
      "tree": "0e1fb285d6aeb28b8e678e7a9906f4f783d3f277",
      "parents": [
        "122593968ac5776cdf0abe33fcd961563e464b32"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 17 10:59:09 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 17 21:14:47 2014 -0400"
      },
      "message": "Implement images.Get(). Image tests now pass.\n"
    },
    {
      "commit": "122593968ac5776cdf0abe33fcd961563e464b32",
      "tree": "b54f095e900700c48e8a7fe81a4d52123878fa7e",
      "parents": [
        "fd043791f18638d73d865ddb485e44e1d85cabf2"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 17 10:50:02 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 17 21:14:47 2014 -0400"
      },
      "message": "The server test passes again.\n"
    },
    {
      "commit": "fd043791f18638d73d865ddb485e44e1d85cabf2",
      "tree": "2724610487a52b5c8fe56d2b7bdaadcb0c7468cd",
      "parents": [
        "01626a3deba7dad63d6862f3963926874e5fdbfc"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 17 10:40:17 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 17 21:14:47 2014 -0400"
      },
      "message": "Rename ListResult(s) to ListPage.\n"
    },
    {
      "commit": "01626a3deba7dad63d6862f3963926874e5fdbfc",
      "tree": "aa25533399fb334403d114ba0b7441b4b51294f0",
      "parents": [
        "9ccf9b6fe080bfa6cae51035dc1a4b8c0c9d478f"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 17 10:38:07 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 17 21:14:47 2014 -0400"
      },
      "message": "Use clients and pagination for Servers, too.\n\nWhew.\n"
    },
    {
      "commit": "9ccf9b6fe080bfa6cae51035dc1a4b8c0c9d478f",
      "tree": "be7163c1dc414067367fb12f20d3cb482f132af8",
      "parents": [
        "16e75eff15e4f6e17e45cb9a833bc71e9c7bb1e0"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 17 10:07:52 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 17 21:14:47 2014 -0400"
      },
      "message": "Ditto for Images.\n\nI\u0027m guessing that the images service also uses marker-and-limit pagination. I\u0027ll have to\ncheck when I\u0027m less :airplane:.\n"
    },
    {
      "commit": "16e75eff15e4f6e17e45cb9a833bc71e9c7bb1e0",
      "tree": "3f38e9eedb1fb768dd1213eca073206d95b3e6f1",
      "parents": [
        "5e57c1be44e3e7d61cf0cfcfedaa8b8ad3088eb4"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 17 09:54:57 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 17 21:14:47 2014 -0400"
      },
      "message": "Use ServiceClient and pagination in Flavor operations.\n"
    },
    {
      "commit": "5e57c1be44e3e7d61cf0cfcfedaa8b8ad3088eb4",
      "tree": "78335101729517c31af38c289beed2b288292549",
      "parents": [
        "41cfcdcc023e5c0aebcdeb8ad338663dad402cc8"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 17 09:24:46 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 17 21:14:46 2014 -0400"
      },
      "message": "Create an Openstack Compute client.\n"
    },
    {
      "commit": "41cfcdcc023e5c0aebcdeb8ad338663dad402cc8",
      "tree": "b2583fe27c659528209d57d63af99a8ca6a4e188",
      "parents": [
        "34794555114fb1e3b5525d26bb2c568bad7be58b",
        "d88186c46208b22513b3c6443e188157eb2cd8b2"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 16 16:13:29 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 16 16:13:29 2014 -0400"
      },
      "message": "Merge pull request #203 from smashwilson/paginate-storage\n\nMark-and-limit pagination and storage"
    },
    {
      "commit": "d88186c46208b22513b3c6443e188157eb2cd8b2",
      "tree": "b2583fe27c659528209d57d63af99a8ca6a4e188",
      "parents": [
        "ca6f75642cd3d8794715ed4287b5cdab9c542083"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 16 15:44:13 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 16 15:44:13 2014 -0400"
      },
      "message": "Adjust storage acceptance tests accordingly.\n"
    },
    {
      "commit": "ca6f75642cd3d8794715ed4287b5cdab9c542083",
      "tree": "2016f34bd8aadfedb6da061ee976341ee895e37d",
      "parents": [
        "da7c09f6dc8111a8c4360d5c0ca146366799d837"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 16 15:43:54 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 16 15:43:54 2014 -0400"
      },
      "message": "Paginate the objects.List call.\n"
    },
    {
      "commit": "da7c09f6dc8111a8c4360d5c0ca146366799d837",
      "tree": "a276ca546a429137b7918f9b3a64eea71cf5f0ac",
      "parents": [
        "0faafccfa6b3dedc3a200450fe3dac987877d825"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 16 15:20:44 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 16 15:20:44 2014 -0400"
      },
      "message": "Update the acceptance tests to use pagination.\n"
    },
    {
      "commit": "0faafccfa6b3dedc3a200450fe3dac987877d825",
      "tree": "8aef2220d4b021ca53cdba81a7a0d24f34680a96",
      "parents": [
        "a74024709d4c44521fa069196409b10f70362177"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 16 15:20:17 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 16 15:20:17 2014 -0400"
      },
      "message": "Paginate the results of containers.List().\n"
    },
    {
      "commit": "a74024709d4c44521fa069196409b10f70362177",
      "tree": "2b3ff4a0dfd9f6598c47e55e45901c4f72711ac3",
      "parents": [
        "cd95a0c9154d011610dbed0d56bb2eb3390bf232"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 16 15:18:34 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 16 15:18:49 2014 -0400"
      },
      "message": "Allow implementation code to specify headers.\n"
    },
    {
      "commit": "cd95a0c9154d011610dbed0d56bb2eb3390bf232",
      "tree": "97785003d330be1af87071cf5d17d31d1f56102e",
      "parents": [
        "7049af4c36bdbfeb38ab4cb1a41bb5d28ed23b6c"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 16 13:07:31 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 16 13:07:31 2014 -0400"
      },
      "message": "Adjust callers again.\n"
    },
    {
      "commit": "7049af4c36bdbfeb38ab4cb1a41bb5d28ed23b6c",
      "tree": "babe08b3956fd891192edfc85d0eef9490618312",
      "parents": [
        "58c4f6761fd6177a29462bbbd9136a7f5e051d72"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 16 13:04:48 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 16 13:04:48 2014 -0400"
      },
      "message": "Turns out I can eliminate NewXyzPager funcs.\n"
    },
    {
      "commit": "58c4f6761fd6177a29462bbbd9136a7f5e051d72",
      "tree": "383820994a30bfbc6767695cf2d2647efffd1020",
      "parents": [
        "7486351f84e689e694fa2a5788dc51582b3406b9"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 16 11:50:56 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 16 11:50:56 2014 -0400"
      },
      "message": "Rename \"Self\" to \"Owner\".\n"
    },
    {
      "commit": "7486351f84e689e694fa2a5788dc51582b3406b9",
      "tree": "e538100df2db3e3d9edaff2b635d909c69cad198",
      "parents": [
        "387d1bda99d77818d7a412dd579f33a2dd27ad4b"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 16 11:45:51 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 16 11:45:51 2014 -0400"
      },
      "message": "Rename `LastMark` to `LastMarker`.\n"
    },
    {
      "commit": "387d1bda99d77818d7a412dd579f33a2dd27ad4b",
      "tree": "1aaf344452669a0709cb767d99678c8f54bcaa80",
      "parents": [
        "3c8cc77770c9e8798c0dee7a17f9f93145db52db"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 16 11:43:24 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 16 11:43:24 2014 -0400"
      },
      "message": "Update acceptance tests.\n"
    },
    {
      "commit": "3c8cc77770c9e8798c0dee7a17f9f93145db52db",
      "tree": "6ec582caa65ddf573ff6262098657c8b723bb568",
      "parents": [
        "c8e68871919567d3a36145a3acf58d9cb636b6cc"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 16 11:40:49 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 16 11:40:49 2014 -0400"
      },
      "message": "Change identity endpoints and services.\n"
    },
    {
      "commit": "c8e68871919567d3a36145a3acf58d9cb636b6cc",
      "tree": "4e8d994f2a87daf84bc3cbcaa03d6bb98792b2e3",
      "parents": [
        "c93fde7d5a05ff650dd86a7d80551e36d97daa91"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 16 10:36:56 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 16 10:36:56 2014 -0400"
      },
      "message": "Move pagination to its own package.\n"
    },
    {
      "commit": "c93fde7d5a05ff650dd86a7d80551e36d97daa91",
      "tree": "6899a7b91a63870b0eb6f855deccf75f6c11f710",
      "parents": [
        "ab6be617dbe22e66124bda2381fb09725b09d51b"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 16 10:06:22 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 16 10:06:22 2014 -0400"
      },
      "message": "Use base structs and embedding.\n"
    },
    {
      "commit": "ab6be617dbe22e66124bda2381fb09725b09d51b",
      "tree": "36c538923f7123d8a96e983945b3fdd0e2f18261",
      "parents": [
        "5a25f5482718530716918b56d1b6d4b716179c95"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 15 15:51:22 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 15 15:51:22 2014 -0400"
      },
      "message": "Adjust callers to match.\n"
    },
    {
      "commit": "5a25f5482718530716918b56d1b6d4b716179c95",
      "tree": "247a22bd2b54ca6a646bbba195a057e77d075c68",
      "parents": [
        "993cf3295ff2dca20807d08bd531baa2589defb9"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 15 15:43:20 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 15 15:43:20 2014 -0400"
      },
      "message": "Use closures to count and mark.\n"
    },
    {
      "commit": "993cf3295ff2dca20807d08bd531baa2589defb9",
      "tree": "691ed9c98fb216d95c438a95ed9180872f974f1d",
      "parents": [
        "34794555114fb1e3b5525d26bb2c568bad7be58b"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 15 14:34:12 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 15 14:37:25 2014 -0400"
      },
      "message": "Initial implementation of MarkerPage.\n"
    },
    {
      "commit": "34794555114fb1e3b5525d26bb2c568bad7be58b",
      "tree": "684467f711863aebd5fc1c67263736a08f0955c9",
      "parents": [
        "0f79dcf47699b63eeea50a0f93594a6b4b86b722",
        "0f26e5c2d5caeab5636e2110b4a2a2be458e9e22"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 15 10:48:23 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 15 10:48:23 2014 -0400"
      },
      "message": "Merge pull request #201 from jamiehannaford/test-helper-convenience\n\nAdding test helper functions"
    },
    {
      "commit": "0f79dcf47699b63eeea50a0f93594a6b4b86b722",
      "tree": "872d69ce146c965481077803592f23598a5120c9",
      "parents": [
        "50737d6965ebafbe0aee99d5140eb90c229a86cd",
        "f52b08b66bd5f35cebb22d1ed8f5415c7db6a99b"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Mon Sep 15 16:39:53 2014 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Mon Sep 15 16:39:53 2014 +0200"
      },
      "message": "Merge pull request #200 from smashwilson/pagination-improvements-question-mark\n\n[wip] Alternative pagination idiom"
    },
    {
      "commit": "f52b08b66bd5f35cebb22d1ed8f5415c7db6a99b",
      "tree": "872d69ce146c965481077803592f23598a5120c9",
      "parents": [
        "36986c6f5690f568e5ef8e4ff9e1a9bb0648d0fc"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 15 10:00:43 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 15 10:11:07 2014 -0400"
      },
      "message": "Parse into an `interface{}` to accommodate arrays.\n"
    },
    {
      "commit": "36986c6f5690f568e5ef8e4ff9e1a9bb0648d0fc",
      "tree": "588b868ed1be921d0ea5765d4fea9ea8207e4340",
      "parents": [
        "a99685f70d166df1b15e8c581ba775fabd6c2fe2"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 15 09:56:34 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 15 10:11:07 2014 -0400"
      },
      "message": "Shuffle around source organization.\n\nUtility -\u003e Pages -\u003e Pagers\n"
    },
    {
      "commit": "a99685f70d166df1b15e8c581ba775fabd6c2fe2",
      "tree": "aa94d7017b3da794fac8ed0248de407057f6aeff",
      "parents": [
        "152d75a1a694e9d1387493a9a13a52b7d3a8c5af"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 15 09:49:00 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 15 10:11:07 2014 -0400"
      },
      "message": "Rename collections files to pagination.\n"
    },
    {
      "commit": "152d75a1a694e9d1387493a9a13a52b7d3a8c5af",
      "tree": "8808dfc265bc368d6e50c3c25c1dffb6919eb21c",
      "parents": [
        "4bf4fac974d521f2ddf63c30cd07bd79f37d355d"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 15 09:35:03 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 15 10:11:07 2014 -0400"
      },
      "message": "Remove the closures from the New.*Pager calls.\n"
    },
    {
      "commit": "4bf4fac974d521f2ddf63c30cd07bd79f37d355d",
      "tree": "d49feeffd3359256139a60f4a05a32d3e69424ef",
      "parents": [
        "18f32523143c5abeb81624806ff1add4b79afa47"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 15 09:16:13 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 15 10:11:07 2014 -0400"
      },
      "message": "Root package tests pass.\n"
    },
    {
      "commit": "18f32523143c5abeb81624806ff1add4b79afa47",
      "tree": "c8054c4bff5bfb9d542b9967b34a630f449fe01a",
      "parents": [
        "e0ba5b78835a63ea7816b49e15ff76847840347c"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 15 08:52:12 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 15 10:11:07 2014 -0400"
      },
      "message": ":fire: the closure arguments.\n\nThey\u0027re all the same anyway.\n"
    },
    {
      "commit": "e0ba5b78835a63ea7816b49e15ff76847840347c",
      "tree": "ca800317bdd58c92315c6900949098ada0de6c5e",
      "parents": [
        "3658d38d73914f94f679dfa6feb50e186ab5050e"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 15 08:13:52 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 15 10:11:07 2014 -0400"
      },
      "message": "Rename ConcretePage to LastHTTPResponse.\n"
    },
    {
      "commit": "3658d38d73914f94f679dfa6feb50e186ab5050e",
      "tree": "adc902607f2dade472acdb7d1fb89c19b1521def",
      "parents": [
        "3be15e13fc445bdf35e19e15e5345aa5ad3aa044"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 15 08:12:33 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 15 10:11:07 2014 -0400"
      },
      "message": "Rename `advance` to `fetchNextPage`.\n"
    },
    {
      "commit": "3be15e13fc445bdf35e19e15e5345aa5ad3aa044",
      "tree": "6d1b25a00ec18166be830ee014c0183789023026",
      "parents": [
        "6b35e50127d2165e4ee304ba4dccd122697e8a35"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Sep 12 15:25:21 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 15 10:11:07 2014 -0400"
      },
      "message": "Bring acceptance tests up to date.\n"
    },
    {
      "commit": "6b35e50127d2165e4ee304ba4dccd122697e8a35",
      "tree": "b2c5edbc8fe40a3621230b85e5bd768f89b8951f",
      "parents": [
        "566613ec83571bf1089c3e9c563f80f63b22a951"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Sep 12 15:15:23 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 15 10:11:07 2014 -0400"
      },
      "message": "Add an error return to the EachPage closure.\n\nBecause the Extract functions, at the very least, have an error parameter, and it\u0027s\nkind of a pain to capture it outside the closure.\n"
    },
    {
      "commit": "566613ec83571bf1089c3e9c563f80f63b22a951",
      "tree": "e2e108b89ff985fa5ecfce892f5860cdf4b8079e",
      "parents": [
        "6269f2541b3fc4a1a524fd513ba80225ed5a6a16"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Sep 12 14:51:46 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 15 10:11:07 2014 -0400"
      },
      "message": "Consume the new pagination in openstack.Client.\n"
    },
    {
      "commit": "6269f2541b3fc4a1a524fd513ba80225ed5a6a16",
      "tree": "836fb43fe59ce7832b7b240ae5bad1068ba958b0",
      "parents": [
        "bddac13953144d485a90e4f9cba9d2bb9ed37f70"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Sep 12 14:33:56 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 15 10:11:07 2014 -0400"
      },
      "message": "Repaginate the identity/3/endpoints resource.\n"
    },
    {
      "commit": "bddac13953144d485a90e4f9cba9d2bb9ed37f70",
      "tree": "f56309610e78bd780e62bd40cad0586693079d06",
      "parents": [
        "583dc733f5e4657df30fe768ae8110aa67ed177d"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Sep 12 14:20:16 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 15 10:11:07 2014 -0400"
      },
      "message": "Use the new pagination in identity/3/services.\n"
    },
    {
      "commit": "583dc733f5e4657df30fe768ae8110aa67ed177d",
      "tree": "2a7711eede5868c93a5dd54e38985cf63b562e72",
      "parents": [
        "976d2e66e4b28a7bc062fd3721bd8b81912813d7"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Sep 12 13:30:05 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 15 10:11:07 2014 -0400"
      },
      "message": "Rename PaginatedLinksPage as LinkedPage.\n\nMainly because it\u0027s shorter.\n"
    },
    {
      "commit": "976d2e66e4b28a7bc062fd3721bd8b81912813d7",
      "tree": "27de90a5643382e1818a106be7aac48241f61fe5",
      "parents": [
        "75eae572af680e70d02b47689140e707bcf87f87"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Sep 12 13:29:29 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 15 10:11:07 2014 -0400"
      },
      "message": "NextPageURL also returns an error.\n\nThis is useful if the JSON parse fails, for example.\n"
    },
    {
      "commit": "75eae572af680e70d02b47689140e707bcf87f87",
      "tree": "d2c43feadf2f717aace6665743396e86acd9dd51",
      "parents": [
        "5bf6f66b4e153068756ada81bd1ca89af0fe27e9"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Sep 12 12:34:21 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 15 10:11:07 2014 -0400"
      },
      "message": "This passes, but I still want result types...\n"
    },
    {
      "commit": "5bf6f66b4e153068756ada81bd1ca89af0fe27e9",
      "tree": "ff29a6b6c7cd5a872eb857c2d8f746d099cc3254",
      "parents": [
        "e30b76b9b1e02d65f2393d2692cddb1afc27336c"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Sep 12 12:31:17 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 15 10:11:07 2014 -0400"
      },
      "message": "Concrete Pagers strategy :wrench:\n"
    },
    {
      "commit": "e30b76b9b1e02d65f2393d2692cddb1afc27336c",
      "tree": "e2fafa2c01e0c628754bd6ef14b798c84641a1b3",
      "parents": [
        "50737d6965ebafbe0aee99d5140eb90c229a86cd"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Sep 12 08:36:17 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 15 10:11:06 2014 -0400"
      },
      "message": "Testing out a new pagination idiom.\n"
    },
    {
      "commit": "50737d6965ebafbe0aee99d5140eb90c229a86cd",
      "tree": "69e771918a65cfc71d8171813f94f14c0e6e31e8",
      "parents": [
        "3cab6339e3bbfbf75a71f954ec417eed52dbe866",
        "d8aef1baae4434f93a62ae082df1b34bf186af53"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 15 10:10:15 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 15 10:10:15 2014 -0400"
      },
      "message": "Merge pull request #202 from smashwilson/fix-tests\n\nRemove Content-Type expectation from the Get token test"
    },
    {
      "commit": "d8aef1baae4434f93a62ae082df1b34bf186af53",
      "tree": "69e771918a65cfc71d8171813f94f14c0e6e31e8",
      "parents": [
        "3cab6339e3bbfbf75a71f954ec417eed52dbe866"
      ],
      "author": {
        "name": "Jon Perritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Sep 11 17:50:04 2014 -0500"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 15 10:02:18 2014 -0400"
      },
      "message": "remove Content-Type expectation from Get token test\n"
    },
    {
      "commit": "0f26e5c2d5caeab5636e2110b4a2a2be458e9e22",
      "tree": "0ec13932e87348feb7d2a3f8d1f7aad7c0caf086",
      "parents": [
        "6bcf2582eeef037cf9d049064baf72ec022900b4"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Mon Sep 15 15:46:58 2014 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Mon Sep 15 15:46:58 2014 +0200"
      },
      "message": "Changes to names based on code review\n"
    },
    {
      "commit": "6bcf2582eeef037cf9d049064baf72ec022900b4",
      "tree": "81a419d93974fe3970d9f98b01c9340f00e13763",
      "parents": [
        "2964aed5ba7f0129e916362dbe092c8a97b4cd93"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Mon Sep 15 12:52:51 2014 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Mon Sep 15 12:52:51 2014 +0200"
      },
      "message": "Adding deep compare\n"
    },
    {
      "commit": "2964aed5ba7f0129e916362dbe092c8a97b4cd93",
      "tree": "5c0022f0d05841df87d136d7351cfd2dbf0ee674",
      "parents": [
        "b2b237fff73f0bf7c2a89224e3caa56f8afdcfc3"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Mon Sep 15 12:20:02 2014 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Mon Sep 15 12:20:02 2014 +0200"
      },
      "message": "Add comments\n"
    },
    {
      "commit": "b2b237fff73f0bf7c2a89224e3caa56f8afdcfc3",
      "tree": "7c4546f382d863cc2c5678b5e2d34167c6c34f69",
      "parents": [
        "3cab6339e3bbfbf75a71f954ec417eed52dbe866"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Mon Sep 15 12:17:47 2014 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Mon Sep 15 12:17:47 2014 +0200"
      },
      "message": "Adding convenience methods to reduce test duplication\n"
    },
    {
      "commit": "3cab6339e3bbfbf75a71f954ec417eed52dbe866",
      "tree": "969d9bd0ccc93ef3e9b38d2ee1c8aa4da0b81682",
      "parents": [
        "2264e9da6467a1d6d77f2c62dbbf50610985f221",
        "aca58d888f934b56b877702e7f58e771c1c53468"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Sep 10 18:41:07 2014 -0500"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Sep 10 18:41:07 2014 -0500"
      },
      "message": "Merge pull request #198 from smashwilson/storage-consistency\n\nStorage consistency"
    },
    {
      "commit": "aca58d888f934b56b877702e7f58e771c1c53468",
      "tree": "8e1f8cc401d31031065c7f8ecc373c003e71ffe4",
      "parents": [
        "d88f32ba5655e93f9e2eb8848e61b245edb98ca6"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 10 17:00:35 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 10 17:00:35 2014 -0400"
      },
      "message": "Normalize endpoint URLs during endpoint location.\n\nRefactor URL normalization into a private function.\n"
    },
    {
      "commit": "d88f32ba5655e93f9e2eb8848e61b245edb98ca6",
      "tree": "4fc72e717d2458de950f4c42fd2a6f67f97c89fd",
      "parents": [
        "a26eea0caa3e204ef1604942ec85e67b20abc50f"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 10 16:59:58 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 10 16:59:58 2014 -0400"
      },
      "message": "Use the new EndpointOpts service instantiation.\n"
    },
    {
      "commit": "a26eea0caa3e204ef1604942ec85e67b20abc50f",
      "tree": "2cc2e6e7d482e1d1f4550cd666633ea9e95082ea",
      "parents": [
        "fc96135d0d2c1bb3eb79fe6364666912c842536d"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 10 16:21:49 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 10 16:42:38 2014 -0400"
      },
      "message": "Working on the acceptance test, now.\n\nBuilds but does not pass.\n"
    },
    {
      "commit": "2264e9da6467a1d6d77f2c62dbbf50610985f221",
      "tree": "82736dcbb017ca32f9da4dff8d7fe166c969b154",
      "parents": [
        "65fcb7a5ce8ed05d3de786aa28f2d9238c6ccca9",
        "f1bfb907acd7d680e01fc5f8ff462a2e4371a794"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Sep 10 15:42:07 2014 -0500"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Sep 10 15:42:07 2014 -0500"
      },
      "message": "Merge pull request #197 from smashwilson/rename-interface\n\n\"Availability\" documentation fixes"
    },
    {
      "commit": "fc96135d0d2c1bb3eb79fe6364666912c842536d",
      "tree": "aa69afc76271bfa15c9e4eb077423300ba247e5e",
      "parents": [
        "e47ea9e57fa34c14175dc294242d62e5b59f91fd"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 10 16:19:59 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 10 16:39:25 2014 -0400"
      },
      "message": "Put something non-test in acceptance/../identity/v3.\n"
    },
    {
      "commit": "e47ea9e57fa34c14175dc294242d62e5b59f91fd",
      "tree": "a83a9fdda0be77da6a2425e1814de32c4205e6fb",
      "parents": [
        "604320eb90b875b843cc03a55d25eee8e60cb995"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 10 16:03:44 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 10 16:39:25 2014 -0400"
      },
      "message": "Use the ServiceClient to generate URLs.\n\nAdd OkCodes to all of the perigee requests.\n"
    },
    {
      "commit": "604320eb90b875b843cc03a55d25eee8e60cb995",
      "tree": "98b2270cd73683d73a115f72332e16c9d3c1ad6f",
      "parents": [
        "65fcb7a5ce8ed05d3de786aa28f2d9238c6ccca9"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 10 16:02:28 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 10 16:39:25 2014 -0400"
      },
      "message": "Use gophercloud.ServiceClient in storage V1.\n"
    },
    {
      "commit": "65fcb7a5ce8ed05d3de786aa28f2d9238c6ccca9",
      "tree": "68ad3f72abf824f9f892b283bf9903a1177756c9",
      "parents": [
        "2dff1729b80d678df617ce40fa00812ab3fc4e4e",
        "8e15a5f546cf48380f9fc57ffa3f8c84dfb4f4d3"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 10 16:38:39 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 10 16:38:39 2014 -0400"
      },
      "message": "Merge pull request #195 from jrperritt/v0.2.0\n\nPass EndpointOpts during client creation"
    },
    {
      "commit": "f1bfb907acd7d680e01fc5f8ff462a2e4371a794",
      "tree": "3ebc2c07de2516d0238bcc5e32efd343a6e62b23",
      "parents": [
        "83f60cc108cf82abff5aa80b3e2ca6140b586bc9"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 10 16:35:08 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 10 16:35:08 2014 -0400"
      },
      "message": "Missed a spot.\n"
    },
    {
      "commit": "83f60cc108cf82abff5aa80b3e2ca6140b586bc9",
      "tree": "d2567582d8ede3138848d0966242400383580ac1",
      "parents": [
        "efac18b3ce3aa8a349ed3eeaf8bb1c9fde58d309"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 10 16:34:44 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 10 16:34:44 2014 -0400"
      },
      "message": "Explain differences in terminology between v[23].\n"
    },
    {
      "commit": "8e15a5f546cf48380f9fc57ffa3f8c84dfb4f4d3",
      "tree": "68ad3f72abf824f9f892b283bf9903a1177756c9",
      "parents": [
        "509fbb6cb21e7f74a0cea4f345f1ab4da6c43e93"
      ],
      "author": {
        "name": "Jon Perritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Sep 10 12:39:56 2014 -0500"
      },
      "committer": {
        "name": "Jon Perritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Sep 10 14:05:53 2014 -0500"
      },
      "message": "fix import path\n"
    },
    {
      "commit": "509fbb6cb21e7f74a0cea4f345f1ab4da6c43e93",
      "tree": "424c71f35462ca1a0717f105ee1c74384fd27735",
      "parents": [
        "2dff1729b80d678df617ce40fa00812ab3fc4e4e"
      ],
      "author": {
        "name": "Jon Perritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Sep 10 13:29:56 2014 -0500"
      },
      "committer": {
        "name": "Jon Perritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Sep 10 14:05:37 2014 -0500"
      },
      "message": "add ApplyDefaults method for EndpointOpts\n"
    },
    {
      "commit": "2dff1729b80d678df617ce40fa00812ab3fc4e4e",
      "tree": "e4a3c4876f815ef2804bfab4c1a32c2b47f66c58",
      "parents": [
        "05a5c0fdbaf96507275e6c0343febc0582796038",
        "efac18b3ce3aa8a349ed3eeaf8bb1c9fde58d309"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Sep 10 13:58:30 2014 -0500"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Sep 10 13:58:30 2014 -0500"
      },
      "message": "Merge pull request #196 from smashwilson/rename-interface\n\nRename \"Interface\" to \"Availability\"."
    },
    {
      "commit": "efac18b3ce3aa8a349ed3eeaf8bb1c9fde58d309",
      "tree": "e4a3c4876f815ef2804bfab4c1a32c2b47f66c58",
      "parents": [
        "05a5c0fdbaf96507275e6c0343febc0582796038"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 10 14:44:42 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 10 14:44:42 2014 -0400"
      },
      "message": "Rename \"Interface\" to \"Availability\".\n\nInterface is what the identity v3 docs call it, but that collides with an\nimportant concept from Go-the-language. Renaming it to \"Availability\" because\nthat\u0027s more descriptive.\n"
    },
    {
      "commit": "05a5c0fdbaf96507275e6c0343febc0582796038",
      "tree": "1c10c444d7683013e7b17886b9ec994eddc23a5c",
      "parents": [
        "5d7429c1357222d14fd28fac9639f7d4e34fc879"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Sep 10 12:11:18 2014 -0500"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Sep 10 12:11:18 2014 -0500"
      },
      "message": "Add myself, Ash, and Jamie.\n\nAlso change to table format."
    },
    {
      "commit": "5d7429c1357222d14fd28fac9639f7d4e34fc879",
      "tree": "83dd94d46d19aca4d95d80ccde62d209c73dff14",
      "parents": [
        "e69059d9c42b46df908bd68ed47dccce3046e1c2",
        "a286795de07698eb33585ba9da61bc7711352730"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Sep 10 11:41:18 2014 -0500"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Sep 10 11:41:18 2014 -0500"
      },
      "message": "Merge pull request #186 from smashwilson/identity-v3\n\nIdentity v3"
    },
    {
      "commit": "a286795de07698eb33585ba9da61bc7711352730",
      "tree": "83dd94d46d19aca4d95d80ccde62d209c73dff14",
      "parents": [
        "5266e49cf3097f1ee9062a1731fa137a5ac4d0a6",
        "e69059d9c42b46df908bd68ed47dccce3046e1c2"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 10 12:29:06 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 10 12:29:06 2014 -0400"
      },
      "message": "Merge remote-tracking branch \u0027upstream/v0.2.0\u0027 into identity-v3\n\nConflicts:\n\tacceptance/openstack/compute/tools_test.go\n"
    },
    {
      "commit": "e69059d9c42b46df908bd68ed47dccce3046e1c2",
      "tree": "bc75646f318ee47a78423f1dc74315c5bd815481",
      "parents": [
        "77b3f95620ea046fa86048378a4519dca6f72bf1",
        "0eb85cfb835386439f4732516ab6d241634b64ce"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 10 08:19:03 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 10 08:19:03 2014 -0400"
      },
      "message": "Merge pull request #192 from jamiehannaford/acceptance-test-readme\n\nAdding README for acceptance test directory"
    },
    {
      "commit": "77b3f95620ea046fa86048378a4519dca6f72bf1",
      "tree": "95b45cabd8afe3d1e3f71afc24bec1d3678fef75",
      "parents": [
        "40b8ee4103c3115e0125b10553ac34be02745fd4",
        "c8fc6eaa1622f0a6df997e7b071bc4d5bb4aa3cc"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 10 08:09:56 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 10 08:09:56 2014 -0400"
      },
      "message": "Merge pull request #193 from jamiehannaford/compute-dir-restructure\n\nMoving compute resources into version dir"
    },
    {
      "commit": "0eb85cfb835386439f4732516ab6d241634b64ce",
      "tree": "23ddeae39dd6a610f02186c63a4ca686d9e38c8a",
      "parents": [
        "2a2a146a92ee2207c3e9971809c445ee06e0ae0a",
        "0fd6752a2c12d9679e7c5de8886d5352327c7f87"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Sep 10 14:06:01 2014 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Sep 10 14:06:01 2014 +0200"
      },
      "message": "Merge branch \u0027acceptance-test-readme\u0027 of github.com:jamiehannaford/gophercloud into acceptance-test-readme\n"
    },
    {
      "commit": "2a2a146a92ee2207c3e9971809c445ee06e0ae0a",
      "tree": "567265116fa13f254b3ea8a84f175dfdc287a0ae",
      "parents": [
        "e8ab7b49b9c449da5d6780af02cf5ec3a0bdfac1"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Sep 10 14:05:45 2014 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Sep 10 14:05:45 2014 +0200"
      },
      "message": "Minor fixes based on code review\n"
    },
    {
      "commit": "c8fc6eaa1622f0a6df997e7b071bc4d5bb4aa3cc",
      "tree": "b635a9f8184eac08dba34ef54200579250419475",
      "parents": [
        "e8cbc302381389cabd4d8c49e1e7dc136780c1c7"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Sep 10 13:59:58 2014 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Sep 10 13:59:58 2014 +0200"
      },
      "message": "Moving compute resources into version dir\n"
    },
    {
      "commit": "5266e49cf3097f1ee9062a1731fa137a5ac4d0a6",
      "tree": "db2f3b7537aa69177f5d2ef359b7ec5fa9332afc",
      "parents": [
        "51b4f1cc734aa37edc55f329c2fc2de3797e10f2"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 15:44:30 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 15:44:30 2014 -0400"
      },
      "message": "Rename `Info` to `Get`.\n"
    },
    {
      "commit": "51b4f1cc734aa37edc55f329c2fc2de3797e10f2",
      "tree": "513600736eb7c2f47a3724879da5db95becd79f4",
      "parents": [
        "d67975b3563e293668f6155d9a60f596b626b72a"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 15:18:43 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 15:18:43 2014 -0400"
      },
      "message": "More comment touchups.\n"
    },
    {
      "commit": "d67975b3563e293668f6155d9a60f596b626b72a",
      "tree": "b8d9f4c0b325c0ef718ab4cad8102b889fb7a84a",
      "parents": [
        "2c0e45b53000551b456fd6786a03b93957a2e4bd"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 14:57:17 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 14:57:17 2014 -0400"
      },
      "message": "Stale documentation.\n"
    },
    {
      "commit": "2c0e45b53000551b456fd6786a03b93957a2e4bd",
      "tree": "df0530f0a07f77a4abde6a2fcdc3352da5d2edaa",
      "parents": [
        "0747d7edfc3a078f0b061ba9332f2cd09fdaf10e"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 14:52:42 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 14:52:42 2014 -0400"
      },
      "message": "Stale error message apparently.\n"
    },
    {
      "commit": "0747d7edfc3a078f0b061ba9332f2cd09fdaf10e",
      "tree": "634e91715a58a1957d1f37bbca2a1b535c2890f4",
      "parents": [
        "7083d022c1b2241038ddc2547b1100c3c039519a"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 14:27:35 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 14:27:35 2014 -0400"
      },
      "message": "Move the Interface type and its consts.\n"
    },
    {
      "commit": "7083d022c1b2241038ddc2547b1100c3c039519a",
      "tree": "28def247f2d7d4755175e021cba1bd6151489fc7",
      "parents": [
        "09694b918c8a03f5d353c24e70bf2a5a6afbbfa9"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 14:10:43 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 14:10:43 2014 -0400"
      },
      "message": "Explicitly auth against v3 in v3 tests.\n\nSkip v3 tests altogether if no USERID is set.\n"
    },
    {
      "commit": "09694b918c8a03f5d353c24e70bf2a5a6afbbfa9",
      "tree": "47779b48774b89ba865bdcd6f85f44ee0b09f489",
      "parents": [
        "e7da01c28d73104467612b203d085e56b1155ec2"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 14:08:27 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 14:08:27 2014 -0400"
      },
      "message": "Ookay, last reshuffle.\n\n * openstack.NewClient() normalizes the identity endpoint with a trailing slash, and sets base and endpoint.\n * utils.ChooseVersion() checks suffixes first to short-circuit actual version calls.\n * gophercloud.ProviderClient distinguishes between the root of all identity services (IdentityBase)\n   and the endpoint of the requested auth service (IdentityEndpoint).\n"
    },
    {
      "commit": "e7da01c28d73104467612b203d085e56b1155ec2",
      "tree": "7af6d92b4e1a523b74cfad0f9bbad10526b825eb",
      "parents": [
        "51dff8a53694871d8475fbd371178ba24bb1bf1f"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 12:31:06 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 12:31:06 2014 -0400"
      },
      "message": "Lots of URL normalization.\n\nSo it doesn\u0027t matter if you have a trailing / or not.\n"
    },
    {
      "commit": "51dff8a53694871d8475fbd371178ba24bb1bf1f",
      "tree": "56e06fb1e4c1a98b6767b16528f45f2e80a7621f",
      "parents": [
        "33a23e7dbbb1147990110f7d92fda5fdc753eea8"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 12:30:21 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 12:30:21 2014 -0400"
      },
      "message": "Update the identity v2 acceptance test.\n"
    },
    {
      "commit": "33a23e7dbbb1147990110f7d92fda5fdc753eea8",
      "tree": "4557563ccc183b04850b8f24b9e6c8864db46e2a",
      "parents": [
        "ccfccce001fa1e3cfec65d5df90f79dc89f23e36"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 12:28:31 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 12:28:31 2014 -0400"
      },
      "message": "Right, v2 actually needs those vars.\n"
    },
    {
      "commit": "ccfccce001fa1e3cfec65d5df90f79dc89f23e36",
      "tree": "d06127eb41b8ef5ae91058ee30436944c803d0ca",
      "parents": [
        "a0c4c84cd7d87f3406ebd4dadac488dc66b7f6f1"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 11:43:04 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 11:43:04 2014 -0400"
      },
      "message": "ChooseVersion accounts for missing /s.\n"
    },
    {
      "commit": "a0c4c84cd7d87f3406ebd4dadac488dc66b7f6f1",
      "tree": "7ed8e6e37fc67d4c64bca4511ddba70254f50648",
      "parents": [
        "1cd3e69c4d0af352bc8400984b47866fe2503e5f"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 11:30:58 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 11:30:58 2014 -0400"
      },
      "message": "ChooseVersion prefers exact URL matches now.\n"
    },
    {
      "commit": "40b8ee4103c3115e0125b10553ac34be02745fd4",
      "tree": "ac929fc1c2658f2f006e8200084f53d1a2c685d6",
      "parents": [
        "e8cbc302381389cabd4d8c49e1e7dc136780c1c7"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Sep 09 10:23:11 2014 -0500"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Sep 09 10:23:11 2014 -0500"
      },
      "message": "s/costsfrom/costs from"
    },
    {
      "commit": "1cd3e69c4d0af352bc8400984b47866fe2503e5f",
      "tree": "b17568dd604ea15a266dacc0a78ac4e3e761beb9",
      "parents": [
        "61b2d34891eaba01bf263516b20b9605ceb43925"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 11:01:47 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 11:01:47 2014 -0400"
      },
      "message": "Exercise the endpoint discovery code a little.\n"
    },
    {
      "commit": "0fd6752a2c12d9679e7c5de8886d5352327c7f87",
      "tree": "4ba76a6ec7abc41bf73f999e7c7e325771ac3083",
      "parents": [
        "e8ab7b49b9c449da5d6780af02cf5ec3a0bdfac1"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Tue Sep 09 17:00:22 2014 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Tue Sep 09 17:00:22 2014 +0200"
      },
      "message": "Adding \"Download RC file\" hint for OpenStack users"
    },
    {
      "commit": "e8ab7b49b9c449da5d6780af02cf5ec3a0bdfac1",
      "tree": "ff1e461c43d9dea57e6179300b43b263cd048d76",
      "parents": [
        "e8cbc302381389cabd4d8c49e1e7dc136780c1c7"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Tue Sep 09 16:40:06 2014 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Tue Sep 09 16:43:41 2014 +0200"
      },
      "message": "Adding README for acceptance test directory\n"
    },
    {
      "commit": "61b2d34891eaba01bf263516b20b9605ceb43925",
      "tree": "b439c11719b29cf569613962bb352af9e95313b3",
      "parents": [
        "5deff16c9923e953903461d85353f82c5fa20d36"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 09:46:01 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 09:46:01 2014 -0400"
      },
      "message": "Fix up more of the acceptance tests.\n"
    },
    {
      "commit": "5deff16c9923e953903461d85353f82c5fa20d36",
      "tree": "756b063fd6c24403a8d1a4e99f3133689d0c556f",
      "parents": [
        "9d9876b987d9232a85601d13d55a7f9f98b46a07"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 09:33:03 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 09:33:03 2014 -0400"
      },
      "message": "Missed an AuthOptions in the acceptance tests.\n"
    },
    {
      "commit": "9d9876b987d9232a85601d13d55a7f9f98b46a07",
      "tree": "461842606330a2a3431e68dcfdfab9d8b492966c",
      "parents": [
        "8e434bf2cd3ee0b80df13cd3cd13682ab18335bc"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 09:28:00 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 09:28:00 2014 -0400"
      },
      "message": "Identity v2 endpoint location.\n"
    },
    {
      "commit": "8e434bf2cd3ee0b80df13cd3cd13682ab18335bc",
      "tree": "28e29866fb980f3d18a0b392c9b44f54f5380674",
      "parents": [
        "b8401a78b36e0634c31aec1eedd9cd3d2fc24de5"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 08 17:10:04 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 08 17:10:04 2014 -0400"
      },
      "message": "Take out the reauth closure for now.\n"
    },
    {
      "commit": "b8401a78b36e0634c31aec1eedd9cd3d2fc24de5",
      "tree": "ce7b7b3cdc49e54c922be3cc424f118a6907816a",
      "parents": [
        "11c98288b35a4cac8260bf5ec2c3dc0f3f321372"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 08 17:07:49 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 08 17:08:01 2014 -0400"
      },
      "message": "Provide endpoint discovery via closure for v3.\n"
    },
    {
      "commit": "11c98288b35a4cac8260bf5ec2c3dc0f3f321372",
      "tree": "956ab7f29958de8dae8751e4ffd1b795b88989b6",
      "parents": [
        "986854a94c39e5d50b93e8d29ede44630127d2e2"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 08 16:05:10 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 08 16:05:10 2014 -0400"
      },
      "message": "Use v2 identity in AuthenticatedClient.\n"
    },
    {
      "commit": "986854a94c39e5d50b93e8d29ede44630127d2e2",
      "tree": "74fb9be106cfbc17c29eb4c063cc6710502fda4c",
      "parents": [
        "31844f2cb62f8110e9cd7bc11cc2b7037e88f1c7"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 08 15:51:08 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 08 15:51:08 2014 -0400"
      },
      "message": "Unit test for v2 authentication with a client.\n"
    },
    {
      "commit": "31844f2cb62f8110e9cd7bc11cc2b7037e88f1c7",
      "tree": "49efbd5486844e0d529a763c14f2064cab7a7b8d",
      "parents": [
        "9c6c9e6ddd69fa72a3555b5f6e02c8eefa35dfe2"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 08 15:32:58 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 08 15:32:58 2014 -0400"
      },
      "message": "Package name now matches directory name :lipstick:\n"
    },
    {
      "commit": "9c6c9e6ddd69fa72a3555b5f6e02c8eefa35dfe2",
      "tree": "6f7268c0a224046978707dba7d431f9003d04ec7",
      "parents": [
        "2ebb21c024e8bccb1026db370275a1bfe105b466"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 08 15:27:38 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 08 15:27:38 2014 -0400"
      },
      "message": "Use a ServiceClient in identity v2, as well.\n"
    },
    {
      "commit": "2ebb21c024e8bccb1026db370275a1bfe105b466",
      "tree": "d412e8f170201babef3d62d122d5980fae7732b2",
      "parents": [
        "12b3b6cbdfca3c4530e36ee575ade7559d34949c"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 08 15:01:32 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 08 15:01:32 2014 -0400"
      },
      "message": "Finish the identity.AuthOptions removal. :fire:\n"
    },
    {
      "commit": "12b3b6cbdfca3c4530e36ee575ade7559d34949c",
      "tree": "50282ab1cfe905df5434577db9099fa974da2b0b",
      "parents": [
        "b110fc956da1fb8d6468d9d766dfee0c10ee7ffa"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 08 14:54:38 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 08 14:54:38 2014 -0400"
      },
      "message": "v2 is now golint clean :lipstick:\n"
    }
  ],
  "next": "b110fc956da1fb8d6468d9d766dfee0c10ee7ffa"
}
