code: func (s *Store) ExportMissingPublicKeys(ctx context.Context, rs []string) (bool, error) {
  	ok := true
  	exported := false
  	for _, r := range rs {
  		if r == "" {
  			continue
  		}
  		path, err := s.exportPublicKey(ctx, r)
  		if err != nil {
  			ok = false
  			out.Error(ctx, "failed to export public key for '%s': %s", r, err)
  			continue
  		}
  		if path == "" {
  			continue
  		}
  		// at least one key has been exported
  		exported = true
  		if err := s.rcs.Add(ctx, path); err != nil {
  			if errors.Cause(err) == store.ErrGitNotInit {
  				continue
  			}
  			ok = false
  			out.Error(ctx, "failed to add public key for '%s' to git: %s", r, err)
  			continue
  		}
  		if err := s.rcs.Commit(ctx, fmt.Sprintf("Exported Public Keys %s", r)); err != nil && err != store.ErrGitNothingToCommit {
  			ok = false
  			out.Error(ctx, "Failed to git commit: %s", err)
  			continue
  		}
  	}
  	if !ok {
  		return exported, errors.New("some keys failed")
  	}
  	return exported, nil
  }
docs: // ExportMissingPublicKeys will export any possibly missing public keys to the
  // stores .public-keys directory