I think it’s not possible to move a tag branch from under another tag to instead be a top-level tag branch. Here’s what I’ve tried so far. Do you see anything I might have done incorrectly?
I moved a tag branch that previously had been under another tag, to be a top-level hierarchy. DigiKam clearly showed that the former branch was now a top-level hierarchy. So I tried four different ways to write the new TagsList to the sidecar xmp file:
-
After moving the branch I did “Tags Manager/Sync Export/Write Tags from Database to Image”. The time-stamp shown in dolphin was updated, so digiKam wrote “something”. But exiftool showed no change in the tagslist tag
-
Then I selected the affected tags and wrote them out by themselves: “Item/Write Metadata to Selected Items”. The time-stamp shown in dolphin was updated, so digiKam wrote “something”. But exiftool showed no change in the tagslist tag
-
Then I did “Tools/Maintenance” and asked to write the “Whole tags collection”, “Sync Metadata from database to image metadata” and to “Perform database cleaning”. The time-stamp shown in dolphin was updated, so digiKam wrote “something”. But exiftool showed no change in the tagslist tag.
-
Then I closed digiKam, and restarted it. The “moved” tag branch wasn’t really moved. It was right where it was before I tried to move it. So I tried moving the tag branch using “Tags” from the left-side panel, and selected the affected images and asked digiKam to save the metadata to these images. Again the time-stamp was updated, so digiKam wrote “something”. But exiftool showed no change in the tagslist tag. And after closing/reopening digiKam, indeed the tag branch had not been moved.
None of the four methods of moving the tag tree and writing to disk actually worked. Before closing digiKam, the tag tree in digikam shows that the tag branch was “moved”. But after closing and reopening digikam, the tag branch is back in its original location. All the moving and rewriting steps were a total waste of time.
I was monitoring the digiKam terminal output, and as far as I could tell no errors were ever printed to the terminal to show that something might not have worked.
At least when writing to an xmp sidecar file, I’m guessing the only way to successfully “move” a tag branch is to create a new top-level hierarchy and move just the bottom-level tags, that is, the individual “leafs” on the tag branch. This workaround wouldn’t be so bad for moving a small branch with only one sublevel of tags. For branches with multiple sublevels or with a whole lot of “leaves” at the end of a single branch, this is not a useable solution. FWIW, I haven’t tried this workaround because the branches I really want to move have too many subbranches and too many leaves to be moved “one by one”.