71 lines · 1.4 KB · Go
RawDownload
// Copyright 2015 The Gogs Authors. All rights reserved.// Copyright 2018 The Gitea Authors. All rights reserved.// Use of this source code is governed by a MIT-style// license that can be found in the LICENSE file. //go:build gogit// +build gogit package git import (	"fmt"	"strings" 	"github.com/go-git/go-git/v5/plumbing/object") func convertPGPSignature(c *object.Commit) *CommitGPGSignature {	if c.PGPSignature == "" {		return nil	} 	var w strings.Builder	var err error 	if _, err = fmt.Fprintf(&w, "tree %s\n", c.TreeHash.String()); err != nil {		return nil	} 	for _, parent := range c.ParentHashes {		if _, err = fmt.Fprintf(&w, "parent %s\n", parent.String()); err != nil {			return nil		}	} 	if _, err = fmt.Fprint(&w, "author "); err != nil {		return nil	} 	if err = c.Author.Encode(&w); err != nil {		return nil	} 	if _, err = fmt.Fprint(&w, "\ncommitter "); err != nil {		return nil	} 	if err = c.Committer.Encode(&w); err != nil {		return nil	} 	if _, err = fmt.Fprintf(&w, "\n\n%s", c.Message); err != nil {		return nil	} 	return &CommitGPGSignature{		Signature: c.PGPSignature,		Payload:   w.String(),	}} func convertCommit(c *object.Commit) *Commit {	return &Commit{		ID:            c.Hash,		CommitMessage: c.Message,		Committer:     &c.Committer,		Author:        &c.Author,		Signature:     convertPGPSignature(c),		Parents:       c.ParentHashes,	}}