예제 #1
0
파일: storage.go 프로젝트: alcortesm/go-git
func (c *ConfigStorage) Config() (*config.Config, error) {
	if c.config == nil {
		c.config = config.NewConfig()
	}

	return c.config, nil
}
예제 #2
0
func (s *BaseStorageSuite) TestSetConfigInvalid(c *C) {
	cfg := config.NewConfig()
	cfg.Remotes["foo"] = &config.RemoteConfig{}

	err := s.Storer.SetConfig(cfg)
	c.Assert(err, NotNil)
}
예제 #3
0
파일: config.go 프로젝트: src-d/go-git
func (c *ConfigStorage) Config() (*config.Config, error) {
	cfg := config.NewConfig()

	ini, err := c.unmarshal()
	if err != nil {
		return nil, err
	}

	c.unmarshalCore(cfg, ini)
	c.unmarshalRemotes(cfg, ini)

	return cfg, nil
}
예제 #4
0
func (s *BaseStorageSuite) TestSetConfigAndConfig(c *C) {
	expected := config.NewConfig()
	expected.Core.IsBare = true
	expected.Remotes["foo"] = &config.RemoteConfig{
		Name: "foo",
		URL:  "http://foo/bar.git",
	}

	err := s.Storer.SetConfig(expected)
	c.Assert(err, IsNil)

	cfg, err := s.Storer.Config()
	c.Assert(err, IsNil)
	c.Assert(cfg, DeepEquals, expected)
}
예제 #5
0
파일: config.go 프로젝트: alcortesm/go-git
func (c *ConfigStorage) Config() (*config.Config, error) {
	cfg := config.NewConfig()

	ini, err := c.unmarshal()
	if err != nil {
		return nil, err
	}

	sect := ini.Section(remoteSection)
	for _, s := range sect.Subsections {
		r := c.unmarshalRemote(s)
		cfg.Remotes[r.Name] = r
	}

	return cfg, nil
}