Skip to content

feat: add exclude-if-xattr option#491

Merged
aawsome merged 1 commit intorustic-rs:mainfrom
hacker:feat/exclude-if-xattr
Mar 30, 2026
Merged

feat: add exclude-if-xattr option#491
aawsome merged 1 commit intorustic-rs:mainfrom
hacker:feat/exclude-if-xattr

Conversation

@hacker
Copy link
Copy Markdown
Contributor

@hacker hacker commented Mar 22, 2026

Exclude files and directories from backups based on the presence of a named extended attribute. Includes an integration test and tries to handle platforms where xattr is unavailable gracefully.

My main motivation is to allow for excluding files excluded by time machine on macos (at least those that can be excluded in a relatively cross-platform way), but I see no good reason why this feature can't be used on other platforms.

I also have changes to the rustic repository (readme, full.toml and snapshots for tests), but I'm not sure what's the meaningful workflow here with bumping Cargo.lock while before the actual rustic_core is updated, I'd appreciate a hint ;-)

Exclude files and directories from backups based on the presence of a named
extended attribute. Includes an integration test and tries to handle platforms
where xattr is unavailable gracefully.
Copy link
Copy Markdown
Member

@aawsome aawsome left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@aawsome aawsome added this pull request to the merge queue Mar 30, 2026
Merged via the queue into rustic-rs:main with commit 511b66e Mar 30, 2026
22 checks passed
github-merge-queue bot pushed a commit that referenced this pull request Apr 5, 2026
## 🤖 New release

* `rustic_core`: 0.10.1 -> 0.11.0 (✓ API compatible changes)

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

<blockquote>

##
[0.11.0](rustic_core-v0.10.1...rustic_core-v0.11.0)
- 2026-04-05

### Added

- Optimize hardlink creation in restore
([#495](#495))
- add exclude-if-xattr option
([#491](#491))

### Fixed

- make `ignore`'s `.git_exclude()` mirror `.git_ignore()`
([#494](#494))

### Other

- update dependencies
([#496](#496))
- preserve hardlinks on restore
([#492](#492))
- use general tree modifier in `repair snapshots`
([#463](#463))
- [**breaking**] Optimize file streaming
([#489](#489))
- [**breaking**] use Cow to avoid OsString allocations
([#487](#487))
</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.

2 participants