Commit Graph

1684 Commits

Author SHA1 Message Date
dependabot[bot]
a560857c09
build(deps): bump zip from 2.2.1 to 2.3.0 (#1432)
Bumps [zip](https://github.com/zip-rs/zip2) from 2.2.1 to 2.3.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/zip-rs/zip2/releases">zip's
releases</a>.</em></p>
<blockquote>
<h2>v2.3.0</h2>
<h3><!-- raw HTML omitted -->🚀 Features</h3>
<ul>
<li>Add support for NTFS extra field (<a
href="https://redirect.github.com/zip-rs/zip2/pull/279">#279</a>)</li>
</ul>
<h3><!-- raw HTML omitted -->🐛 Bug Fixes</h3>
<ul>
<li><em>(test)</em> Conditionalize a zip64 doctest (<a
href="https://redirect.github.com/zip-rs/zip2/pull/308">#308</a>)</li>
<li>fix failing tests, remove symlink loop check</li>
<li>Canonicalize output path to avoid false negatives</li>
<li>Symlink handling in stream extraction</li>
<li>Canonicalize output paths and symlink targets, and ensure they
descend from the destination</li>
</ul>
<h3><!-- raw HTML omitted -->⚙️ Miscellaneous Tasks</h3>
<ul>
<li>Fix clippy and cargo fmt warnings (<a
href="https://redirect.github.com/zip-rs/zip2/pull/310">#310</a>)</li>
</ul>
<h2>v2.2.3</h2>
<h3><!-- raw HTML omitted -->🚜 Refactor</h3>
<ul>
<li>Change the inner structure of <code>DateTime</code> (<a
href="https://redirect.github.com/zip-rs/zip2/issues/267">#267</a>)</li>
</ul>
<h3><!-- raw HTML omitted -->⚙️ Miscellaneous Tasks</h3>
<ul>
<li>cargo fix --edition</li>
</ul>
<h2>v2.2.2</h2>
<h3><!-- raw HTML omitted -->🐛 Bug Fixes</h3>
<ul>
<li>rewrite the EOCD/EOCD64 detection to fix extreme performance
regression (<a
href="https://redirect.github.com/zip-rs/zip2/issues/247">#247</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/zip-rs/zip2/blob/master/CHANGELOG.md">zip's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/zip-rs/zip2/compare/v2.2.3...v2.3.0">2.3.0</a>
- 2025-03-16</h2>
<h3><!-- raw HTML omitted -->🚀 Features</h3>
<ul>
<li>Add support for NTFS extra field (<a
href="https://redirect.github.com/zip-rs/zip2/pull/279">#279</a>)</li>
</ul>
<h3><!-- raw HTML omitted -->🐛 Bug Fixes</h3>
<ul>
<li><em>(test)</em> Conditionalize a zip64 doctest (<a
href="https://redirect.github.com/zip-rs/zip2/pull/308">#308</a>)</li>
<li>fix failing tests, remove symlink loop check</li>
<li>Canonicalize output path to avoid false negatives</li>
<li>Symlink handling in stream extraction</li>
<li>Canonicalize output paths and symlink targets, and ensure they
descend from the destination</li>
</ul>
<h3><!-- raw HTML omitted -->⚙️ Miscellaneous Tasks</h3>
<ul>
<li>Fix clippy and cargo fmt warnings (<a
href="https://redirect.github.com/zip-rs/zip2/pull/310">#310</a>)</li>
</ul>
<h2><a
href="https://github.com/zip-rs/zip2/compare/v2.2.2...v2.2.3">2.2.3</a>
- 2025-02-26</h2>
<h3><!-- raw HTML omitted -->🚜 Refactor</h3>
<ul>
<li>Change the inner structure of <code>DateTime</code> (<a
href="https://redirect.github.com/zip-rs/zip2/issues/267">#267</a>)</li>
</ul>
<h3><!-- raw HTML omitted -->⚙️ Miscellaneous Tasks</h3>
<ul>
<li>cargo fix --edition</li>
</ul>
<h2><a
href="https://github.com/zip-rs/zip2/compare/v2.2.1...v2.2.2">2.2.2</a>
- 2024-12-16</h2>
<h3><!-- raw HTML omitted -->🐛 Bug Fixes</h3>
<ul>
<li>rewrite the EOCD/EOCD64 detection to fix extreme performance
regression (<a
href="https://redirect.github.com/zip-rs/zip2/issues/247">#247</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="6eab5f5cc6"><code>6eab5f5</code></a>
chore: release v2.3.0 (<a
href="https://redirect.github.com/zip-rs/zip2/issues/300">#300</a>)</li>
<li><a
href="e4aee2050f"><code>e4aee20</code></a>
implement <code>ZipFile::options</code> + refactor options normalization
(<a
href="https://redirect.github.com/zip-rs/zip2/issues/305">#305</a>)</li>
<li><a
href="ea8a7bba24"><code>ea8a7bb</code></a>
fix(test): Conditionalize a zip64 doctest (<a
href="https://redirect.github.com/zip-rs/zip2/issues/308">#308</a>)</li>
<li><a
href="365c81a39f"><code>365c81a</code></a>
Use <code>xz2</code> crate instead of a custom implementation (<a
href="https://redirect.github.com/zip-rs/zip2/issues/306">#306</a>)</li>
<li><a
href="ae94b3452b"><code>ae94b34</code></a>
chore: Fix clippy and cargo fmt warnings (<a
href="https://redirect.github.com/zip-rs/zip2/issues/310">#310</a>)</li>
<li><a
href="a2e062f370"><code>a2e062f</code></a>
Merge commit from fork</li>
<li><a
href="0199ac2cb8"><code>0199ac2</code></a>
Simplify handling for symlink targets</li>
<li><a
href="977bb9479d"><code>977bb94</code></a>
fix failing tests, remove symlink loop check</li>
<li><a
href="3cb29e70d1"><code>3cb29e7</code></a>
Partial fix for tests</li>
<li><a
href="2182b07686"><code>2182b07</code></a>
Refactor</li>
<li>Additional commits viewable in <a
href="https://github.com/zip-rs/zip2/compare/v2.2.1...v2.3.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=zip&package-manager=cargo&previous-version=2.2.1&new-version=2.3.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/rustic-rs/rustic/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-20 05:59:52 +01:00
dependabot[bot]
8933af0679
build(deps): bump ring from 0.17.8 to 0.17.13 (#1424)
Bumps [ring](https://github.com/briansmith/ring) from 0.17.8 to 0.17.13.
2025-03-13 21:43:25 +01:00
Alexander Weiss
f376dc1672 update Swatinem/rust-cache 2025-03-05 21:24:03 +01:00
Léo Gaspard
47a4bb5d29
feat: push prometheus metrics to pushgateway on-demand (#1404)
Fixes #1403

---------

Co-authored-by: Alexander Weiss <alex@weissfam.de>
2025-03-04 10:33:49 +01:00
Alexander Weiss
a32d8eb52c fix clippy lints 2025-03-02 21:28:53 +01:00
Jiri Pospisil
002a8b2e5f
Add Homebrew instructions (#1416)
Hello, rustic is now available via Homebrew.

https://formulae.brew.sh/formula/rustic
2025-03-02 10:40:37 +01:00
aawsome
d1b11f9c5f
feat: Allow to use OPENDAL_HOT_* and OPENDAL_COLD_* env variables (#1392)
closes #1391
2025-01-02 11:34:51 +00:00
aawsome
a789b50716
fix(config): set a non-zero default progress interval for progress options (#1378) 2024-12-10 13:34:35 +00:00
rustic-release-plz[bot]
f565eea1f6
chore: release v0.9.5 (#1341)
## 🤖 New release
* `rustic-rs`: 0.9.4 -> 0.9.5 (✓ API compatible changes)

<details><summary><i><b>Changelog</b></i></summary><p>

<blockquote>

## [0.9.5](https://github.com/rustic-rs/rustic/compare/v0.9.4...v0.9.5)
- 2024-12-02

### Added

- *(commands)* More dump options
([#1339](https://github.com/rustic-rs/rustic/pull/1339))
- shut down gracefully with ctrl+c
([#1364](https://github.com/rustic-rs/rustic/pull/1364))
- Add --filter-jq option
([#1372](https://github.com/rustic-rs/rustic/pull/1372))
- *(async)* use `is_async_compatible()` to determine backend
incompatibility and error out
([#1355](https://github.com/rustic-rs/rustic/pull/1355))
- *(commands)* Add `mount` command
([#973](https://github.com/rustic-rs/rustic/pull/973))

### Fixed

- *(commands)* run backup hooks before checking source dir
([#1374](https://github.com/rustic-rs/rustic/pull/1374))
- *(commands)* Use spawn_blocking in webdav when calling rustic_core
([#1365](https://github.com/rustic-rs/rustic/pull/1365))
- *(filesystem)* Use channels to communicate within webdav filesystem
([#1361](https://github.com/rustic-rs/rustic/pull/1361))

### Other

- Add documentation for `minutely` keep option
([#1371](https://github.com/rustic-rs/rustic/pull/1371))
- update snapshots to include minutely configuration options
- *(deps)* update rustic_core, bytes, and libc dependencies to latest
versions
- simplify lifetime annotations in OpenFileReader and TreeIterItem
implementations
- clean up whitespace and update clippy linting allowances
- *(deps)* update dependencies to latest versions
- *(deps)* update lockfile to get rid of vulnerable `url` version
- *(mount)* rename fields for clarity, add user options for mount
([#1353](https://github.com/rustic-rs/rustic/pull/1353))
- *(deps)* update dependencies
- *(deps)* don't use rustic_core webdav feature
([#1367](https://github.com/rustic-rs/rustic/pull/1367))
- Revert "fix(filesystem): Use channels to communicate within webdav
filesystem ([#1361](https://github.com/rustic-rs/rustic/pull/1361))"
- Revert "feat(async): use `is_async_compatible()` to determine backend
incompatibility and error out
([#1355](https://github.com/rustic-rs/rustic/pull/1355))"
- move `webdavfs` from `rustic_core` to `rustic-rs`
([#1363](https://github.com/rustic-rs/rustic/pull/1363))
- *(clippy)* comment out unused lints in lib.rs
- *(clippy)* apply fixes automatically
- use BTreeMap for env in global options
([#1360](https://github.com/rustic-rs/rustic/pull/1360))
- add tiny framework for testing rustic's compat with latest restic
([#1303](https://github.com/rustic-rs/rustic/pull/1303))
- use snapshot tests for default config, show-config and completions
([#1359](https://github.com/rustic-rs/rustic/pull/1359))
- *(deps)* update dependencies rustic_core, rustic_backend,
rustic_testing, and migrate to conflate 0.3
([#1357](https://github.com/rustic-rs/rustic/pull/1357))
- fix typos
- *(build)* add platform-dependent settings and remove ci flag for extra
features
- clarify `--use-profile` command in config by using long form
([#1344](https://github.com/rustic-rs/rustic/pull/1344))
- *(deps)* update core and testing crates
([#1340](https://github.com/rustic-rs/rustic/pull/1340))
</blockquote>


</p></details>

---
This PR was generated with
[release-plz](https://github.com/MarcoIeni/release-plz/).

---------

Co-authored-by: rustic-release-plz[bot] <182542030+rustic-release-plz[bot]@users.noreply.github.com>
Co-authored-by: Alexander Weiss <alex@weissfam.de>
2024-12-03 00:32:00 +01:00
aawsome
8b18e62e78
feat(commands): More dump options (#1339)
Adds output as  targz and zip.
Also adds the options `--archive` to choose the ouput format and
`--file` to directly specify a file to dump into. When a file is
specified, the ouput format is automatically chosen from the file
extension, if given.

---------

Signed-off-by: simonsan <14062932+simonsan@users.noreply.github.com>
Co-authored-by: simonsan <14062932+simonsan@users.noreply.github.com>
2024-12-02 23:58:43 +01:00
aawsome
f14a8bbc57
fix(commands): run backup hooks before checking source dir (#1374)
closes #1373

Co-authored-by: simonsan <14062932+simonsan@users.noreply.github.com>
2024-12-02 23:19:07 +01:00
simonsan
852635e25c
feat: shut down gracefully with ctrl+c (#1364)
If you have a long-running process, like `webdav` or `backup` or others,
pressing CTRL+C usually results in a non-zero exit code:

`process didn't exit successfully:
P:\CARGO\.cargo-target-win\debug\rustic.exe -P <PROFILE> webdav (exit
code: 0xc000013a, STATUS_CONTROL_C_EXIT)`

This shouldn't be the case, as it was user initiated and we can shut
down gracefully.

This PR adds this functionality, so CTRL+C shuts down `rustic`
gracefully and exits with a 0 exit-code.

---------

Signed-off-by: simonsan <14062932+simonsan@users.noreply.github.com>
Co-authored-by: aawsome <37850842+aawsome@users.noreply.github.com>
2024-11-30 22:09:00 +01:00
aawsome
c571279cba
feat: Add --filter-jq option (#1372)
Adds filtering using `jq` syntax. You can do something like `--filter-jq
'.summary.files_new > 51'` - works similar to what you'd expect from
`jq`.

Also puts the `rhai` and `jq` filtering into features which are enabled
by default.

---------

Signed-off-by: simonsan <14062932+simonsan@users.noreply.github.com>
Co-authored-by: simonsan <14062932+simonsan@users.noreply.github.com>
2024-11-30 22:06:19 +01:00
simonsan
5b02cd268f
ci: comment out release ci workflow for further review
Signed-off-by: simonsan <14062932+simonsan@users.noreply.github.com>
2024-11-30 11:06:38 +01:00
jullanggit
11b772d1b8
docs: Add documentation for minutely keep option (#1371)
Adds documentation for the minutely timeline
(https://github.com/rustic-rs/rustic_core/pull/374) in
`./config/full.toml` and `./config/README.md`

Co-authored-by: simonsan <14062932+simonsan@users.noreply.github.com>
2024-11-30 10:40:45 +01:00
simonsan
d6214c4a45
test: update snapshots to include minutely configuration options
Signed-off-by: simonsan <14062932+simonsan@users.noreply.github.com>
2024-11-30 10:36:37 +01:00
simonsan
f133d96c2e
chore(deps): update rustic_core, bytes, and libc dependencies to latest versions
Signed-off-by: simonsan <14062932+simonsan@users.noreply.github.com>
2024-11-30 10:09:05 +01:00
simonsan
2315c0eaf6
refactor: simplify lifetime annotations in OpenFileReader and TreeIterItem implementations
Signed-off-by: simonsan <14062932+simonsan@users.noreply.github.com>
2024-11-29 16:05:11 +01:00
simonsan
2d230a44c7
refactor: clean up whitespace and update clippy linting allowances
Signed-off-by: simonsan <14062932+simonsan@users.noreply.github.com>
2024-11-29 13:31:44 +01:00
simonsan
8b9bd0f3d1
chore: enhance cross-check workflow by adding target platforms and updating job names (#1369)
Signed-off-by: simonsan <14062932+simonsan@users.noreply.github.com>
2024-11-28 21:35:48 +01:00
simonsan
7ed72608b4
chore(deps): update dependencies to latest versions
Signed-off-by: simonsan <14062932+simonsan@users.noreply.github.com>
2024-11-27 14:33:33 +01:00
aawsome
099c8b8e82
fix: use fuse2 build dependencies (#1368) 2024-11-26 12:18:46 +00:00
simonsan
7320d48fac
chore(deps): update lockfile to get rid of vulnerable url version
Signed-off-by: simonsan <14062932+simonsan@users.noreply.github.com>
2024-11-25 16:20:10 +01:00
simonsan
1bdb914f16
refactor(mount): rename fields for clarity, add user options for mount (#1353)
Addresses review feedback from #973

---------

Signed-off-by: simonsan <14062932+simonsan@users.noreply.github.com>
2024-11-25 14:21:01 +00:00
simonsan
eb49eda0c5
chore(deps): update dependencies
Signed-off-by: simonsan <14062932+simonsan@users.noreply.github.com>
2024-11-24 20:41:46 +01:00
aawsome
1c6a91e22f
chore(deps): don't use rustic_core webdav feature (#1367)
..no longer needed after #1363

Co-authored-by: simonsan <14062932+simonsan@users.noreply.github.com>
2024-11-24 09:37:26 +00:00
aawsome
1175ed8eac
fix(commands): Use spawn_blocking in webdav when calling rustic_core (#1365)
(after reverting #1361)

solves the webdav problem reported in #1181

Co-authored-by: simonsan <14062932+simonsan@users.noreply.github.com>
2024-11-24 09:34:50 +00:00
simonsan
984c0486e0
Revert "fix(filesystem): Use channels to communicate within webdav filesystem (#1361)"
This reverts commit d79e392b86.
2024-11-24 10:03:21 +01:00
aawsome
d79e392b86
fix(filesystem): Use channels to communicate within webdav filesystem (#1361)
Solves the webdav problem reported in #1181

---------

Signed-off-by: simonsan <14062932+simonsan@users.noreply.github.com>
Co-authored-by: simonsan <14062932+simonsan@users.noreply.github.com>
2024-11-23 16:07:33 +00:00
simonsan
e96325dbdc
Revert "feat(async): use is_async_compatible() to determine backend incompatibility and error out (#1355)"
This reverts commit c3e2557743.
2024-11-23 16:55:33 +01:00
aawsome
3d13f2e527
refactor: move webdavfs from rustic_core to rustic-rs (#1363)
Signed-off-by: simonsan <14062932+simonsan@users.noreply.github.com>
Co-authored-by: simonsan <14062932+simonsan@users.noreply.github.com>
2024-11-23 14:00:59 +00:00
nardoor
c3e2557743
feat(async): use is_async_compatible() to determine backend incompatibility and error out (#1355)
Use `getters` to early exit webdav when using `async_incompatible`
backends.

Using the type system or fixing all async compatibility issue is big and
structural work.
To avoid runtime crash for our users I suggest using this getter as a
temporary fix.

tracking issue: https://github.com/rustic-rs/rustic/issues/1181 (see for
more details)

> As far as I could tell, `webdav` feature was the only one spawning a
`runtime` in `rustic` and using it.

### Before merging this one:
- [x] rustic_core (core and backend) must be updated to a release that
includes rustic-rs/rustic_core#355.

---------

Co-authored-by: simonsan <14062932+simonsan@users.noreply.github.com>
2024-11-21 15:48:56 +00:00
simonsan
ae6f258dd2
chore(clippy): comment out unused lints in lib.rs
Signed-off-by: simonsan <14062932+simonsan@users.noreply.github.com>
2024-11-20 04:37:52 +01:00
simonsan
a0e91053c7
chore(clippy): apply fixes automatically
Signed-off-by: simonsan <14062932+simonsan@users.noreply.github.com>
2024-11-20 04:22:44 +01:00
simonsan
99d28fa0c3
refactor: use BTreeMap for env in global options (#1360)
Signed-off-by: simonsan <14062932+simonsan@users.noreply.github.com>

---------

Signed-off-by: simonsan <14062932+simonsan@users.noreply.github.com>
Co-authored-by: nardoor <102725206+nardoor@users.noreply.github.com>
2024-11-19 22:20:55 +01:00
simonsan
47426dbfb4
testing: add tiny framework for testing rustic's compat with latest restic (#1303)
This is the first PR to lay some foundations to test rustic's
compatibility against a restic repository. It should essentially show,
how to start out with it and give some fixtures to play around with.

TODO:

- [X] add CI workflow + test that uses restic (latest) via
https://github.com/AnimMouse/setup-restic, to create a new repo and run
rustic against it
- [X] investigate `AnimMouse/setup-restic` failure and fix
- [X] forked `AnimMouse/setup-restic` to `rustic-rs/setup-restic` to run
on `@main` and apply faster fixes to our CI
- [X] used `AnimMouse/setup-restic` as a foundation for
`rustic-rs/setup-rustic`, still WIP
- [x] update to 'release' feature in test when #1307 is merged

---------

Signed-off-by: simonsan <14062932+simonsan@users.noreply.github.com>
2024-11-19 02:51:24 +01:00
simonsan
b0bd5b6e65
test: use snapshot tests for default config, show-config and completions (#1359)
Signed-off-by: simonsan <14062932+simonsan@users.noreply.github.com>
2024-11-19 02:28:37 +01:00
simonsan
b8deb789eb
chore(deps): update dependencies rustic_core, rustic_backend, rustic_testing, and migrate to conflate 0.3 (#1357)
Signed-off-by: simonsan <14062932+simonsan@users.noreply.github.com>
2024-11-19 00:49:00 +01:00
simonsan
5cb7d593e0
chore: fix typos
Signed-off-by: simonsan <14062932+simonsan@users.noreply.github.com>
2024-11-19 00:13:22 +01:00
Timtor
62f608746e
build(docker): support arm64 docker image (#1351)
This PR create a new building target `aarch64-unknonw-linux-musl`, as
`aarch64-unknonw-linux-gnu` is not competible with the docker base image
`scratch`.

Follows the current step, the arm64 docker image will be built after
Github release.
2024-11-11 18:44:35 +00:00
simonsan
a56f671b02
ci: remove extra-feature from cross-ci
Signed-off-by: simonsan <14062932+simonsan@users.noreply.github.com>
2024-11-11 01:01:37 +01:00
simonsan
65b8f68dd8
ci(build): add platform-dependent settings and remove ci flag for extra features
Signed-off-by: simonsan <14062932+simonsan@users.noreply.github.com>
2024-11-10 23:09:24 +01:00
simonsan
f774d8ba63
ci(workflows): add FIXME comments for mount compatibility and dependency installation
Signed-off-by: simonsan <14062932+simonsan@users.noreply.github.com>
2024-11-10 22:18:10 +01:00
simonsan
0a94b02868
ci(build): remove 'mount' feature from unsupported platforms
Signed-off-by: simonsan <14062932+simonsan@users.noreply.github.com>
2024-11-10 22:15:03 +01:00
aawsome
bb107be102
feat(commands): Add mount command (#973)
This PR adds the `mount` command to rustic to access snapshot contents
as a read-only filesystem when the feature-flag `mount` is chosen.

As for the `webdav` command, there are following options:
- Access to a concrete snapshot/path, e.g. `rustic mount /mnt
37a63e5b:/my/path`.
- Access to all snapshots (maybe restricted by filters) by using
templates to define a virtual directory structure where snapshots are
located. Example: `rustic mount /mnt --path-template
"[{hostname}]/[{label}]/{time}" --time-template "%Y-%m-%d_%H-%M-%S"`
(these are also defined as default). Note that for all dirs containing
only snapshots, also a `latest` entry is generated. `latest` and
identical subsequent snapshots are symlinks when using `mount`.

This PR uses fuse_mt which is not optimal as it introduces some overhead
(e.g. needs to save whole Paths in-memory).

Note: Requires https://github.com/rustic-rs/rustic_core/pull/331 to
properly show all data of files (without it builds and runs, but files
are truncated and return error when reading).

Note: Building with the `mount` feature flag requires special
dependencies and is only possible on supported platforms, see
https://github.com/cberner/fuser

closes #971

---------

Co-authored-by: simonsan <14062932+simonsan@users.noreply.github.com>
2024-11-10 20:49:44 +00:00
simonsan
bab3ec6bf6
ci(build): add extra feature to build matrix
Signed-off-by: simonsan <14062932+simonsan@users.noreply.github.com>
2024-11-10 21:24:32 +01:00
simonsan
ebff5ef27e
ci(build): add default feature deps
Signed-off-by: simonsan <14062932+simonsan@users.noreply.github.com>
2024-11-10 20:42:04 +01:00
simonsan
9ddeb25180
ci(build): more dependency targets
Signed-off-by: simonsan <14062932+simonsan@users.noreply.github.com>
2024-11-10 20:21:35 +01:00
simonsan
59eae0db65
ci: explicitly set extra-features in nightly workflow
Signed-off-by: simonsan <14062932+simonsan@users.noreply.github.com>
2024-11-10 20:12:46 +01:00
simonsan
36701ed578
ci: first try to install build dependencies in CD/CI
Signed-off-by: simonsan <14062932+simonsan@users.noreply.github.com>
2024-11-10 17:49:57 +01:00