J'ai pensé à une chose qui pourrait affecter le résultat. dont balises que vous ajoutez, et comment. Les couleurs traditionnelles des étiquettes (rouge, orange, ...) sont stockées dans un sous-champ de 3 bits du champ FinderInfo de l'enregistrement du catalogue HFS+ pour le fichier. Les nouvelles étiquettes sont stockées à la place dans un champ attribut étendu du fichier.
Selon le nouveau schéma, si le Finder définit la balise, il la (ou les) place toujours dans le répertoire com.apple.metadata:_kMDItemUserTags
attribut étendu. Si une autre application définit l'index de l'étiquette, par exemple avec la commande AppleScript
tell application "Finder" to set label index of someFile to 3
l'index du label est défini dans FinderInfo. Une valeur non-nulle pour FinderInfo provoque l'utilisation de la fonction xattr
pour l'énumérer comme si c'était l'attribut étendu com.apple.FinderInfo
où l'indice de l'étiquette est représenté par trois des bits du dixième octet. L'interaction entre ces deux champs est complexe. Parfois, la modification de l'un efface l'autre, parfois non.
md5
peut être affectée différemment selon les métadonnées, s'il y en a, qui sont incluses dans la somme de contrôle et celles qui sont affectées par la méthode que vous utilisez pour définir l'étiquette.
La bonne nouvelle est que md5
semble ignorer toutes les métadonnées. Il calcule une somme de contrôle uniquement pour la fourchette de données. Il n'incorpore même pas la fourche des ressources (pour calculer la somme de contrôle de la fourche des ressources, vous devez le demander explicitement, comme dans la commande suivante md5 "Icon^M"/..namedfork/rsrc
mais alors la fourchette de ressources est la uniquement qu'il regarde.)