X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=remote%2Fsync%2Ffiles.go;h=56c9ff0003af3c35d9153ba471655479bbc33efe;hb=e0240a60023841709f8095e475d13d090f17e915;hp=9803e936093d1c3edf59c3881ac2966a041ab3c2;hpb=ba1a93368ed95d7160062f60fb8b579bc178d3aa;p=safcm%2Fsafcm.git diff --git a/remote/sync/files.go b/remote/sync/files.go index 9803e93..56c9ff0 100644 --- a/remote/sync/files.go +++ b/remote/sync/files.go @@ -1,6 +1,6 @@ // MsgSyncReq: copy files to the remote host -// Copyright (C) 2021 Simon Ruderich +// Copyright (C) 2021-2023 Simon Ruderich // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by @@ -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)