Skip to content

Commit 18b8c58

Browse files
authored
Update repo_index.go
1 parent 812f8bb commit 18b8c58

File tree

1 file changed

+8
-11
lines changed

1 file changed

+8
-11
lines changed

modules/git/repo_index.go

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -51,18 +51,9 @@ func (repo *Repository) readTreeToIndex(id ObjectID, indexFilename ...string) er
5151

5252
// ReadTreeToTemporaryIndex reads a treeish to a temporary index file
5353
func (repo *Repository) ReadTreeToTemporaryIndex(treeish string) (filename, tmpDir string, cancel context.CancelFunc, err error) {
54-
cancel = func() {
55-
if tmpDir == "" {
56-
return
57-
}
58-
if removeErr := util.RemoveAll(tmpDir); removeErr != nil {
59-
log.Error("failed to remove tmp index file: %v", removeErr)
60-
}
61-
}
62-
63-
// Defer the cancel function to ensure cleanup in case of an error
6454
defer func() {
65-
if err != nil {
55+
// if error happens and there is a cancel function, do the clean up
56+
if err != nil && cancel != nil {
6657
cancel()
6758
}
6859
}()
@@ -73,6 +64,12 @@ func (repo *Repository) ReadTreeToTemporaryIndex(treeish string) (filename, tmpD
7364
}
7465

7566
filename = filepath.Join(tmpDir, ".tmp-index")
67+
cancel = func() {
68+
err := util.RemoveAll(tmpDir)
69+
if err != nil {
70+
log.Error("failed to remove tmp index file: %v", err)
71+
}
72+
}
7673

7774
err = repo.ReadTreeToIndex(treeish, filename)
7875
if err != nil {

0 commit comments

Comments
 (0)