mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-29 10:57:44 +09:00 
			
		
		
		
	Only use --exclude on name-rev with git >= 2.13 (#12347)
Fix #11917 Signed-off-by: Andrew Thornton <art27@cantab.net>
This commit is contained in:
		| @@ -21,6 +21,7 @@ import ( | |||||||
| 	"strings" | 	"strings" | ||||||
|  |  | ||||||
| 	"github.com/go-git/go-git/v5/plumbing/object" | 	"github.com/go-git/go-git/v5/plumbing/object" | ||||||
|  | 	"github.com/mcuadros/go-version" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| // Commit represents a git commit. | // Commit represents a git commit. | ||||||
| @@ -468,7 +469,20 @@ func (c *Commit) GetSubModule(entryname string) (*SubModule, error) { | |||||||
|  |  | ||||||
| // GetBranchName gets the closest branch name (as returned by 'git name-rev --name-only') | // GetBranchName gets the closest branch name (as returned by 'git name-rev --name-only') | ||||||
| func (c *Commit) GetBranchName() (string, error) { | func (c *Commit) GetBranchName() (string, error) { | ||||||
| 	data, err := NewCommand("name-rev", "--exclude", "refs/tags/*", "--name-only", "--no-undefined", c.ID.String()).RunInDir(c.repo.Path) | 	binVersion, err := BinVersion() | ||||||
|  | 	if err != nil { | ||||||
|  | 		return "", fmt.Errorf("Git version missing: %v", err) | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	args := []string{ | ||||||
|  | 		"name-rev", | ||||||
|  | 	} | ||||||
|  | 	if version.Compare(binVersion, "2.13.0", ">=") { | ||||||
|  | 		args = append(args, "--exclude", "refs/tags/*") | ||||||
|  | 	} | ||||||
|  | 	args = append(args, "--name-only", "--no-undefined", c.ID.String()) | ||||||
|  |  | ||||||
|  | 	data, err := NewCommand(args...).RunInDir(c.repo.Path) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		// handle special case where git can not describe commit | 		// handle special case where git can not describe commit | ||||||
| 		if strings.Contains(err.Error(), "cannot describe") { | 		if strings.Contains(err.Error(), "cannot describe") { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user