mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-28 08:07:48 -04: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.
		
			
				
	
	
		
			31 lines
		
	
	
		
			774 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			31 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))
 | |
| }
 |