Make file operations atomic
- Dominant language
- Python
- Stars
- 120
- Forks
- 41
- PR merge metrics
- No merged PRs in 30d
Description
As discussed in https://github.com/beetbox/beets/issues/3849 and https://github.com/beetbox/beets/pull/4060, we would like most/all of beets file operations to be atomic. This requires support by mediafile, which in turn either requires that we shuffle around temporary files, or someone invests the time to implement this in mutagen directly, see https://github.com/quodlibet/mutagen/issues/241. Ideally, on CoW file systems, this should use reflinks.
Contributor guide
Research direction
Start by reading beets issue #3849, beets pull request #4060, and mutagen issue #241 to understand the existing atomic-operation discussion and dependency constraints. Then trace mediafile's file-operation entry points; the work is done when most or all operations are atomic, with a clear approach for temporary files or Mutagen support and ideally reflinks on CoW file systems.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100