code: func shiftBackups(dir string, oldest int) error {
  	if oldest < 0 {
  		return nil
  	}
  	for i := oldest; i >= 0; i-- {
  		current := filepath.Join(dir, strconv.Itoa(i))
  		inc := filepath.Join(dir, strconv.Itoa(i+1))
  		if err := os.Rename(current, inc); err != nil && !os.IsNotExist(err) {
  			return err
  		}
  	}
  	return nil
  }
docs: // shiftBackups renames all directories with names being numbers up to
  // oldest to names with numbers greater by one.