Skip to content

Commit af1131f

Browse files
committed
Fix bug
1 parent 4725a88 commit af1131f

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

modules/git/blame.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -133,13 +133,6 @@ func (r *BlameReader) Close() error {
133133

134134
// CreateBlameReader creates reader for given repository, commit and file
135135
func CreateBlameReader(ctx context.Context, objectFormat ObjectFormat, repoPath string, commit *Commit, file string, bypassBlameIgnore bool) (rd *BlameReader, err error) {
136-
reader, stdout, err := os.Pipe()
137-
if err != nil {
138-
return nil, err
139-
}
140-
141-
cmd := NewCommandNoGlobals("blame", "--porcelain")
142-
143136
var ignoreRevsFileName string
144137
var ignoreRevsFileCleanup func()
145138
defer func() {
@@ -148,6 +141,8 @@ func CreateBlameReader(ctx context.Context, objectFormat ObjectFormat, repoPath
148141
}
149142
}()
150143

144+
cmd := NewCommandNoGlobals("blame", "--porcelain")
145+
151146
if DefaultFeatures().CheckVersionAtLeast("2.23") && !bypassBlameIgnore {
152147
ignoreRevsFileName, ignoreRevsFileCleanup, err = tryCreateBlameIgnoreRevsFile(commit)
153148
if err != nil {
@@ -163,6 +158,11 @@ func CreateBlameReader(ctx context.Context, objectFormat ObjectFormat, repoPath
163158
cmd.AddDynamicArguments(commit.ID.String()).AddDashesAndList(file)
164159

165160
done := make(chan error, 1)
161+
// use err1 to not override err
162+
reader, stdout, err1 := os.Pipe()
163+
if err1 != nil {
164+
return nil, err1
165+
}
166166
go func() {
167167
stderr := bytes.Buffer{}
168168
// TODO: it doesn't work for directories (the directories shouldn't be "blamed"), and the "err" should be returned by "Read" but not by "Close"

0 commit comments

Comments
 (0)