Migrating from case sensitive to case INsensitive filesystem

Discussion in 'macOS' started by jijitrash, Mar 16, 2011.

  1. jijitrash macrumors newbie

    Joined:
    Mar 7, 2011
    #1
    Hi all,
    just wanted to share with you what I found out the hard way:
    I had snow leopard running on a HD with case sensitive filesystem (don't ask why I ever did that).
    Case sensitivity is not 100% supported in OS X, some apple programs access pref files in different caPItaliSation. For the user it is invisible, but when you look for them you will find two files with the same name but different capitalisation.

    Moreover Office for Mac, Google Sketch Up, and other programs DO NOT LIKE the case sensitive filesystem: they fail to find their files!

    Therefore when my new MacBook Pro arrived I wanted to migrate to a case INsensitive HD (standard on Macs). So I connected my out of the box laptop with the time machine drive and started the setup assistant....and waited....and waited. The problem is that setup assistant crashed. Every time.

    I read about it, and found the potential way around it by identifying and resolving files which exist in different capitalisation. For that I used a pretty python script I found here:
    http://www.csc.kth.se/~detryr/code/csfs.py

    #!/usr/bin/env python

    import os

    for root, dirs, files in os.walk('.'):
    content = dirs + files
    for s1 in content:
    for s2 in content:
    if s1 != s2 and s1.lower() == s2.lower():
    print os.path.join(root,s1)
    print 'done'

    run this pyhton script and it will print in the terminal all files and folders which exist in different capitalisation. Afterwards you manually find these files and either delete on of the two, or do something else clever with them. Just dont keep them in the same folder with the same nAMeS.

    When setup assistant copies over files from the old drive (or time machine drive) to the new drive, it first finds a FILE (capitalisation) and moves it over, and when it finds another fiLe (different capitalisation) it cannot resolve the conflict between these two files at the destination disk, because at the destination they are the same file. It will not overwrite one of the files in some manner, it will rather just abort, and restart the computer, or do nothing. Note, that the back up drive of a case sensitive drive must also be case sensitive.

    However, EVEN AFTER REMOVING all conflicting filenames manually I could not create a running migration with setup assistant. The transfer would go through without problems, but when I booted, many programs were reset to zero (no email accounts, no settings, no emails, no bookmarks, etc.). So something still goes wrong.

    I tried this a couple of times, and every time I re-installed OS X to have a clean start. It did not help.

    The solution:
    after all, I simply copied the entire content of my old disk via SuperDuper to a disk with case INsensitive filesystem. And then from this copy I had no problems to use setup assistant to setup my new mac with the data/settings from my old laptop.

    Quite painful story, but hopefully this can spare some else the time and stress...

    any further comments?

    best,
    james
    The solution:
     
  2. Izlib macrumors member

    Izlib

    Joined:
    Apr 24, 2008
    #2
    Not to be a thread necromancer, but I just wanted to say that this script is going to save from boatloads of pain over the next 72 hours copying 12TB of case sensitive data to a firewire attached drobo in anticipation of a SAN volume rebuild/repurposing.
     

Share This Page