MCPcopy
hub / github.com/cli/cli / changelogForRange

Function changelogForRange

pkg/cmd/release/create/create.go:619–649  ·  view source on GitHub ↗
(client *git.Client, refRange string)

Source from the content-addressed store, hash-verified

617}
618
619func changelogForRange(client *git.Client, refRange string) ([]logEntry, error) {
620 cmd, err := client.Command(context.Background(), "-c", "log.ShowSignature=false", "log", "--first-parent", "--reverse", "--pretty=format:%B%x00", refRange)
621 if err != nil {
622 return nil, err
623 }
624 b, err := cmd.Output()
625 if err != nil {
626 return nil, err
627 }
628
629 var entries []logEntry
630 for _, cb := range bytes.Split(b, []byte{'\000'}) {
631 c := strings.ReplaceAll(string(cb), "\r\n", "\n")
632 c = strings.TrimPrefix(c, "\n")
633 if len(c) == 0 {
634 continue
635 }
636 parts := strings.SplitN(c, "\n\n", 2)
637 var body string
638 subject := strings.ReplaceAll(parts[0], "\n", " ")
639 if len(parts) > 1 {
640 body = parts[1]
641 }
642 entries = append(entries, logEntry{
643 Subject: subject,
644 Body: body,
645 })
646 }
647
648 return entries, nil
649}
650
651func generateChangelog(commits []logEntry) string {
652 var parts []string

Callers 1

createRunFunction · 0.85

Calls 2

CommandMethod · 0.80
OutputMethod · 0.65

Tested by

no test coverage detected