I have ~/Library/Application Support/TextMate synced between two computers via Dropbox (Mackup). Today, when I launched 2.0-beta 6.8 for the first time, com.macromates.TextMate.preview segfaults, and does so for every subsequent launch.
Console shows this prior to the crash:
TextMate[11231]: CoreData could not fulfill a fault for '0xff880002b x-coredata://47E84A6D-2744-440D-ABA2-CE0276F6DD6C/PasteboardEntry/p16354'
When I remove Library/Application Support/TextMate/ClipboardHistory.db*, it can start again.
-MinRK
On 7 Feb 2015, at 5:05, MinRK wrote:
I have ~/Library/Application Support/TextMate synced between two computers […] When I remove Library/Application Support/TextMate/ClipboardHistory.db*, it can start again.
I don’t think there is much I can really do here.
The file in question is a sqlite database. It works with 3 files. When you sync, you are likely corrupting the database, since the 3 files must presumably be synced atomically.
So the best I can do is to detect file corruption, though I don’t use the sqlite database directly, it is being used by CoreData. I do catch exceptions from CoreData and show them in a dialog.
I would strongly suggest that you do not sync all of TextMate’s application support folder, as you could also get merge conflicts in other important files, like the session restore’s info.plist or the index of managed bundles.
Is there a recommended way to sync TextMate 2 settings (preferences, bundles, etc) between computers? Or is that not feasible?
On Feb 9, 2015, at 3:32 AM, Allan Odgaard mailinglist@textmate.org wrote:
On 7 Feb 2015, at 5:05, MinRK wrote:
I have ~/Library/Application Support/TextMate synced between two computers […] When I remove Library/Application Support/TextMate/ClipboardHistory.db*, it can start again.
I don’t think there is much I can really do here.
The file in question is a sqlite database. It works with 3 files. When you sync, you are likely corrupting the database, since the 3 files must presumably be synced atomically.
So the best I can do is to detect file corruption, though I don’t use the sqlite database directly, it is being used by CoreData. I do catch exceptions from CoreData and show them in a dialog.
I would strongly suggest that you do not sync all of TextMate’s application support folder, as you could also get merge conflicts in other important files, like the session restore’s info.plist or the index of managed bundles.
textmate mailing list textmate@lists.macromates.com http://lists.macromates.com/listinfo/textmate
On Feb 9, 2015, at 4:52 AM, Robert J. Rockefeller bob@bobrockefeller.com wrote:
Is there a recommended way to sync TextMate 2 settings (preferences, bundles, etc) between computers? Or is that not feasible?
I wonder whether it would help to sync immediately after restarting (both machines)? That way, any cached info would have been written out and everything would be in a consistent state.
On the other hand, if the SQLite database contains references to files, I would not necessarily expect them to work on a second machine, because the paths might be absolute. m.
-- matt neuburg, phd = http://www.apeth.net/matt/ pantes anthropoi tou eidenai oregontai phusei Programming iOS 8! http://shop.oreilly.com/product/0636920034261.do iOS 7 Fundamentals! http://shop.oreilly.com/product/0636920032465.do RubyFrontier! http://www.apeth.com/RubyFrontierDocs/default.html
On 9 Feb 2015, at 19:52, Robert J. Rockefeller wrote:
Is there a recommended way to sync TextMate 2 settings (preferences, bundles, etc) between computers? Or is that not feasible?
Personally I sync ~/Library/Application Support/Avian/Bundles and ~/.tm_properties — you should be able to symlink these to DropBox without problems.
I don’t find a hidden .tm_properties file in my home folder. Is it somewhere else?
On Feb 9, 2015, at 10:47 AM, Allan Odgaard mailinglist@textmate.org wrote:
On 9 Feb 2015, at 19:52, Robert J. Rockefeller wrote:
Is there a recommended way to sync TextMate 2 settings (preferences, bundles, etc) between computers? Or is that not feasible?
Personally I sync ~/Library/Application Support/Avian/Bundles and ~/.tm_properties — you should be able to symlink these to DropBox without problems.
textmate mailing list textmate@lists.macromates.com http://lists.macromates.com/listinfo/textmate
On 10 Feb 2015, at 0:49, Robert J. Rockefeller wrote:
I don’t find a hidden .tm_properties file in my home folder. Is it somewhere else?
This only exists if you created it. For me, I mainly use it for setting (environment) variables.
For details see: http://blog.macromates.com/2011/git-style-configuration/
Most things changed via the UI will result in something being written to ~/Library/Application Support/TextMate/Global.tmProperties — I personally don’t sync this file, but you could do that. Though before you do so, have a look at what the file contains, and consider whether you actually want to sync that stuff.
I have a bundle in the symlinked Bundles folder that can’t be installed by TextMate because it’s in “delta format.” Maybe this syncing is a bad idea?
On Feb 9, 2015, at 12:56 PM, Allan Odgaard mailinglist@textmate.org wrote:
On 10 Feb 2015, at 0:49, Robert J. Rockefeller wrote:
I don’t find a hidden .tm_properties file in my home folder. Is it somewhere else?
This only exists if you created it. For me, I mainly use it for setting (environment) variables.
For details see: http://blog.macromates.com/2011/git-style-configuration/
Most things changed via the UI will result in something being written to ~/Library/Application Support/TextMate/Global.tmProperties — I personally don’t sync this file, but you could do that. Though before you do so, have a look at what the file contains, and consider whether you actually want to sync that stuff.
textmate mailing list textmate@lists.macromates.com http://lists.macromates.com/listinfo/textmate
On 10 Feb 2015, at 3:07, Robert J. Rockefeller wrote:
I have a bundle in the symlinked Bundles folder that can’t be installed by TextMate because it’s in “delta format.” Maybe this syncing is a bad idea?
The folder I mentioned is where all customization goes. If you edit a default bundle, then you need to manually install that bundle on all computers before the delta will work.
For non-managed bundles, I would install them in the synced folder (rather than Pristine Copy).
Thanks, I'll look into syncing everything that's not session related. If I want to sync all bundles, themes, and settings It seems like I should sync:
- AppSupport/TextMate/ - Global.tmProperties - AppSupport/Avian - ~/Library/Preferences/com.macromates.*.plist - ~/.tm_properties
Is that wrong? It seems like if I only sync the deltas in Avian/Bundles, most bundles would be missing.
-MinRK
On Mon, Feb 9, 2015 at 9:56 AM, Allan Odgaard mailinglist@textmate.org wrote:
On 10 Feb 2015, at 0:49, Robert J. Rockefeller wrote:
I don’t find a hidden .tm_properties file in my home folder. Is it
somewhere else?
This only exists if you created it. For me, I mainly use it for setting (environment) variables.
For details see: http://blog.macromates.com/2011/git-style-configuration/
Most things changed via the UI will result in something being written to ~/Library/Application Support/TextMate/Global.tmProperties — I personally don’t sync this file, but you could do that. Though before you do so, have a look at what the file contains, and consider whether you actually want to sync that stuff.
textmate mailing list textmate@lists.macromates.com http://lists.macromates.com/listinfo/textmate
On 10 Feb 2015, at 3:10, MinRK wrote:
Thanks, I'll look into syncing everything that's not session related. If I want to sync all bundles, themes, and settings It seems like I should sync:
- AppSupport/TextMate/
- Global.tmProperties
- AppSupport/Avian
- ~/Library/Preferences/com.macromates.*.plist
- ~/.tm_properties
Is that wrong? It seems like if I only sync the deltas in Avian/Bundles, most bundles would be missing.
As replied in the other thread, managed bundles (those installed via Preferences → Bundles) would need to be installed on all machines, as they are not included in the list above).
I don’t see much reason to sync Global.tmProperties or com.macromates.*.plist, but each to his own.