diff options
author | John Cai <jcai@gitlab.com> | 2019-09-20 22:33:30 +0300 |
---|---|---|
committer | John Cai <jcai@gitlab.com> | 2019-09-24 20:05:34 +0300 |
commit | 0716af79e6ea3438d3e68a43ad396df64184d545 (patch) | |
tree | 2b682901a34539b65e03884345add10609811cde | |
parent | 1df8aa6317b82ad89fce7951aecf90e973eb7d59 (diff) |
Ensure temp dir exists before removing repository
-rw-r--r-- | changelogs/unreleased/jc-ensure-temp-dir-exists.yml | 5 | ||||
-rw-r--r-- | internal/service/repository/remove.go | 5 |
2 files changed, 10 insertions, 0 deletions
diff --git a/changelogs/unreleased/jc-ensure-temp-dir-exists.yml b/changelogs/unreleased/jc-ensure-temp-dir-exists.yml new file mode 100644 index 000000000..6e3f820ae --- /dev/null +++ b/changelogs/unreleased/jc-ensure-temp-dir-exists.yml @@ -0,0 +1,5 @@ +--- +title: Ensure temp dir exists when removing a repository +merge_request: 1509 +author: +type: fixed diff --git a/internal/service/repository/remove.go b/internal/service/repository/remove.go index d81bf7b27..387d8d341 100644 --- a/internal/service/repository/remove.go +++ b/internal/service/repository/remove.go @@ -25,6 +25,11 @@ func (s *server) RemoveRepository(ctx context.Context, in *gitalypb.RemoveReposi base := filepath.Base(path) tempDir := tempdir.TempDir(storage) + + if err = os.MkdirAll(tempDir, 0755); err != nil { + return nil, helper.ErrInternal(err) + } + destDir := filepath.Join(tempDir, base+"+removed") if err = os.Rename(path, destDir); err != nil { |