Like many others, I have started using cloud services to sync my data across computers. Although there are many nice alternatives like Dropbox and so on, my choice until now is SugarSync. It is very nice and it has completely removed the manual copying of files using FTP that I used to do. I really like the way it is designed and it works well.
But I had an problem with SugarSync on Mac OS X. The reason is that I like to put aliases on the desktop to the folders I work with often. (Alias correspond to “shortcut” in Windows). It turned out that my aliases on the desktop were pointing to folders and files in the Trash! First I didn’t notice it because the trash folder actually looks like any other folder. I noticed it because changes I had done on another computer were not updated.
The SugarSync trash problem
Later I understood why: when there are newer files in the cloud, SugarSync deletes the older files and puts them in the trash. So when clicking on the alias, I would end up browsing files in the Trash! It is like this because aliases in Mac OS X are pointing in two ways. If you move the file the alias is pointing to to another folder, the link will still work (unlike shortcuts in Windows that are only pointing in one way). If you move the linked file to the trash, the alias will point to the trash. Same thing when SugarSync is deleting files. I tried to use symbolic links using the ln ‑s at the command line but it seemed that OS X has changed the meaning of ln and symbolic links, at least for folders, quite strange. Maybe Dropbox or other cloud services would be better, but I think they work in the same way — older files are moved to the trash.
The remedy was to use a command line software package called hardlink. It is easy to install provided you have the gcc compiler. (If you don’t, it can be downloaded from the xcode package). The hardlink package can be downloaded from Sam’s site and it contains all the information you need including installation instructions and how to use the command.
For me, this solved the annoying SugarSync versus Trash problems and now I can work the way I like, using aliases on the desktop to my current project folders. The only drawback with this approach that I have noticed until now is that when opening the folder with the hardlink, the icons inside it don’t show the green little dot indicating that it’s synced. On the other hand, it can be nice to not see it too because it makes a rather ugly look, so in the end, this can be regarded as a positive feature as well.
Note 1: SugarSync is not perfect. It is not syncing sometimes. On Windows machines, it seems like I have to uninstall/resinstall the software. On Mac it’s enough to exit the software and restart it.
Note 2: When the hardlink folder is opened it looks just like normal, but it turns out that it does mot really behave like a native folder created iin a normal way in Mac OS. For example, is does not update what is displayed automatically if files are changed or if time or date stamps are changed. Also, if dragging multiple files to the hardlink folder, only one of them will be displayed, but actually, all are there. By moving back and forth to another folder, the contents will display correctly. This can be okay for a while, but I will try to make better hardlinks I the future.
Note 3: I turned out that I never rally liked “hardlink” so I am not using it anymore. I keep the post if someone is interested. I tried also using the bidfs package, thanks again, Sam for your advices. It took forever to install but worked well. Still, in the end, I didn’t like that the folder icons looked like USB disks or network drives and also I didn’t like that they couldn’t be renamed so finally I gave up.
Conclusion
Use a simple folder structure instead so it will be easier to access the files. That is what I do now.
The only thing that remains to worry me now is that suddenly SugarSync may be taken down by authorities because other than me are storing illegal files, what ever that would be, but that’s another story.