beetbox / beetbox/beets

Leave files untouched when changes only affect the database

Open
#6,529 9 comments 1 reaction 0 assignees View on GitHub
Dominant language
Python
Stars
15.7k
Forks
2.1k
Avg merge
4d 21h
Merged PRs (30d)
31

Description

I use syncthing to sync my music library between my laptop and the micro sd in my phone. I noticed that whenever something related to an item is updated in the database, the 'modified' timestamp changes, even though nothing was modified. This meant that e.g. after the migration from `genre` to `genres`, pretty much every file was "modified", causing syncthing to overwrite every single file on my phone with a seemingly identical one, the only difference being the modified timestamp. Since my library is over 200GB, depending on how many files are affected, it can take multiple days till syncthing finishes syncing. I'd also imagine it's not good for my micro sd when every single file gets unnecessarily rewritten every now and then. Also, beets sometimes "hallucinates" changes when there are none. I don't know how to reproduce this reliably, but maybe someone else experienced similar issues too.

To summarize it, it seems like there are some issues with the comparison logic in beets that checks if a file actually needs to be modified.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.