mirror of
				https://github.com/jesseduffield/lazygit.git
				synced 2025-10-30 23:57:43 +02:00 
			
		
		
		
	feat(log): allow to disable git.log.order
				
					
				
			This commit is contained in:
		| @@ -74,7 +74,7 @@ git: | ||||
|     # extra args passed to `git merge`, e.g. --no-ff | ||||
|     args: '' | ||||
|   log: | ||||
|     # one of date-order, author-date-order, topo-order. | ||||
|     # one of date-order, author-date-order, topo-order or default. | ||||
|     # topo-order makes it easier to read the git log graph, but commits may not | ||||
|     # appear chronologically. See https://git-scm.com/docs/git-log#_commit_ordering | ||||
|     order: 'topo-order' | ||||
|   | ||||
| @@ -426,7 +426,10 @@ func (self *CommitLoader) getLogCmd(opts GetCommitsOptions) oscommands.ICmdObj { | ||||
|  | ||||
| 	config := self.UserConfig.Git.Log | ||||
|  | ||||
| 	orderFlag := "--" + config.Order | ||||
| 	orderFlag := "" | ||||
| 	if config.Order != "default" { | ||||
| 		orderFlag = " --" + config.Order | ||||
| 	} | ||||
| 	allFlag := "" | ||||
| 	if opts.All { | ||||
| 		allFlag = " --all" | ||||
|   | ||||
| @@ -27,6 +27,7 @@ func TestGetCommits(t *testing.T) { | ||||
| 		runner            *oscommands.FakeCmdObjRunner | ||||
| 		expectedCommits   []*models.Commit | ||||
| 		expectedError     error | ||||
| 		logOrder          string | ||||
| 		rebaseMode        enums.RebaseMode | ||||
| 		currentBranchName string | ||||
| 		opts              GetCommitsOptions | ||||
| @@ -35,6 +36,7 @@ func TestGetCommits(t *testing.T) { | ||||
| 	scenarios := []scenario{ | ||||
| 		{ | ||||
| 			testName:          "should return no commits if there are none", | ||||
| 			logOrder:          "topo-order", | ||||
| 			rebaseMode:        enums.REBASE_MODE_NONE, | ||||
| 			currentBranchName: "master", | ||||
| 			opts:              GetCommitsOptions{RefName: "HEAD", IncludeRebaseCommits: false}, | ||||
| @@ -47,6 +49,7 @@ func TestGetCommits(t *testing.T) { | ||||
| 		}, | ||||
| 		{ | ||||
| 			testName:          "should return commits if they are present", | ||||
| 			logOrder:          "topo-order", | ||||
| 			rebaseMode:        enums.REBASE_MODE_NONE, | ||||
| 			currentBranchName: "master", | ||||
| 			opts:              GetCommitsOptions{RefName: "HEAD", IncludeRebaseCommits: false}, | ||||
| @@ -174,13 +177,29 @@ func TestGetCommits(t *testing.T) { | ||||
| 			}, | ||||
| 			expectedError: nil, | ||||
| 		}, | ||||
| 		{ | ||||
| 			testName:          "should not specify order if `log.order` is `default`", | ||||
| 			logOrder:          "default", | ||||
| 			rebaseMode:        enums.REBASE_MODE_NONE, | ||||
| 			currentBranchName: "master", | ||||
| 			opts:              GetCommitsOptions{RefName: "HEAD", IncludeRebaseCommits: false}, | ||||
| 			runner: oscommands.NewFakeRunner(t). | ||||
| 				Expect(`git merge-base "HEAD" "HEAD"@{u}`, "b21997d6b4cbdf84b149d8e6a2c4d06a8e9ec164", nil). | ||||
| 				Expect(`git -c log.showSignature=false log "HEAD" --oneline --pretty=format:"%H%x00%at%x00%aN%x00%ae%x00%d%x00%p%x00%s" --abbrev=40`, "", nil), | ||||
|  | ||||
| 			expectedCommits: []*models.Commit{}, | ||||
| 			expectedError:   nil, | ||||
| 		}, | ||||
| 	} | ||||
|  | ||||
| 	for _, scenario := range scenarios { | ||||
| 		scenario := scenario | ||||
| 		t.Run(scenario.testName, func(t *testing.T) { | ||||
| 			common := utils.NewDummyCommon() | ||||
| 			common.UserConfig.Git.Log.Order = scenario.logOrder | ||||
|  | ||||
| 			builder := &CommitLoader{ | ||||
| 				Common: utils.NewDummyCommon(), | ||||
| 				Common: common, | ||||
| 				cmd:    oscommands.NewDummyCmdObjBuilder(scenario.runner), | ||||
| 				getCurrentBranchInfo: func() (BranchInfo, error) { | ||||
| 					return BranchInfo{RefName: scenario.currentBranchName, DisplayName: scenario.currentBranchName, DetachedHead: false}, nil | ||||
|   | ||||
		Reference in New Issue
	
	Block a user