大文字/小文字を区別「する」から「しない」HDDへの移行方法

直前の投稿でさらっと作業内容の詳細を述べずに進んでしまった次の部分について追記します。

解決方法は「大文字/小文字を区別しない」ディスク形式にするより他無いらしく、一旦別の「大文字/小文字を区別しない」ディスクを用意してデータを往復させることにしました

情報源: photoslibraryを置くディスク形式 – hkitago software development

写真アプリのライブラリを「大文字/小文字を区別する」から「大文字/小文字を区別しない」ディスクへコピーしようとすると当然次のようなエラーを返してきます。

“写真 Library.photoslibrary”はコピーできません。コピー先ボリューム上に同じ名前の別の項目が存在しており、コピー先ボリュームはファイル名の大文字/小文字を区別しません。

そこでまず思いついたのが、TimeMachine バックアップが登場する以前に利用していた rsync コマンドでした。

http://hkitago.tumblr.com/post/169802245421

単に自分で配置したファイル群であればこのやり方で問題が無いのですが、iTunes や写真アプリのライブラリは別途データベースでファイルを管理していて整合性が取れなくなってしまう懸念があって却下しました。

次に考えたのが、ライブラリをコピーする前に実際にどのファイル名が大文字小文字違いで重複しているのかを調べて、iTunes や写真アプリ内からファイル名を変更すればデータベースもそれに応じて変更されるだろうというもので、次のコマンドを利用しました。

http://hkitago.tumblr.com/post/169756177861

iTunes ライブラリではアーティスト名やテレビドラマ名の先頭が大文字のものと小文字のものが混在していたので、アプリ内からそれぞれ変更して対応することができました。

ところが写真アプリでは、編集した写真のファイル名の拡張子を小文字にしてデータを複製するという古い iPhoto 時代の仕様が悪さをしていたようで、アプリ内からのファイル名変更ができず10枚ほどしかなかったこともあってこれらのファイルをファインダー上で順に削除しました。

そして TimeMachine の「今すぐバックアップを作成」を実行し、「大文字/小文字を区別しない」ディスク形式へフォーマット後にデータを3日ほど掛けて戻しました。

投稿者: hkitago

個人事業主でウェブと iOS, Android アプリの開発者で一児の父親。JavaScript, ActionScript, AppleScript, PHP, SQL, ObjC, Swift, Java の読書実行試験運用管理を生業とし、Bind, Postfix, Apache を MacOS で使い、エディタは Vi, mi, Kod, Smultron, TextWrangler を経て Coda, Xcode, Android Studio といった IDE と CotEditor を重用しています。