{"id":318,"date":"2019-11-27T12:38:26","date_gmt":"2019-11-27T11:38:26","guid":{"rendered":"http:\/\/blog.balazspocze.me\/?p=318"},"modified":"2026-11-10T05:51:59","modified_gmt":"2026-11-10T05:51:59","slug":"i-forgot-to-format-my-mac-to-case-sensitive-this-way-i-solved-it","status":"publish","type":"post","link":"https:\/\/banyek.net\/?p=318&lang=en","title":{"rendered":"I forgot to format my Mac to case-sensitive &#8211; this way I solved it"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">I have a new job, and a new computer, and I have to admit: when I moved to this machine, I was not able to resist the temptation of Catalina, so I installed the newest OSX on the laptop.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Everything was quite nice &#8211; well, I could rant for a while about why it was important to drop 32bit compatibility, but eventually solved everything there &#8211; but there a major problem emerged: when I checked out a repo of ours, I&#8217;ve got the following  message:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ git clone git@gwhatever.it.is:our\/repo.git\nCloning into 'repo'...\nremote: Counting objects: 20310, done.\nremote: Compressing objects: 100% (295\/295), done.\nremote: Total 20310 (delta 254), reused 536 (delta 209)\nReceiving objects: 100% (20310\/20310), 280.39 MiB | 2.38 MiB\/s, done.\nResolving deltas: 100% (12614\/12614), done.\nUpdating files: 100% (1849\/1849), done.\nwarning: the following paths have collided (e.g. case-sensitive paths\non a case-insensitive filesystem) and only one from the same\ncolliding group is in the working tree:\n\n  'src\/path\/Configfile-1.0.cfg'\n  'src\/path\/configfile-1.0.cfg'\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Oh gosh. I have to reformat my disk, and start everything over. Maybe I can create a Time Machine backup, and restore everything? I just don&#8217;t feel like it.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Some people <a href=\"http:\/\/blog.balazspocze.me\/2017\/12\/27\/osx-and-case-sensitive-file-system\/\">tend to have the same mistakes again and again, and it seems I am one of those<\/a>, but this time, I decided to fight back.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ok, so what can I do? I can create a new disk image, format it to case sensitive, mount it, and use it as a &#8216;project&#8217; folder. <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ hdiutil create -size 10g -fs \"Case-sensitive Journaled HFS+\" -type SPARSE -volname Projects ~\/Projects.dmg\n$ hdiutil attach ~\/Projects.dmg.sparseimage\n$ sudo setfile -a V \/Volumes\/Projects\/\n$ killall Finder\n$ mkdir \/Volumes\/Projects\/projects\/\n$ ln -s \/Volumes\/Projects\/projects\/ ~\/projects<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">So let&#8217;s see what is happened here?<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>I created a new disk image with case sensitive filesystem. The type is &#8216;spare&#8217; which means it will automatically grow when needed, but initially it will take only 50mb on disk.<\/li><li>I mounted the image<\/li><li>I hide it on the desktop (This volume will be always mounted, so I don&#8217;t want to see the icon of it) &#8211; for this I set the invisible attibute with setfile, and restarted Finder<\/li><li>And finally I created the projects folder inside the volume, and linked it into my home directory. <\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">That&#8217;s all folks. For more convenience I added the volume into my login items, so the disk image is automatically mounted when I restart my computer.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ git clone git@gwhatever.it.is:our\/repo.git\nCloning into 'repo'...\nremote: Counting objects: 20310, done.\nremote: Compressing objects: 100% (295\/295), done.\nremote: Total 20310 (delta 254), reused 536 (delta 209)\nReceiving objects: 100% (20310\/20310), 280.39 MiB | 2.38 MiB\/s, done.\nResolving deltas: 100% (12614\/12614), done.\nUpdating files: 100% (1849\/1849), done.\n$<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>I have a new job, and a new computer, and I have to admit: when I moved to this machine, I was not able to resist the temptation of Catalina, so I installed the newest OSX on the laptop. Everything was quite nice &#8211; well, I could rant for a while about why it was [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[132,134],"tags":[126,136,130],"class_list":["post-318","post","type-post","status-publish","format-standard","hentry","category-me-en","category-tech-en","tag-oldblog-en","tag-osx-en","tag-work-env-en"],"_links":{"self":[{"href":"https:\/\/banyek.net\/index.php?rest_route=\/wp\/v2\/posts\/318","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/banyek.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/banyek.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/banyek.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/banyek.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=318"}],"version-history":[{"count":1,"href":"https:\/\/banyek.net\/index.php?rest_route=\/wp\/v2\/posts\/318\/revisions"}],"predecessor-version":[{"id":404,"href":"https:\/\/banyek.net\/index.php?rest_route=\/wp\/v2\/posts\/318\/revisions\/404"}],"wp:attachment":[{"href":"https:\/\/banyek.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=318"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/banyek.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=318"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/banyek.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=318"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}