]> ruderich.org/simon Gitweb - safcm/safcm.git/blobdiff - remote/sync/files.go
remote: support creating files with missing parents in dry-run
[safcm/safcm.git] / remote / sync / files.go
index 20f8505c0fff92a27f638575bda6a0c611ce2ad5..56c9ff0003af3c35d9153ba471655479bbc33efe 100644 (file)
@@ -132,6 +132,14 @@ func (s *Sync) syncFile(file *safcm.File, changed *bool) error {
 
        parentFd, baseName, err := OpenParentDirectoryNoSymlinks(file.Path)
        if err != nil {
+               if os.IsNotExist(err) && s.req.DryRun {
+                       change.Created = true
+                       debugf("will create (parent missing)")
+                       *changed = true
+                       debugf("dry-run, skipping changes")
+                       s.resp.FileChanges = append(s.resp.FileChanges, change)
+                       return nil
+               }
                return err
        }
        defer unix.Close(parentFd)