Skip to content

refactor!: Refactor snapshot grouping#474

Merged
aawsome merged 1 commit intomainfrom
snapshots-groups
Feb 8, 2026
Merged

refactor!: Refactor snapshot grouping#474
aawsome merged 1 commit intomainfrom
snapshots-groups

Conversation

@aawsome
Copy link
Copy Markdown
Member

@aawsome aawsome commented Feb 7, 2026

This PR refactors the snapshots grouping and removes the grouping-related Repository methods - Repository methods now only work on Vec<SnapshotFile>.

Use Grouped instead which allows to switch from Vec<SnapshotFile> to Grouped<SnapshotFile> and vice versa.

@codecov
Copy link
Copy Markdown

codecov Bot commented Feb 7, 2026

Codecov Report

❌ Patch coverage is 50.00000% with 39 lines in your changes missing coverage. Please review.
✅ Project coverage is 46.4%. Comparing base (60f8ea1) to head (6daa86f).
⚠️ Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
crates/core/src/repofile/snapshotfile/grouping.rs 60.3% 25 Missing ⚠️
crates/core/src/commands/forget.rs 0.0% 13 Missing ⚠️
crates/core/src/commands/backup.rs 50.0% 1 Missing ⚠️
Additional details and impacted files
Files with missing lines Coverage Δ
crates/core/src/repofile/snapshotfile.rs 65.1% <ø> (+2.2%) ⬆️
crates/core/src/repository.rs 54.8% <ø> (+0.2%) ⬆️
crates/core/tests/integration/snapshots.rs 100.0% <ø> (ø)
crates/core/src/commands/backup.rs 56.8% <50.0%> (ø)
crates/core/src/commands/forget.rs 79.1% <0.0%> (-3.7%) ⬇️
crates/core/src/repofile/snapshotfile/grouping.rs 60.3% <60.3%> (ø)

... and 25 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@aawsome aawsome force-pushed the snapshots-groups branch 4 times, most recently from b1bdbf0 to b474d4f Compare February 8, 2026 15:42
@aawsome aawsome merged commit 9c6359e into main Feb 8, 2026
33 checks passed
@aawsome aawsome deleted the snapshots-groups branch February 8, 2026 19:08
@rustic-release-plz rustic-release-plz Bot mentioned this pull request Feb 5, 2026
github-merge-queue Bot pushed a commit that referenced this pull request Feb 11, 2026
## 🤖 New release

* `rustic_core`: 0.9.0 -> 0.10.0 (✓ API compatible changes)
* `rustic_backend`: 0.5.4 -> 0.6.0 (✓ API compatible changes)
* `rustic_testing`: 0.3.4 -> 0.4.0 (✓ API compatible changes)
* `rustic_config`: 0.2.3 -> 0.2.4 (✓ API compatible changes)

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

## `rustic_core`

<blockquote>

##
[0.10.0](rustic_core-v0.9.0...rustic_core-v0.10.0)
- 2026-02-09

### Added

- [**breaking**] Add support for batch warmup
([#438](#438))
- [**breaking**] Add masterkey as credential option
([#468](#468))
- improve copy algorithm
([#464](#464))
- [**breaking**] More rewrite features
([#465](#465))
- [**breaking**] Add rewrite command
([#462](#462))
- [**breaking**] extend LocalSourceSaveOptions
([#461](#461))
- [**breaking**] improve restore algorithm
([#453](#453))
- [**breaking**] change ignore-devid to with-devid
([#460](#460))
- Use Timestamp in index
([#458](#458))
- Optimize prune rewrite
([#448](#448))
- [**breaking**] Add support for multiple parents
([#427](#427))

### Fixed

- fix clippy lints
([#473](#473))
- Use jiff everywhere
([#467](#467))
- fix rewrite file count
([#466](#466))
- Return error if too few snapshots for latest~N
([#459](#459))
- Use early-delete-index only if instant-delete is selected
([#457](#457))
- fix clap runtime errors for parent options
([#456](#456))
- Use parents instead of parent; allow latest
([#455](#455))
- improve error handling for missing UID/GID name
([#454](#454))
- fix clippy lints
([#449](#449))

### Other

- update dependencies
([#475](#475))
- [**breaking**] Refactor snapshot grouping
([#474](#474))
- [**breaking**] Simplify Repository status
([#472](#472))
- [**breaking**] Simplify Progress
([#469](#469))
- update MSRV to 1.88.0
([#471](#471))
- FreeBSD build
([#440](#440))
- refactor! use jiff instead of chrono
([#452](#452))
</blockquote>

## `rustic_backend`

<blockquote>

##
[0.6.0](rustic_backend-v0.5.4...rustic_backend-v0.6.0)
- 2026-02-09

### Added

- [**breaking**] Add support for batch warmup
([#438](#438))
- *(backend/opendal)* include scheme in location() and bump opendal to
0.55.0 ([#446](#446))

### Fixed

- fix clippy lints
([#473](#473))
- Use jiff everywhere
([#467](#467))

### Other

- update dependencies
([#475](#475))
- update MSRV to 1.88.0
([#471](#471))
</blockquote>

## `rustic_testing`

<blockquote>

##
[0.4.0](rustic_testing-v0.3.4...rustic_testing-v0.4.0)
- 2026-02-09

### Added

- [**breaking**] Add support for batch warmup
([#438](#438))
</blockquote>

## `rustic_config`

<blockquote>

##
[0.2.4](rustic_config-v0.2.3...rustic_config-v0.2.4)
- 2026-02-09

### Other

- update MSRV to 1.88.0
([#471](#471))
</blockquote>


</p></details>

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

Co-authored-by: rustic-release-plz[bot] <182542030+rustic-release-plz[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant