Problem
A source drive contains filenames differing only by case, and the destination filesystem collapses them into one path during migration.
Solution
Root Cause / Diagnostic:
Transferring data from a case-sensitive file system (e.g., Linux ext4 or Case-Sensitive APFS) to a case-insensitive file system (e.g., NTFS or standard macOS APFS) causes files like `Clip_A.mov` and `clip_a.mov` to target the same directory entry, resulting in one file overwriting the other.
Actionable Fix:
1. Case Collision Pre-Scan: Run a script (`find . | tr '[:upper:]' '[:lower:]' | sort | uniq -d`) across the source drive prior to migration to identify duplicate lowercase filenames.
2. File Disambiguation: Append numerical disambiguation suffixes (e.g., `_01`, `_02`) to colliding filenames on the source drive before transferring data.
3. Migration Volume Verification: Verify file counts across source and destination directories to ensure total file counts match exactly post-migration.
Pro Tip:
Never assume file systems handle letter cases identically; always scan for case-folding collisions before transferring files from Linux servers to Mac/Windows drives.
Transferring data from a case-sensitive file system (e.g., Linux ext4 or Case-Sensitive APFS) to a case-insensitive file system (e.g., NTFS or standard macOS APFS) causes files like `Clip_A.mov` and `clip_a.mov` to target the same directory entry, resulting in one file overwriting the other.
Actionable Fix:
1. Case Collision Pre-Scan: Run a script (`find . | tr '[:upper:]' '[:lower:]' | sort | uniq -d`) across the source drive prior to migration to identify duplicate lowercase filenames.
2. File Disambiguation: Append numerical disambiguation suffixes (e.g., `_01`, `_02`) to colliding filenames on the source drive before transferring data.
3. Migration Volume Verification: Verify file counts across source and destination directories to ensure total file counts match exactly post-migration.
Pro Tip:
Never assume file systems handle letter cases identically; always scan for case-folding collisions before transferring files from Linux servers to Mac/Windows drives.