code: def prepare_index_file(self):
          
          if os.getenv('AETROS_GIT_INDEX_FILE'):
              self.index_path = os.getenv('AETROS_GIT_INDEX_FILE')
              return
  
          import tempfile
          h, path = tempfile.mkstemp('aetros-git', '', self.temp_path)
  
          self.index_path = path
  
          # we give git a unique file path for that index. However, git expect it to be non-existent for empty indexes.
          # empty file would lead to "fatal: index file smaller than expected"
          os.close(h)
          os.unlink(self.index_path)
  
          self.logger.debug('GIT_INDEX_FILE created at ' + self.index_path)
docs: Makes sure that GIT index file we use per job (by modifying environment variable GIT_INDEX_FILE)
          is not locked and empty. Git.fetch_job uses `git read-tree` to updates this index. For new jobs, we start
          with an empty index - that's why we delete it every time.