code: function writeblobs(data, cb) {
      var ab = asyncbuilder(cb);
      var reqQ = new Queue( { concurrency: 5 } );
  
      u.each(data, function(file) {
        var append = ab.asyncAppend();
        var blob = { encoding: file.buffer ? 'base64' : 'utf-8',
                     content: file.buffer ? file.buffer.toString('base64') : (file.text || '') };
  
        reqQ.push(function(reqDone) {
          post(self.endpoint + '/git/blobs', blob, function(err, ghblob) {
            if (ghblob) { file.sha = ghblob.sha; }
            append(err, file);
            reqDone();
          });
        });
  
      });
      ab.complete();
    }
docs: write an array of files each with path: and (text: or buffer:) mutates data adding file.sha to each file limit concurrency by queueing