code: func decodeOtherRefs(p *advRefsDecoder) decoderStateFn {
  	if ok := p.nextLine(); !ok {
  		return nil
  	}
  
  	if bytes.HasPrefix(p.line, shallow) {
  		return decodeShallow
  	}
  
  	if len(p.line) == 0 {
  		return nil
  	}
  
  	saveTo := p.data.References
  	if bytes.HasSuffix(p.line, peeled) {
  		p.line = bytes.TrimSuffix(p.line, peeled)
  		saveTo = p.data.Peeled
  	}
  
  	ref, hash, err := readRef(p.line)
  	if err != nil {
  		p.error("%s", err)
  		return nil
  	}
  	saveTo[ref] = hash
  
  	return decodeOtherRefs
  }
docs: // The refs are either tips (obj-id SP refname) or a peeled (obj-id SP refname^{}).
  // If there are no refs, then there might be a shallow or flush-ptk.