I’m working on a test in support of this. I want to test that only a whitelist of fields can change between moves. I have a few that I’m not sure about:
item fields:
filesize # can changing filesystems change reported size?
id
initial_key
singleton # dynamically generated by beets
Interesting… could you elaborate a little more on what you’re imagining changing when a file moves? For example, I’m not sure why initial_key would change when a file moves. I guess it’s probably true that the file size could change when moving between filesystems… but I guess I would hope that beets wouldn’t need to worry about that somewhat strange possibility?
I don’t know what these fields are and especially don’t know how they are implemented. So I’m asking. There’s no documentation explaining all the fields, is there?
Alright—I guess my default assumption would be that no fields change on a move except for path, which by definition must change because that’s the thing that’s changing. I’d definitely start with that assumption and go from there.
However, there’s a chance I’m missing something… let me know if you run into trouble with that assumption!