|
|
@@ -8,8 +8,10 @@ import ( |
|
|
|
"bufio" |
|
|
|
"bytes" |
|
|
|
"context" |
|
|
|
"fmt" |
|
|
|
"io" |
|
|
|
"math" |
|
|
|
"runtime" |
|
|
|
"strconv" |
|
|
|
"strings" |
|
|
|
|
|
|
@@ -40,9 +42,14 @@ func CatFileBatchCheck(repoPath string) (WriteCloserError, *bufio.Reader, func() |
|
|
|
<-closed |
|
|
|
} |
|
|
|
|
|
|
|
_, filename, line, _ := runtime.Caller(2) |
|
|
|
filename = strings.TrimPrefix(filename, callerPrefix) |
|
|
|
|
|
|
|
go func() { |
|
|
|
stderr := strings.Builder{} |
|
|
|
err := NewCommandContext(ctx, "cat-file", "--batch-check").RunInDirFullPipeline(repoPath, batchStdoutWriter, &stderr, batchStdinReader) |
|
|
|
err := NewCommandContext(ctx, "cat-file", "--batch-check"). |
|
|
|
SetDescription(fmt.Sprintf("%s cat-file --batch-check [repo_path: %s] (%s:%d)", GitExecutable, repoPath, filename, line)). |
|
|
|
RunInDirFullPipeline(repoPath, batchStdoutWriter, &stderr, batchStdinReader) |
|
|
|
if err != nil { |
|
|
|
_ = batchStdoutWriter.CloseWithError(ConcatenateError(err, (&stderr).String())) |
|
|
|
_ = batchStdinReader.CloseWithError(ConcatenateError(err, (&stderr).String())) |
|
|
@@ -76,9 +83,14 @@ func CatFileBatch(repoPath string) (WriteCloserError, *bufio.Reader, func()) { |
|
|
|
<-closed |
|
|
|
} |
|
|
|
|
|
|
|
_, filename, line, _ := runtime.Caller(2) |
|
|
|
filename = strings.TrimPrefix(filename, callerPrefix) |
|
|
|
|
|
|
|
go func() { |
|
|
|
stderr := strings.Builder{} |
|
|
|
err := NewCommandContext(ctx, "cat-file", "--batch").RunInDirFullPipeline(repoPath, batchStdoutWriter, &stderr, batchStdinReader) |
|
|
|
err := NewCommandContext(ctx, "cat-file", "--batch"). |
|
|
|
SetDescription(fmt.Sprintf("%s cat-file --batch [repo_path: %s] (%s:%d)", GitExecutable, repoPath, filename, line)). |
|
|
|
RunInDirFullPipeline(repoPath, batchStdoutWriter, &stderr, batchStdinReader) |
|
|
|
if err != nil { |
|
|
|
_ = batchStdoutWriter.CloseWithError(ConcatenateError(err, (&stderr).String())) |
|
|
|
_ = batchStdinReader.CloseWithError(ConcatenateError(err, (&stderr).String())) |
|
|
@@ -292,3 +304,10 @@ func ParseTreeLine(rd *bufio.Reader, modeBuf, fnameBuf, shaBuf []byte) (mode, fn |
|
|
|
sha = shaBuf |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
var callerPrefix string |
|
|
|
|
|
|
|
func init() { |
|
|
|
_, filename, _, _ := runtime.Caller(0) |
|
|
|
callerPrefix = strings.TrimSuffix(filename, "modules/git/batch_reader.go") |
|
|
|
} |