docs: function safeUnstashAll() {
    // TODO: will a re-stash ever be needed? This is fine for now because this
    // basically assumes that this folows a `safeStashAll`
    return execP('git stash pop && git reset HEAD . && git stash pop --index')
      .catch(function(err) {
        if (err && err.message && err.message.indexOf('No stash found') > -1) {
          // this is ok. Caused by second `stash pop` returning and error
          return;
        }
        return Promise.reject(err);
      });
  }