code: func RelativizePathWithNoBacksteps(refs []*string, base string) error {
  	for _, ref := range refs {
  		// Don't relativize empty paths
  		if len(*ref) > 0 {
  			rel, err := MakeRelative(*ref, base)
  			if err != nil {
  				return err
  			}
  
  			// if we have a backstep, don't mess with the path
  			if strings.HasPrefix(rel, "../") {
  				if filepath.IsAbs(*ref) {
  					continue
  				}
  
  				return fmt.Errorf("%v requires backsteps and is not absolute", *ref)
  			}
  
  			*ref = rel
  		}
  	}
  	return nil
  }
docs: // RelativizePathWithNoBacksteps updates the given refs to be relative paths, relative to the given base directory as long as they do not require backsteps.
  // Any path requiring a backstep is left as-is as long it is absolute.  Any non-absolute path that can't be relativized produces an error