Mavericks tags and coreutils, a warning

[Tweet : ADN : nvALT]

This won’t affect too many people, but if you’ve installed the GNU Coreutils, you should be aware that the mv and cp commands strip extended attributes from your files. If you do any tagging in Mavericks (or with OpenMeta), you’ll find your tags disappearing after shell scripts or command line filing act on a file.

Ruby’s FileUtils also fail to preserve the extended attributes. I’m quite sure this wasn’t happening to me before, as I’ve been using my TagFiler system for quite some time and have always found my files easily. I recently noticed that nothing that’s been automatically filed in the last few months has any tags at all. I don’t know if (or how) coreutils might affect Ruby’s filesystem tools, and I’m not sure if the problems are even related. If anyone can enlighten me, I’m all ears.

As far as the command line goes, you can either uninstall the cp and mv commands, or just override them with:

alias mv=/bin/mv
alias cp=/bin/cp

The default utilities that come with Mavericks do preserve the metadata. There’s a switch (-p) for the Coreutils cp command that will avoid stripping the attributes, but it doesn’t exist for the mv command, so you’d have to script mv to cp -p and rm.

For TagFiler, for the time being, I’ve updated the script to force it to use the system utilities instead of FileUtils. If it turns out that the FileUtils issue is directly related to Coreutils, I’ll switch it back and add a warning.