diff --git a/backend/src/setup.rs b/backend/src/setup.rs index a11f07825..dd8b8af61 100644 --- a/backend/src/setup.rs +++ b/backend/src/setup.rs @@ -429,6 +429,7 @@ async fn migrate( ignore_existing: false, exclude: Vec::new(), no_permissions: false, + no_owner: false, }, ) .await?; @@ -441,6 +442,7 @@ async fn migrate( ignore_existing: false, exclude: vec!["tmp".to_owned()], no_permissions: false, + no_owner: false, }, ) .await?; diff --git a/backend/src/update/mod.rs b/backend/src/update/mod.rs index b9c1f03bd..f3922e79e 100644 --- a/backend/src/update/mod.rs +++ b/backend/src/update/mod.rs @@ -306,6 +306,7 @@ async fn sync_boot() -> Result<(), Error> { ignore_existing: false, exclude: Vec::new(), no_permissions: false, + no_owner: false, }, ) .await? diff --git a/libs/helpers/src/rsync.rs b/libs/helpers/src/rsync.rs index 314f1283b..c09ac3d64 100644 --- a/libs/helpers/src/rsync.rs +++ b/libs/helpers/src/rsync.rs @@ -23,6 +23,8 @@ pub struct RsyncOptions { pub exclude: Vec, #[serde(default = "const_true")] pub no_permissions: bool, + #[serde(default = "const_true")] + pub no_owner: bool, } impl Default for RsyncOptions { fn default() -> Self { @@ -32,6 +34,7 @@ impl Default for RsyncOptions { ignore_existing: false, exclude: Vec::new(), no_permissions: false, + no_owner: false, } } } @@ -61,6 +64,9 @@ impl Rsync { if options.no_permissions { cmd.arg("--no-perms"); } + if options.no_owner { + cmd.arg("--no-owner"); + } for exclude in options.exclude { cmd.arg(format!("--exclude={}", exclude)); }