Skip to content
Snippets Groups Projects
Commit 1065a3c4 authored by dannylongeuay's avatar dannylongeuay Committed by Christoph Witzko
Browse files

refactor(*): :recycle: more robust log order config

parent 26c09019
Branches
Tags
No related merge requests found
......@@ -29,9 +29,10 @@ type Repository struct {
auth transport.AuthMethod
repo *git.Repository
pushOptions map[string]string
orderLogsByCommitTime bool
logOrder git.LogOrder
}
//gocyclo:ignore
func (repo *Repository) Init(config map[string]string) error {
repo.defaultBranch = config["default_branch"]
if repo.defaultBranch == "" {
......@@ -79,6 +80,19 @@ func (repo *Repository) Init(config map[string]string) error {
}
}
switch config["log_order"] {
case "ctime":
repo.logOrder = git.LogOrderCommitterTime
case "dfs":
repo.logOrder = git.LogOrderDFS
case "dfs_post":
repo.logOrder = git.LogOrderDFSPost
case "bfs": // intentionally correcting to bfs instead of the bsf typo
repo.logOrder = git.LogOrderBSF
default:
repo.logOrder = git.LogOrderDefault
}
gitPath := config["git_path"]
if gitPath == "" {
gitPath = "."
......@@ -108,13 +122,9 @@ func (repo *Repository) GetCommits(fromSha, toSha string) ([]*semrel.RawCommit,
return nil, err
}
logOrder := git.LogOrderDefault
if repo.orderLogsByCommitTime {
logOrder = git.LogOrderCommitterTime
}
commits, err := repo.repo.Log(&git.LogOptions{
From: *toHash,
Order: logOrder,
Order: repo.logOrder,
})
if err != nil {
return nil, err
......
......@@ -226,7 +226,7 @@ func getCommitsNoFFMergeCTime(t *testing.T) {
dir, err := os.MkdirTemp("", "provider-git")
require.NoError(err)
repo, err := cloneRepo(dir, "http://localhost:3000/test/no_ff_merge.git")
repo.orderLogsByCommitTime = true
repo.logOrder = git.LogOrderCommitterTime
require.NoError(err)
releases, err := repo.GetReleases("")
require.NoError(err)
......
No preview for this file type
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment