getLogCmd gets the git log.
(opts GetCommitsOptions)
| 579 | |
| 580 | // getLogCmd gets the git log. |
| 581 | func (self *CommitLoader) getLogCmd(opts GetCommitsOptions) *oscommands.CmdObj { |
| 582 | gitLogOrder := self.UserConfig().Git.Log.Order |
| 583 | |
| 584 | refSpec := opts.RefName |
| 585 | if opts.RefToShowDivergenceFrom != "" { |
| 586 | refSpec += "..." + opts.RefToShowDivergenceFrom |
| 587 | } |
| 588 | |
| 589 | cmdArgs := NewGitCmd("log"). |
| 590 | Arg(refSpec). |
| 591 | ArgIf(gitLogOrder != "default", "--"+gitLogOrder). |
| 592 | ArgIf(opts.All, "--all"). |
| 593 | Arg("--oneline"). |
| 594 | Arg(prettyFormat). |
| 595 | Arg("--abbrev=40"). |
| 596 | ArgIf(opts.FilterAuthor != "", "--author="+opts.FilterAuthor). |
| 597 | ArgIf(opts.Limit, "-300"). |
| 598 | ArgIf(opts.FilterPath != "", "--follow", "--name-status"). |
| 599 | Arg("--no-show-signature"). |
| 600 | ArgIf(opts.RefToShowDivergenceFrom != "", "--left-right"). |
| 601 | Arg("--"). |
| 602 | ArgIf(opts.FilterPath != "", opts.FilterPath). |
| 603 | ToArgv() |
| 604 | |
| 605 | return self.cmd.New(cmdArgs).DontLog() |
| 606 | } |
| 607 | |
| 608 | const prettyFormat = `--pretty=format:+%H%x00%at%x00%aN%x00%ae%x00%P%x00%m%x00%D%x00%s` |
no test coverage detected