@@ -51,16 +51,12 @@ func (repo *Repository) readTreeToIndex(id ObjectID, indexFilename ...string) er
51
51
52
52
// ReadTreeToTemporaryIndex reads a treeish to a temporary index file
53
53
func (repo * Repository ) ReadTreeToTemporaryIndex (treeish string ) (filename , tmpDir string , cancel context.CancelFunc , err error ) {
54
- tmpDir , err = os .MkdirTemp ("" , "index" )
55
- if err != nil {
56
- return filename , tmpDir , cancel , err
57
- }
58
-
59
- filename = filepath .Join (tmpDir , ".tmp-index" )
60
54
cancel = func () {
61
- err := util .RemoveAll (tmpDir )
62
- if err != nil {
63
- log .Error ("failed to remove tmp index file: %v" , err )
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 )
64
60
}
65
61
}
66
62
@@ -71,6 +67,13 @@ func (repo *Repository) ReadTreeToTemporaryIndex(treeish string) (filename, tmpD
71
67
}
72
68
}()
73
69
70
+ tmpDir , err = os .MkdirTemp ("" , "index" )
71
+ if err != nil {
72
+ return filename , tmpDir , cancel , err
73
+ }
74
+
75
+ filename = filepath .Join (tmpDir , ".tmp-index" )
76
+
74
77
err = repo .ReadTreeToIndex (treeish , filename )
75
78
if err != nil {
76
79
return "" , "" , func () {}, err
0 commit comments