diff options
Diffstat (limited to 'config')
-rw-r--r-- | config/config.go | 12 | ||||
-rw-r--r-- | config/config_test.go | 4 |
2 files changed, 12 insertions, 4 deletions
diff --git a/config/config.go b/config/config.go index cb10738..475045e 100644 --- a/config/config.go +++ b/config/config.go @@ -5,6 +5,7 @@ import ( "bytes" "errors" "fmt" + "sort" format "gopkg.in/src-d/go-git.v4/plumbing/format/config" ) @@ -168,9 +169,16 @@ func (c *Config) marshalRemotes() { } } - for name, remote := range c.Remotes { + remoteNames := make([]string, 0, len(c.Remotes)) + for name := range c.Remotes { + remoteNames = append(remoteNames, name) + } + + sort.Strings(remoteNames) + + for _, name := range remoteNames { if !added[name] { - newSubsections = append(newSubsections, remote.marshal()) + newSubsections = append(newSubsections, c.Remotes[name].marshal()) } } diff --git a/config/config_test.go b/config/config_test.go index 97f4bbf..c27ee26 100644 --- a/config/config_test.go +++ b/config/config_test.go @@ -51,13 +51,13 @@ func (s *ConfigSuite) TestMarshall(c *C) { output := []byte(`[core] bare = true worktree = bar -[remote "origin"] - url = git@github.com:mcuadros/go-git.git [remote "alt"] url = git@github.com:mcuadros/go-git.git url = git@github.com:src-d/go-git.git fetch = +refs/heads/*:refs/remotes/origin/* fetch = +refs/pull/*:refs/remotes/origin/pull/* +[remote "origin"] + url = git@github.com:mcuadros/go-git.git [submodule "qux"] url = https://github.com/foo/qux.git `) |