Set Up a Case-Sensitive APFS Volume for Development
By default, macOS uses a case insensitive filesystem; occasionally this causes problems, for example we have encountered dependency combinations involving module names that differ only by case (ModuleNotFoundError: No module named 'Crypto'
), also git behaves very badly if a repository has case-differentiated files.
Fortunately, it's fairly easy to set up a case-sensitive volume and move your development work to it.
Note: any added volumes must be encryped and backed up in CrashPlan per IT policy (also, it's just good sense)
The following assumes all edx repos and development are currently in a directory called edxdev
; this is not a standard, substitute as needed for your workarea.
Instructions
Add a "Dev" volume in Disk Utility of type “APFS (Case-Sensitive, Encrypted)”
Quit applications that might be using files in
edxdev
; Docker, VSCode, etcCopy
edxdev
to the new volumemv edxdev edxdev-old
(or justrm
if you're feeling lucky/foolish)Add a link:
ln -s /Volumes/Dev/edxdev .
Re-open VSCode etc., confirm that they are following the symlink (copy a file path and see that it doesn't include
edxdev-old
, for example)Add "Dev" volume to CrashPlan:
Open Code42, either directly or from the menubar
Sign in with your OneLogin credentials if needed
Click "Manage Files..."
Above the file listing, click the name of your computer
Check the box for your "Dev" volume
Click "Save"