code.gitea.io/gitea@v1.19.3/modules/git/pipeline/namerev.go (about) 1 // Copyright 2019 The Gitea Authors. All rights reserved. 2 // SPDX-License-Identifier: MIT 3 4 package pipeline 5 6 import ( 7 "bytes" 8 "context" 9 "fmt" 10 "io" 11 "strings" 12 "sync" 13 14 "code.gitea.io/gitea/modules/git" 15 ) 16 17 // NameRevStdin runs name-rev --stdin 18 func NameRevStdin(ctx context.Context, shasToNameReader *io.PipeReader, nameRevStdinWriter *io.PipeWriter, wg *sync.WaitGroup, tmpBasePath string) { 19 defer wg.Done() 20 defer shasToNameReader.Close() 21 defer nameRevStdinWriter.Close() 22 23 stderr := new(bytes.Buffer) 24 var errbuf strings.Builder 25 if err := git.NewCommand(ctx, "name-rev", "--stdin", "--name-only", "--always").Run(&git.RunOpts{ 26 Dir: tmpBasePath, 27 Stdout: nameRevStdinWriter, 28 Stdin: shasToNameReader, 29 Stderr: stderr, 30 }); err != nil { 31 _ = shasToNameReader.CloseWithError(fmt.Errorf("git name-rev [%s]: %w - %s", tmpBasePath, err, errbuf.String())) 32 } 33 }