@@ -51,16 +51,12 @@ func (repo *Repository) readTreeToIndex(id ObjectID, indexFilename ...string) er
5151
5252// ReadTreeToTemporaryIndex reads a treeish to a temporary index file
5353func (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" )
6054 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 )
6460 }
6561 }
6662
@@ -71,6 +67,13 @@ func (repo *Repository) ReadTreeToTemporaryIndex(treeish string) (filename, tmpD
7167 }
7268 }()
7369
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+
7477 err = repo .ReadTreeToIndex (treeish , filename )
7578 if err != nil {
7679 return "" , "" , func () {}, err
0 commit comments