MCPcopy Create free account
hub / github.com/cli/cli / changelogForRange

Function changelogForRange

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

Source from the content-addressed store, hash-verified

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

Callers 1

createRunFunction · 0.85

Calls 2

CommandMethod · 0.80
OutputMethod · 0.65

Tested by

no test coverage detected