code: function list(callback) {
          repo.git.trees(options.branch).fetch(function(err, res) {
              if (err) return callback(err);
              var q = queue(1);
              res.tree.filter(function(item) {
                  return item.path.match(/json$/);
              }).forEach(function(item) {
                  q.defer(function(cb) {
                      get(item.path, function(err, content) {
                          if (err) return cb(err);
                          return cb(null, {
                              path: item.path,
                              data: content
                          });
                      });
                  });
              });
              q.awaitAll(function(err, res) {
                  if (err) return callback(err);
                  return callback(null, res);
              });
          });
      }
docs: List documents within this database. If successful, the given
  callback is called with an array of documents as
  `{ path: string, data: object }` objects.
  @param {Function} callback called with (err, contents): contents
  is an array of `{ path: string, data: object }`