blob: 17ff62797935c594a6a15fdf47c255b6fc06f69a (
about) (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
package service
import (
"crypto/rand"
"os"
)
// createQuarantineRoot creates one per-push quarantine directory beneath the
// permanent objects root.
func (service *Service) createQuarantineRoot() (string, *os.Root, error) {
name := "tmp_objdir-incoming-" + rand.Text()
err := service.opts.ObjectsRoot.Mkdir(name, 0o700)
if err != nil {
return "", nil, err
}
root, err := service.opts.ObjectsRoot.OpenRoot(name)
if err != nil {
_ = service.opts.ObjectsRoot.RemoveAll(name)
return "", nil, err
}
return name, root, nil
}
|