Okay, thanks Johan. I'll have to see if I can reproduce the issue you are seeing with the server metadata actually being modified in a one-way sync. Did you actually verify the song was modified? It's possible that the merge message was printed, but my logic didn't actually make any modifications after that.
Looking at this log, it appears you have multiple songs both named "As I Roved Out". Is that true? I'm guessing there is something faulty in my logic when there are multiple songs in the library with the same title. The problem is that, I need to have a way of determining if a song from one tablet exists on the other tablet, and I can't rely on the database IDs, because those are most likely different (especially if users with different libraries are synchronizing to each other). So what I'm doing to try to find a matching song is I first look for a matching title, then I try to look for a matching file with the same name. If multiple songs with the same titles and files are found, my logic will look for a matching database id. If one is found, that song is used, otherwise the first match is used. If I can't find a song with a matching title, I look for a song with a matching database ID and creation date (in case the song was renamed). So I'm guessing something in there isn't working well if you have multiple songs with matching titles and files.
Thanks,
Mike
UPDATE:
I just looked through the logic, and I do print out the message that I'm updating the metadata on the server, but then I take no action if it's a one-way sync. I'm modifying this to only print out the message if action will be taken.
Looking at this log, it appears you have multiple songs both named "As I Roved Out". Is that true? I'm guessing there is something faulty in my logic when there are multiple songs in the library with the same title. The problem is that, I need to have a way of determining if a song from one tablet exists on the other tablet, and I can't rely on the database IDs, because those are most likely different (especially if users with different libraries are synchronizing to each other). So what I'm doing to try to find a matching song is I first look for a matching title, then I try to look for a matching file with the same name. If multiple songs with the same titles and files are found, my logic will look for a matching database id. If one is found, that song is used, otherwise the first match is used. If I can't find a song with a matching title, I look for a song with a matching database ID and creation date (in case the song was renamed). So I'm guessing something in there isn't working well if you have multiple songs with matching titles and files.
Thanks,
Mike
UPDATE:
I just looked through the logic, and I do print out the message that I'm updating the metadata on the server, but then I take no action if it's a one-way sync. I'm modifying this to only print out the message if action will be taken.