gitea源码

temp.go 651B

1234567891011121314151617181920212223
  1. // Copyright 2019 The Gitea Authors. All rights reserved.
  2. // SPDX-License-Identifier: MIT
  3. package repository
  4. import (
  5. "context"
  6. "fmt"
  7. "code.gitea.io/gitea/modules/log"
  8. "code.gitea.io/gitea/modules/setting"
  9. )
  10. // CreateTemporaryPath creates a temporary path
  11. func CreateTemporaryPath(prefix string) (string, context.CancelFunc, error) {
  12. basePath, cleanup, err := setting.AppDataTempDir("local-repo").MkdirTempRandom(prefix + ".git")
  13. if err != nil {
  14. log.Error("Unable to create temporary directory: %s-*.git (%v)", prefix, err)
  15. return "", nil, fmt.Errorf("failed to create dir %s-*.git: %w", prefix, err)
  16. }
  17. return basePath, cleanup, nil
  18. }