From 68af55e98321597f79cb1c1b43f6b6f361f5d2aa Mon Sep 17 00:00:00 2001 From: Alexander Weiss Date: Tue, 22 Jul 2025 06:23:06 +0200 Subject: [PATCH 1/4] move examples in rustic_core crate --- Cargo.lock | 118 ------------------ Cargo.toml | 1 - crates/core/Cargo.toml | 39 ++++++ .../backup => crates/core}/examples/backup.rs | 0 .../check => crates/core}/examples/check.rs | 0 .../config => crates/core}/examples/config.rs | 0 .../copy => crates/core}/examples/copy.rs | 0 .../find => crates/core}/examples/find.rs | 0 .../forget => crates/core}/examples/forget.rs | 0 .../init => crates/core}/examples/init.rs | 0 {examples/key => crates/core}/examples/key.rs | 0 {examples/ls => crates/core}/examples/ls.rs | 0 .../merge => crates/core}/examples/merge.rs | 0 .../prune => crates/core}/examples/prune.rs | 0 .../core}/examples/restore.rs | 0 {examples/tag => crates/core}/examples/tag.rs | 0 examples/backup/Cargo.toml | 16 --- examples/check/Cargo.toml | 16 --- examples/config/Cargo.toml | 16 --- examples/copy/Cargo.toml | 16 --- examples/find/Cargo.toml | 17 --- examples/forget/Cargo.toml | 16 --- examples/init/Cargo.toml | 16 --- examples/key/Cargo.toml | 16 --- examples/ls/Cargo.toml | 16 --- examples/merge/Cargo.toml | 16 --- examples/prune/Cargo.toml | 16 --- examples/restore/Cargo.toml | 16 --- examples/tag/Cargo.toml | 16 --- 29 files changed, 39 insertions(+), 328 deletions(-) rename {examples/backup => crates/core}/examples/backup.rs (100%) rename {examples/check => crates/core}/examples/check.rs (100%) rename {examples/config => crates/core}/examples/config.rs (100%) rename {examples/copy => crates/core}/examples/copy.rs (100%) rename {examples/find => crates/core}/examples/find.rs (100%) rename {examples/forget => crates/core}/examples/forget.rs (100%) rename {examples/init => crates/core}/examples/init.rs (100%) rename {examples/key => crates/core}/examples/key.rs (100%) rename {examples/ls => crates/core}/examples/ls.rs (100%) rename {examples/merge => crates/core}/examples/merge.rs (100%) rename {examples/prune => crates/core}/examples/prune.rs (100%) rename {examples/restore => crates/core}/examples/restore.rs (100%) rename {examples/tag => crates/core}/examples/tag.rs (100%) delete mode 100644 examples/backup/Cargo.toml delete mode 100644 examples/check/Cargo.toml delete mode 100644 examples/config/Cargo.toml delete mode 100644 examples/copy/Cargo.toml delete mode 100644 examples/find/Cargo.toml delete mode 100644 examples/forget/Cargo.toml delete mode 100644 examples/init/Cargo.toml delete mode 100644 examples/key/Cargo.toml delete mode 100644 examples/ls/Cargo.toml delete mode 100644 examples/merge/Cargo.toml delete mode 100644 examples/prune/Cargo.toml delete mode 100644 examples/restore/Cargo.toml delete mode 100644 examples/tag/Cargo.toml diff --git a/Cargo.lock b/Cargo.lock index dd15e6b3..4c6e83ee 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -234,15 +234,6 @@ dependencies = [ "windows-targets 0.52.6", ] -[[package]] -name = "backup" -version = "0.1.0" -dependencies = [ - "rustic_backend", - "rustic_core", - "simplelog", -] - [[package]] name = "base64" version = "0.13.1" @@ -483,15 +474,6 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" -[[package]] -name = "check" -version = "0.1.0" -dependencies = [ - "rustic_backend", - "rustic_core", - "simplelog", -] - [[package]] name = "chrono" version = "0.4.40" @@ -584,15 +566,6 @@ dependencies = [ "triomphe", ] -[[package]] -name = "config" -version = "0.1.0" -dependencies = [ - "rustic_backend", - "rustic_core", - "simplelog", -] - [[package]] name = "conflate" version = "0.3.3" @@ -653,15 +626,6 @@ dependencies = [ "tiny-keccak", ] -[[package]] -name = "copy" -version = "0.1.0" -dependencies = [ - "rustic_backend", - "rustic_core", - "simplelog", -] - [[package]] name = "core-foundation" version = "0.10.0" @@ -1102,16 +1066,6 @@ dependencies = [ "windows-sys 0.59.0", ] -[[package]] -name = "find" -version = "0.1.0" -dependencies = [ - "globset", - "rustic_backend", - "rustic_core", - "simplelog", -] - [[package]] name = "flate2" version = "1.1.1" @@ -1134,15 +1088,6 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" -[[package]] -name = "forget" -version = "0.1.0" -dependencies = [ - "rustic_backend", - "rustic_core", - "simplelog", -] - [[package]] name = "form_urlencoded" version = "1.2.1" @@ -1743,15 +1688,6 @@ dependencies = [ "serde", ] -[[package]] -name = "init" -version = "0.1.0" -dependencies = [ - "rustic_backend", - "rustic_core", - "simplelog", -] - [[package]] name = "inout" version = "0.1.4" @@ -1850,15 +1786,6 @@ dependencies = [ "simple_asn1", ] -[[package]] -name = "key" -version = "0.1.0" -dependencies = [ - "rustic_backend", - "rustic_core", - "simplelog", -] - [[package]] name = "lazy_static" version = "1.5.0" @@ -1938,15 +1865,6 @@ dependencies = [ "tracing-subscriber", ] -[[package]] -name = "ls" -version = "0.1.0" -dependencies = [ - "rustic_backend", - "rustic_core", - "simplelog", -] - [[package]] name = "matchers" version = "0.1.0" @@ -1972,15 +1890,6 @@ version = "2.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" -[[package]] -name = "merge" -version = "0.1.0" -dependencies = [ - "rustic_backend", - "rustic_core", - "simplelog", -] - [[package]] name = "mime" version = "0.3.17" @@ -2732,15 +2641,6 @@ dependencies = [ "syn 2.0.100", ] -[[package]] -name = "prune" -version = "0.1.0" -dependencies = [ - "rustic_backend", - "rustic_core", - "simplelog", -] - [[package]] name = "quanta" version = "0.12.5" @@ -3092,15 +2992,6 @@ dependencies = [ "windows-registry", ] -[[package]] -name = "restore" -version = "0.1.0" -dependencies = [ - "rustic_backend", - "rustic_core", - "simplelog", -] - [[package]] name = "ring" version = "0.17.14" @@ -3896,15 +3787,6 @@ dependencies = [ "syn 2.0.100", ] -[[package]] -name = "tag" -version = "0.1.0" -dependencies = [ - "rustic_backend", - "rustic_core", - "simplelog", -] - [[package]] name = "tagptr" version = "0.2.0" diff --git a/Cargo.toml b/Cargo.toml index a8c0955b..955b216e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,7 +4,6 @@ members = [ "crates/config", "crates/core", "crates/testing", - "examples/*", ] resolver = "3" diff --git a/crates/core/Cargo.toml b/crates/core/Cargo.toml index 237e3ea8..5939e5c2 100644 --- a/crates/core/Cargo.toml +++ b/crates/core/Cargo.toml @@ -140,3 +140,42 @@ toml = "0.8.20" [lints] workspace = true + +[[example]] +name = "backup" + +[[example]] +name = "check" + +[[example]] +name = "config" + +[[example]] +name = "copy" + +[[example]] +name = "find" + +[[example]] +name = "forget" + +[[example]] +name = "init" + +[[example]] +name = "key" + +[[example]] +name = "ls" + +[[example]] +name = "merge" + +[[example]] +name = "prune" + +[[example]] +name = "restore" + +[[example]] +name = "tag" diff --git a/examples/backup/examples/backup.rs b/crates/core/examples/backup.rs similarity index 100% rename from examples/backup/examples/backup.rs rename to crates/core/examples/backup.rs diff --git a/examples/check/examples/check.rs b/crates/core/examples/check.rs similarity index 100% rename from examples/check/examples/check.rs rename to crates/core/examples/check.rs diff --git a/examples/config/examples/config.rs b/crates/core/examples/config.rs similarity index 100% rename from examples/config/examples/config.rs rename to crates/core/examples/config.rs diff --git a/examples/copy/examples/copy.rs b/crates/core/examples/copy.rs similarity index 100% rename from examples/copy/examples/copy.rs rename to crates/core/examples/copy.rs diff --git a/examples/find/examples/find.rs b/crates/core/examples/find.rs similarity index 100% rename from examples/find/examples/find.rs rename to crates/core/examples/find.rs diff --git a/examples/forget/examples/forget.rs b/crates/core/examples/forget.rs similarity index 100% rename from examples/forget/examples/forget.rs rename to crates/core/examples/forget.rs diff --git a/examples/init/examples/init.rs b/crates/core/examples/init.rs similarity index 100% rename from examples/init/examples/init.rs rename to crates/core/examples/init.rs diff --git a/examples/key/examples/key.rs b/crates/core/examples/key.rs similarity index 100% rename from examples/key/examples/key.rs rename to crates/core/examples/key.rs diff --git a/examples/ls/examples/ls.rs b/crates/core/examples/ls.rs similarity index 100% rename from examples/ls/examples/ls.rs rename to crates/core/examples/ls.rs diff --git a/examples/merge/examples/merge.rs b/crates/core/examples/merge.rs similarity index 100% rename from examples/merge/examples/merge.rs rename to crates/core/examples/merge.rs diff --git a/examples/prune/examples/prune.rs b/crates/core/examples/prune.rs similarity index 100% rename from examples/prune/examples/prune.rs rename to crates/core/examples/prune.rs diff --git a/examples/restore/examples/restore.rs b/crates/core/examples/restore.rs similarity index 100% rename from examples/restore/examples/restore.rs rename to crates/core/examples/restore.rs diff --git a/examples/tag/examples/tag.rs b/crates/core/examples/tag.rs similarity index 100% rename from examples/tag/examples/tag.rs rename to crates/core/examples/tag.rs diff --git a/examples/backup/Cargo.toml b/examples/backup/Cargo.toml deleted file mode 100644 index 87b5f29f..00000000 --- a/examples/backup/Cargo.toml +++ /dev/null @@ -1,16 +0,0 @@ -[package] -name = "backup" -version = "0.1.0" -edition = "2021" -license = "Apache-2.0 OR MIT" -publish = false - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[dependencies] -rustic_backend = { workspace = true } -rustic_core = { workspace = true } -simplelog = { workspace = true } - -[[example]] -name = "backup" diff --git a/examples/check/Cargo.toml b/examples/check/Cargo.toml deleted file mode 100644 index cae8bb80..00000000 --- a/examples/check/Cargo.toml +++ /dev/null @@ -1,16 +0,0 @@ -[package] -name = "check" -version = "0.1.0" -edition = "2021" -license = "Apache-2.0 OR MIT" -publish = false - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[dependencies] -rustic_backend = { workspace = true } -rustic_core = { workspace = true } -simplelog = { workspace = true } - -[[example]] -name = "check" diff --git a/examples/config/Cargo.toml b/examples/config/Cargo.toml deleted file mode 100644 index c28c6c07..00000000 --- a/examples/config/Cargo.toml +++ /dev/null @@ -1,16 +0,0 @@ -[package] -name = "config" -version = "0.1.0" -edition = "2021" -license = "Apache-2.0 OR MIT" -publish = false - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[dependencies] -rustic_backend = { workspace = true } -rustic_core = { workspace = true } -simplelog = { workspace = true } - -[[example]] -name = "config" diff --git a/examples/copy/Cargo.toml b/examples/copy/Cargo.toml deleted file mode 100644 index 2d1f5fa3..00000000 --- a/examples/copy/Cargo.toml +++ /dev/null @@ -1,16 +0,0 @@ -[package] -name = "copy" -version = "0.1.0" -edition = "2021" -license = "Apache-2.0 OR MIT" -publish = false - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[dependencies] -rustic_backend = { workspace = true } -rustic_core = { workspace = true } -simplelog = { workspace = true } - -[[example]] -name = "copy" diff --git a/examples/find/Cargo.toml b/examples/find/Cargo.toml deleted file mode 100644 index adee4527..00000000 --- a/examples/find/Cargo.toml +++ /dev/null @@ -1,17 +0,0 @@ -[package] -name = "find" -version = "0.1.0" -edition = "2021" -license = "Apache-2.0 OR MIT" -publish = false - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[dependencies] -globset = "0.4.16" -rustic_backend = { workspace = true } -rustic_core = { workspace = true } -simplelog = { workspace = true } - -[[example]] -name = "find" diff --git a/examples/forget/Cargo.toml b/examples/forget/Cargo.toml deleted file mode 100644 index d038c01d..00000000 --- a/examples/forget/Cargo.toml +++ /dev/null @@ -1,16 +0,0 @@ -[package] -name = "forget" -version = "0.1.0" -edition = "2021" -license = "Apache-2.0 OR MIT" -publish = false - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[dependencies] -rustic_backend = { workspace = true } -rustic_core = { workspace = true } -simplelog = { workspace = true } - -[[example]] -name = "forget" diff --git a/examples/init/Cargo.toml b/examples/init/Cargo.toml deleted file mode 100644 index b7c1dc94..00000000 --- a/examples/init/Cargo.toml +++ /dev/null @@ -1,16 +0,0 @@ -[package] -name = "init" -version = "0.1.0" -edition = "2021" -license = "Apache-2.0 OR MIT" -publish = false - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[dependencies] -rustic_backend = { workspace = true } -rustic_core = { workspace = true } -simplelog = { workspace = true } - -[[example]] -name = "init" diff --git a/examples/key/Cargo.toml b/examples/key/Cargo.toml deleted file mode 100644 index 315735fb..00000000 --- a/examples/key/Cargo.toml +++ /dev/null @@ -1,16 +0,0 @@ -[package] -name = "key" -version = "0.1.0" -edition = "2021" -license = "Apache-2.0 OR MIT" -publish = false - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[dependencies] -rustic_backend = { workspace = true } -rustic_core = { workspace = true } -simplelog = { workspace = true } - -[[example]] -name = "key" diff --git a/examples/ls/Cargo.toml b/examples/ls/Cargo.toml deleted file mode 100644 index fc7c0db1..00000000 --- a/examples/ls/Cargo.toml +++ /dev/null @@ -1,16 +0,0 @@ -[package] -name = "ls" -version = "0.1.0" -edition = "2021" -license = "Apache-2.0 OR MIT" -publish = false - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[dependencies] -rustic_backend = { workspace = true } -rustic_core = { workspace = true } -simplelog = { workspace = true } - -[[example]] -name = "ls" diff --git a/examples/merge/Cargo.toml b/examples/merge/Cargo.toml deleted file mode 100644 index 5feb29c5..00000000 --- a/examples/merge/Cargo.toml +++ /dev/null @@ -1,16 +0,0 @@ -[package] -name = "merge" -version = "0.1.0" -edition = "2021" -license = "Apache-2.0 OR MIT" -publish = false - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[dependencies] -rustic_backend = { workspace = true } -rustic_core = { workspace = true } -simplelog = { workspace = true } - -[[example]] -name = "merge" diff --git a/examples/prune/Cargo.toml b/examples/prune/Cargo.toml deleted file mode 100644 index 9ff4532f..00000000 --- a/examples/prune/Cargo.toml +++ /dev/null @@ -1,16 +0,0 @@ -[package] -name = "prune" -version = "0.1.0" -edition = "2021" -license = "Apache-2.0 OR MIT" -publish = false - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[dependencies] -rustic_backend = { workspace = true } -rustic_core = { workspace = true } -simplelog = { workspace = true } - -[[example]] -name = "prune" diff --git a/examples/restore/Cargo.toml b/examples/restore/Cargo.toml deleted file mode 100644 index 6a74e6d1..00000000 --- a/examples/restore/Cargo.toml +++ /dev/null @@ -1,16 +0,0 @@ -[package] -name = "restore" -version = "0.1.0" -edition = "2021" -license = "Apache-2.0 OR MIT" -publish = false - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[dependencies] -rustic_backend = { workspace = true } -rustic_core = { workspace = true } -simplelog = { workspace = true } - -[[example]] -name = "restore" diff --git a/examples/tag/Cargo.toml b/examples/tag/Cargo.toml deleted file mode 100644 index 023e5822..00000000 --- a/examples/tag/Cargo.toml +++ /dev/null @@ -1,16 +0,0 @@ -[package] -name = "tag" -version = "0.1.0" -edition = "2021" -license = "Apache-2.0 OR MIT" -publish = false - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[dependencies] -rustic_backend = { workspace = true } -rustic_core = { workspace = true } -simplelog = { workspace = true } - -[[example]] -name = "tag" From 0648ab35e0424b1e05c32c7754bb30d52c94dcc4 Mon Sep 17 00:00:00 2001 From: Alexander Weiss Date: Tue, 22 Jul 2025 08:19:53 +0200 Subject: [PATCH 2/4] fmt and clippy for examples --- crates/core/examples/config.rs | 4 ++-- crates/core/examples/ls.rs | 2 +- crates/core/examples/merge.rs | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/crates/core/examples/config.rs b/crates/core/examples/config.rs index 88b662bd..c970f7f4 100644 --- a/crates/core/examples/config.rs +++ b/crates/core/examples/config.rs @@ -1,6 +1,6 @@ //! `config` example use rustic_backend::BackendOptions; -use rustic_core::{max_compression_level, ConfigOptions, Repository, RepositoryOptions}; +use rustic_core::{ConfigOptions, Repository, RepositoryOptions, max_compression_level}; use simplelog::{Config, LevelFilter, SimpleLogger}; use std::error::Error; @@ -19,6 +19,6 @@ fn main() -> Result<(), Box> { // Set Config, e.g. Compression level let config_opts = ConfigOptions::default().set_compression(max_compression_level()); - repo.apply_config(&config_opts)?; + _ = repo.apply_config(&config_opts)?; Ok(()) } diff --git a/crates/core/examples/ls.rs b/crates/core/examples/ls.rs index 42bc2e23..fa9de250 100644 --- a/crates/core/examples/ls.rs +++ b/crates/core/examples/ls.rs @@ -27,7 +27,7 @@ fn main() -> Result<(), Box> { let ls_opts = LsOptions::default(); for item in repo.ls(&node, &ls_opts)? { let (path, _) = item?; - println!("{path:?} "); + println!("{}", path.display()); } Ok(()) } diff --git a/crates/core/examples/merge.rs b/crates/core/examples/merge.rs index b193bdbe..8f8a052a 100644 --- a/crates/core/examples/merge.rs +++ b/crates/core/examples/merge.rs @@ -1,6 +1,6 @@ //! `merge` example use rustic_backend::BackendOptions; -use rustic_core::{last_modified_node, repofile::SnapshotFile, Repository, RepositoryOptions}; +use rustic_core::{Repository, RepositoryOptions, last_modified_node, repofile::SnapshotFile}; use simplelog::{Config, LevelFilter, SimpleLogger}; use std::error::Error; From 5cd6ffde9b67b3005c460b50edf1ccce16f7a9e6 Mon Sep 17 00:00:00 2001 From: Alexander Weiss Date: Tue, 22 Jul 2025 08:42:35 +0200 Subject: [PATCH 3/4] clippy for examples --- crates/core/examples/key.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/core/examples/key.rs b/crates/core/examples/key.rs index 0415eaad..d7651d03 100644 --- a/crates/core/examples/key.rs +++ b/crates/core/examples/key.rs @@ -20,6 +20,6 @@ fn main() -> Result<(), Box> { // Add a new key with the given password let key_opts = KeyOptions::default(); - repo.add_key("new_password", &key_opts)?; + _ = repo.add_key("new_password", &key_opts)?; Ok(()) } From 85e78e285f913f710e1adf9eff0e43ef1008d920 Mon Sep 17 00:00:00 2001 From: Alexander Weiss Date: Tue, 22 Jul 2025 09:33:13 +0200 Subject: [PATCH 4/4] clippy for examples --- crates/core/examples/find.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/crates/core/examples/find.rs b/crates/core/examples/find.rs index a1f06d1a..ddc69d1e 100644 --- a/crates/core/examples/find.rs +++ b/crates/core/examples/find.rs @@ -34,7 +34,11 @@ fn main() -> Result<(), Box> { for (snap, matches) in snapshots.iter().zip(matches) { println!("results in {snap:?}"); for (path_idx, node_idx) in matches { - println!("path: {:?}, node: {:?}", paths[path_idx], nodes[node_idx]); + println!( + "path: {}, node: {:?}", + paths[path_idx].display(), + nodes[node_idx] + ); } }