Anche se non sono un esperto del sistema operativo e ho appena iniziato a utilizzare OSX dopo essere venuto da Windows, mi considero un PowerUser in Windows e abbastanza competente in Linux. Provenendo da quello sfondo, sono rimasto sorpreso dal fatto che in un sistema operativo abbastanza moderno come OSX, il filesystem ha stranezze come il modo in cui i nomi dei file vengono "confusi".
Capisco che i problemi di Linus con HFS + derivano dallo stesso punto: da quello che ho trovato ricercando il problema, HFS + memorizza i nomi dei file utilizzando Unicode, ma quando un file utilizza caratteri "estesi" o NON ASCII (come á, é, í, ó, ú, ñ dallo spagnolo o cose come ü in tedesco), per cui Unicode fornisce 2 modi per codificare il nome, OSX "normalizza" silenziosamente la codifica al momento dell'archiviazione ... Non è un vero problema quando il il file è stato creato e utilizzato in OSX, ma quando si condividono informazioni con utenti di altri sistemi operativi, il fatto che il nome del file cambi, rende tutti i comportamenti strani ...
Caso in questione: ho seguito il mio lavoro "artefatti" (file, documenti, ecc.) In Subversion negli ultimi 8 anni. Quando mi sono trasferito su Mac, ho ottenuto il client SVN per Mac e dopo aver fatto un checkout delle mie directory pertinenti, ho scoperto che tutti i file con accenti sembrano mancare e un nuovo file con lo stesso nome appare come non versione. Scavando in esso, il problema è che il file IN nel file system è codificato Apple, mentre i dati nel repository utilizzano un'altra codifica Unicode (perfettamente valida e legittima) ...
Questo, a mio avviso, è una grave "manomissione" dei miei dati. Apple comprende entrambi i formati della codifica del nome file (l'accesso a una condivisione in Windows o l'utilizzo di una chiavetta USB da Windows mostra i nomi dei file corretti, ecc.) Ma al momento della creazione del file, si è deciso "conosce meglio" e ha semplicemente rinominato i file. ..
Ancora una volta, non qualcosa che la maggior parte degli utenti noterà - fino a quando non fanno una copia di un file, o lo rinominano, e lo rimettono in quello originale e finiscono con due file apparentemente uguali !!!)