code: func (l *List) Decode(raw []byte) error {
  	// git 1.x receive pack used to send a leading space on its
  	// git-receive-pack capabilities announcement. We just trim space to be
  	// tolerant to space changes in different versions.
  	raw = bytes.TrimSpace(raw)
  
  	if len(raw) == 0 {
  		return nil
  	}
  
  	for _, data := range bytes.Split(raw, []byte{' '}) {
  		pair := bytes.SplitN(data, []byte{'='}, 2)
  
  		c := Capability(pair[0])
  		if len(pair) == 1 {
  			if err := l.Add(c); err != nil {
  				return err
  			}
  
  			continue
  		}
  
  		if err := l.Add(c, string(pair[1])); err != nil {
  			return err
  		}
  	}
  
  	return nil
  }
docs: // Decode decodes list of capabilities from raw into the list