code: func (m *Modules) Unmarshal(b []byte) error {
  	r := bytes.NewBuffer(b)
  	d := format.NewDecoder(r)
  
  	m.raw = format.New()
  	if err := d.Decode(m.raw); err != nil {
  		return err
  	}
  
  	unmarshalSubmodules(m.raw, m.Submodules)
  	return nil
  }
docs: // Unmarshal parses a git-config file and stores it.