-
Notifications
You must be signed in to change notification settings - Fork 936
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support Mac App Store apps #154
Comments
That's annoying. I tried with Vox though and it seems that replacing the What broken behavior did you experienced ? |
The same one you’ve experienced with sparrow. Maybe it happens only when we try to sync entire directories, and not for singular files. I’ll have to perform some tests on this. |
Yep, from my limited testing right now, (sip, where only one file needs to be linked, and sketch, where we need to link one file and a directory), it seems like linking directories inside containers is the only case where it causes problems (in sketch’s case you lose important settings, like the customisation of your toolbar). |
Do you mean linking files directly works ? |
Seems to be the case, yes. Linking Linking individual files would not be a long-term solution, however, as in some cases whole directories do have to be copied over. In sketch, for instance, inside that linked directory is where user plugins reside, and those will be different depending on the user. |
New development. It seems that this can break or not on a case-by-case basis, so we should probably just get a solution that’ll act on files inside |
Yeah, links are ruled out. The app dev need to ask for permissions when submitting to the app store and tell which file outside of the Container app folder it needs to access, with a good reason. Mackup could add itself to the user's crontab and diff/sync those files every X min, keeping latest modified all the time (local or dropbox), but there might be problems when multiple computers are on. |
I agree that using cron (or launchd, even), is not an optimal solution, and should really be avoided. The issue here seems to be how to convey to the user that some apps will have limited backup capabilities, so it is clear that those will need a bit more care to be kept up to date. I don’t have a solution to this, but maybe the start of a suggestion. Since applications will essentially be divided into two groups (“always in sync” and “sync on demand”), maybe actually splitting them could help make that distinction (I’m thinking something to the effect of how homebrew uses taps). This way there would be an “opt-in” to these apps, making users aware of the why of this limitation. Another option would be to only sync apps specified in the Both this options have the particularity of not making users worry about “is this app automatically synced, or do I have to do it myself regularly?”, since they’d be made aware of that when setting up, but they do come with the burden of requiring a bit extra work when initially setting up. I believe that initial hurdle to be more advantageous than having users puzzled about why some backups “just work”, while others do not. These solutions would change mackup’s design philosophy a bit, true, but right now it is a choice between being more convenient and being more complete. |
We don't need 2 "taps" to handle apps differently, a simple config option in the app cfg can work.
For this app mackup will not link the conf files, but just copy them when it's being run. Then as you mentioned, the real problem here is that we let users in the dark, not knowing what's in sync. That's where the Making mackup optin instead of optout is another question. |
I actually very much like that solution. Having |
Cool I guess we have a plan then, thanks for helping clarifying this out.
|
Sounds good, but shouldn’t option 2 be the last one? If there’s some change that needs to be done to the |
|
I was imagining them as being more independent. 3 and 4 can exist without 2 (the limitations just won’t be as clear), and vice-versa. I was thinking of 3 and 4 first since some complications might occur that will change the design of the feature, while 2, being an option that will complement that, could adapt itself to how it turns out, instead of having to change later in case the feature does end up having to be rethought. However, you know the tool better, and the sequence of implementation shouldn’t make that big of difference, so I trust the way you find to be more efficient. |
That's true, but I don't see support for copy/sync methods without letting the user know what's happening, given by the status. |
Have you tried mount -o bind? Or put the link in dropbox instead of in the app's dir? Maybe mounting the app's dir in another directory then symlink it? |
I don't see how mount -o bind can help here, can you get into more details if you have a solution ? Keep in mind that Dropbox need real files in his folder to detect changes and sync them, or it will do nothing. Putting symlinks in Dropbox does not work as the point is to sync the files content. |
I was thinking about making a symlink to a folder inside Dropbox and then mount the contents of the app's did in the symlink. |
I might have totally missed your point, but I don't get it. |
Ok, now I'm really out of ideas now, looks like Apple has moded GNU tools, I was testing these things on Ubuntu. |
That wouldn’t be very productive. I think they simply use the BSD versions (since OS X is based on it). |
What's the status of this? Is anyone working on a solution? Has a consensus been formed on how to solve it? |
Also interested in the status of this. Thanks. |
Well, unless we have a working solution, there is no progress on this. |
Once #613 is in, it should not be a problem |
Mac App Store apps keep files inside
~/Library/Containers/
. These cannot be replaced with soft links (ln -s
), but do work with hard links (ln
) and OS X aliases. Since hard links cannot be used on directories, this would work for many apps, but not all.My suggestion would be to add
CONTAINERS = 'Library/Containers/'
to# Commonly used paths #
, and then when mackup encounters an app that references something that starts withCONTAINERS
, use the applescript way; else, make a symbolic link as always.The text was updated successfully, but these errors were encountered: