diff options
author | Máximo Cuadros <mcuadros@gmail.com> | 2018-01-10 17:13:30 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-01-10 17:13:30 +0100 |
commit | 2547d1d9aa16b7c93b677bb63d8b8daea55d7e86 (patch) | |
tree | a814d6ff16bb88dcf489dd1c8ac6eeb3b41e7218 /config | |
parent | bf3b1f1fb9e0a04d0f87511a7ded2562b48a19d8 (diff) | |
parent | a4ea96f42e50368010f4b1656bef52e1f0f99190 (diff) | |
download | go-git-2547d1d9aa16b7c93b677bb63d8b8daea55d7e86.tar.gz |
Merge pull request #712 from jfontan/fix/set-default-window-size
Set default pack window size in config
Diffstat (limited to 'config')
-rw-r--r-- | config/config.go | 14 | ||||
-rw-r--r-- | config/config_test.go | 9 |
2 files changed, 19 insertions, 4 deletions
diff --git a/config/config.go b/config/config.go index fc4cd28..87a847d 100644 --- a/config/config.go +++ b/config/config.go @@ -64,11 +64,15 @@ type Config struct { // NewConfig returns a new empty Config. func NewConfig() *Config { - return &Config{ + config := &Config{ Remotes: make(map[string]*RemoteConfig), Submodules: make(map[string]*Submodule), Raw: format.New(), } + + config.Pack.Window = DefaultPackWindow + + return config } // Validate validates the fields and sets the default values. @@ -97,7 +101,9 @@ const ( worktreeKey = "worktree" windowKey = "window" - defaultPackWindow = uint(10) + // DefaultPackWindow holds the number of previous objects used to + // generate deltas. The value 10 is the same used by git command. + DefaultPackWindow = uint(10) ) // Unmarshal parses a git-config file and stores it. @@ -131,7 +137,7 @@ func (c *Config) unmarshalPack() error { s := c.Raw.Section(packSection) window := s.Options.Get(windowKey) if window == "" { - c.Pack.Window = defaultPackWindow + c.Pack.Window = DefaultPackWindow } else { winUint, err := strconv.ParseUint(window, 10, 32) if err != nil { @@ -192,7 +198,7 @@ func (c *Config) marshalCore() { func (c *Config) marshalPack() { s := c.Raw.Section(packSection) - if c.Pack.Window != defaultPackWindow { + if c.Pack.Window != DefaultPackWindow { s.SetOption(windowKey, fmt.Sprintf("%d", c.Pack.Window)) } } diff --git a/config/config_test.go b/config/config_test.go index 019cee6..1f120c0 100644 --- a/config/config_test.go +++ b/config/config_test.go @@ -156,3 +156,12 @@ func (s *ConfigSuite) TestRemoteConfigValidateDefault(c *C) { c.Assert(fetch, HasLen, 1) c.Assert(fetch[0].String(), Equals, "+refs/heads/*:refs/remotes/foo/*") } + +func (s *ConfigSuite) TestRemoteConfigDefaultValues(c *C) { + config := NewConfig() + + c.Assert(config.Remotes, HasLen, 0) + c.Assert(config.Submodules, HasLen, 0) + c.Assert(config.Raw, NotNil) + c.Assert(config.Pack.Window, Equals, DefaultPackWindow) +} |