mirror of
https://github.com/harness/drone.git
synced 2025-05-02 13:40:22 +00:00
* initial work on commit files * minor improvements, grpc server interceptors and more * compare file old sha and current sha * added some validation steps * config immutable, introduce temp repos dir * handler added to standalone * fix CI linter, fix minor bug on update * wire generator files
33 lines
922 B
Go
33 lines
922 B
Go
// Copyright 2022 Harness Inc. All rights reserved.
|
|
// Use of this source code is governed by the Polyform Free Trial License
|
|
// that can be found in the LICENSE.md file for this repository.
|
|
|
|
package tempdir
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
)
|
|
|
|
// CreateTemporaryPath creates a temporary path.
|
|
func CreateTemporaryPath(reposTempPath, prefix string) (string, error) {
|
|
if reposTempPath != "" {
|
|
if err := os.MkdirAll(reposTempPath, os.ModePerm); err != nil {
|
|
return "", fmt.Errorf("failed to create directory %s: %w", reposTempPath, err)
|
|
}
|
|
}
|
|
basePath, err := os.MkdirTemp(reposTempPath, prefix+".git")
|
|
if err != nil {
|
|
return "", fmt.Errorf("failed to create dir %s-*.git: %w", prefix, err)
|
|
}
|
|
return basePath, nil
|
|
}
|
|
|
|
// RemoveTemporaryPath removes the temporary path.
|
|
func RemoveTemporaryPath(basePath string) error {
|
|
if _, err := os.Stat(basePath); !os.IsNotExist(err) {
|
|
return os.RemoveAll(basePath)
|
|
}
|
|
return nil
|
|
}
|