mirror of
https://github.com/go-gitea/gitea
synced 2024-08-26 12:05:31 +02:00
Replace #28849. Thanks to @yp05327 for the looking into the problem. Fix #28840 The old behavior of newSignatureFromCommitline is not right. The new parseSignatureFromCommitLine: 1. never fails 2. only accept one format (if there is any other, it could be easily added) And add some tests.
30 lines
774 B
Go
30 lines
774 B
Go
// Copyright 2015 The Gogs Authors. All rights reserved.
|
|
// Copyright 2019 The Gitea Authors. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
//go:build !gogit
|
|
|
|
package git
|
|
|
|
import (
|
|
"fmt"
|
|
"time"
|
|
|
|
"code.gitea.io/gitea/modules/util"
|
|
)
|
|
|
|
// Signature represents the Author, Committer or Tagger information.
|
|
type Signature struct {
|
|
Name string // the committer name, it can be anything
|
|
Email string // the committer email, it can be anything
|
|
When time.Time // the timestamp of the signature
|
|
}
|
|
|
|
func (s *Signature) String() string {
|
|
return fmt.Sprintf("%s <%s>", s.Name, s.Email)
|
|
}
|
|
|
|
// Decode decodes a byte array representing a signature to signature
|
|
func (s *Signature) Decode(b []byte) {
|
|
*s = *parseSignatureFromCommitLine(util.UnsafeBytesToString(b))
|
|
}
|