git-lfs/queues.go
rubyist d7af583c21 If given, add the filename to the upload queue
To support using filenames, your filter settings will need to have %f, as in:

[filter "media"]
	clean = git-media-clean %f
	smudge = git-media-smudge %f
2014-06-02 09:35:23 -06:00

55 lines
955 B
Go

package gitmedia
import (
"./queuedir"
"path/filepath"
)
func QueueUpload(sha, filename string) {
fileBody := sha
if filename != "" {
fileBody += ":" + filename
}
_, err := UploadQueue().AddString(fileBody)
if err != nil {
Panic(err, "Unable to add %s to queue", sha)
}
}
func WalkQueues(cb func(name string, queue *queuedir.Queue) error) error {
var err error
for name, queuefunc := range queues {
err = cb(name, queuefunc())
if err != nil {
return err
}
}
return err
}
func UploadQueue() *queuedir.Queue {
if uploadQueue == nil {
q, err := queueDir.Queue("upload")
if err != nil {
Panic(err, "Error setting up queue")
}
uploadQueue = q
}
return uploadQueue
}
func setupQueueDir() *queuedir.QueueDir {
return queuedir.New(filepath.Join(LocalMediaDir, "queue"))
}
var (
queues = map[string]func() *queuedir.Queue{
"upload": UploadQueue,
}
queueDir *queuedir.QueueDir
uploadQueue *queuedir.Queue
)