@@ -22,16 +22,17 @@ import (
2222var PVERSION = "dev"
2323
2424type Repository struct {
25- defaultBranch string
26- taggerName string
27- taggerEmail string
28- remoteName string
29- auth transport.AuthMethod
30- repo * git.Repository
31- pushOptions map [string ]string
32- orderLogsByCommitTime bool
25+ defaultBranch string
26+ taggerName string
27+ taggerEmail string
28+ remoteName string
29+ auth transport.AuthMethod
30+ repo * git.Repository
31+ pushOptions map [string ]string
32+ logOrder git. LogOrder
3333}
3434
35+ //gocyclo:ignore
3536func (repo * Repository ) Init (config map [string ]string ) error {
3637 repo .defaultBranch = config ["default_branch" ]
3738 if repo .defaultBranch == "" {
@@ -79,6 +80,19 @@ func (repo *Repository) Init(config map[string]string) error {
7980 }
8081 }
8182
83+ switch config ["log_order" ] {
84+ case "ctime" :
85+ repo .logOrder = git .LogOrderCommitterTime
86+ case "dfs" :
87+ repo .logOrder = git .LogOrderDFS
88+ case "dfs_post" :
89+ repo .logOrder = git .LogOrderDFSPost
90+ case "bfs" : // intentionally correcting to bfs instead of the bsf typo
91+ repo .logOrder = git .LogOrderBSF
92+ default :
93+ repo .logOrder = git .LogOrderDefault
94+ }
95+
8296 gitPath := config ["git_path" ]
8397 if gitPath == "" {
8498 gitPath = "."
@@ -108,13 +122,9 @@ func (repo *Repository) GetCommits(fromSha, toSha string) ([]*semrel.RawCommit,
108122 return nil , err
109123 }
110124
111- logOrder := git .LogOrderDefault
112- if repo .orderLogsByCommitTime {
113- logOrder = git .LogOrderCommitterTime
114- }
115125 commits , err := repo .repo .Log (& git.LogOptions {
116126 From : * toHash ,
117- Order : logOrder ,
127+ Order : repo . logOrder ,
118128 })
119129 if err != nil {
120130 return nil , err
0 commit comments