I thought I understood how and where TM2 stores its bundles, but clearly not. I now discover that a bunch of bundles have spontaneously moved from /Application\ Support/TextMate/Managed/Bundles to /Application\ Support/Avian/Bundles, and some of them have even duplicated themselves:
/Application\ Support/TextMate/Managed/Bundles:
AppleScript.tmbundle Objective-C.tmbundle Bundle Development.tmbundle PHP.tmbundle Bundle Support.tmbundle Property List.tmbundle C.tmbundle Python.tmbundle CSS.tmbundle Ruby Haml.tmbundle Diff.tmbundle Ruby on Rails.tmbundle Git.tmbundle Ruby.tmbundle HTML.tmbundle SCM.tmbundle Hyperlink Helper.tmbundle SQL.tmbundle JSON.tmbundle Shell Script.tmbundle Java.tmbundle Source.tmbundle JavaDoc.tmbundle Subversion.tmbundle JavaScript jQuery.tmbundle TODO.tmbundle JavaScript.tmbundle Text.tmbundle Lua.tmbundle TextMate.tmbundle Mail.tmbundle Textile.tmbundle Make.tmbundle Themes.tmbundle Markdown.tmbundle XML.tmbundle Math.tmbundle YAML.tmbundle Mercurial.tmbundle
/Application\ Support/Avian/Bundles:
AsciiDoc.tmbundle Make.tmbundle Ruby on Rails.tmbundle HTML.tmbundle MattBundle.tmbundle RubyFrontier.tmbundle Java.tmbundle Mercurial.tmbundle SQL.tmbundle JavaDoc.tmbundle PHP.tmbundle Subversion.tmbundle Lua.tmbundle Python.tmbundle Textile.tmbundle Mail.tmbundle Ruby Haml.tmbundle YAML.tmbundle
Just what is really going on here? Thx - m.
-- matt neuburg, phd = matt@tidbits.com, http://www.apeth.net/matt/ pantes anthropoi tou eidenai oregontai phusei Programming iOS 7! http://shop.oreilly.com/product/0636920031017.do iOS 7 Fundamentals! http://shop.oreilly.com/product/0636920032465.do RubyFrontier! http://www.apeth.com/RubyFrontierDocs/default.html TidBITS, Mac news and reviews since 1990, http://www.tidbits.com
On 6 Feb 2014, at 0:25, Matt Neuburg wrote:
I thought I understood how and where TM2 stores its bundles, but clearly not. I now discover that a bunch of bundles have spontaneously moved from /Application\ Support/TextMate/Managed/Bundles to /Application\ Support/Avian/Bundles, and some of them have even duplicated themselves: […]
The “Managed” folder are for bundles in their pristine condition.
If you edit a managed bundle, a delta is created in ~/Library/Application Support/Avian/Bundles.
I would expect your “duplicates” to be delta bundles (with your customizations).
Presently even when reverting an edit, the (empty) delta bundle is not deleted. This might leave a bit of harmless clutter in the local Bundles folder.
On Feb 6, 2014, at 5:37 PM, Allan Odgaard mailinglist@textmate.org wrote:
On 6 Feb 2014, at 0:25, Matt Neuburg wrote:
I thought I understood how and where TM2 stores its bundles, but clearly not. I now discover that a bunch of bundles have spontaneously moved from /Application\ Support/TextMate/Managed/Bundles to /Application\ Support/Avian/Bundles, and some of them have even duplicated themselves: […]
The “Managed” folder are for bundles in their pristine condition.
If you edit a managed bundle, a delta is created in ~/Library/Application Support/Avian/Bundles.
I would expect your “duplicates” to be delta bundles (with your customizations).
Presently even when reverting an edit, the (empty) delta bundle is not deleted. This might leave a bit of harmless clutter in the local Bundles folder.
Okay. But be aware that I did not edit them. I have not made any customizations. And they have moved; these are not mere delta doublets. So perhaps this is not quite working the way you intend. m.
-- matt neuburg, phd = matt@tidbits.com, http://www.apeth.net/matt/ pantes anthropoi tou eidenai oregontai phusei Programming iOS 7! http://shop.oreilly.com/product/0636920031017.do iOS 7 Fundamentals! http://shop.oreilly.com/product/0636920032465.do RubyFrontier! http://www.apeth.com/RubyFrontierDocs/default.html TidBITS, Mac news and reviews since 1990, http://www.tidbits.com
On 7 Feb 2014, at 8:45, Matt Neuburg wrote:
Okay. But be aware that I did not edit them. I have not made any customizations. And they have moved; these are not mere delta doublets. So perhaps this is not quite working the way you intend. m.
Did you inspect the bundles (on disk)?
It’s rather unlikely that I made a bug in the program that spontanously moves and duplicates bundles on disk ;)
On Feb 6, 2014, at 5:51 PM, Allan Odgaard mailinglist@textmate.org wrote:
It’s rather unlikely that I made a bug in the program that spontanously moves and duplicates bundles on disk ;)
That is why I am asking about it.
I did _disable_ these bundles. In one case I disabled it experimentally and enabled it again. Could that be the source of this behavior? m.
-- matt neuburg, phd = matt@tidbits.com, http://www.apeth.net/matt/ pantes anthropoi tou eidenai oregontai phusei Programming iOS 7! http://shop.oreilly.com/product/0636920031017.do iOS 7 Fundamentals! http://shop.oreilly.com/product/0636920032465.do RubyFrontier! http://www.apeth.com/RubyFrontierDocs/default.html TidBITS, Mac news and reviews since 1990, http://www.tidbits.com
On 7 Feb 2014, at 9:24, Matt Neuburg wrote:
[…] I did _disable_ these bundles. In one case I disabled it experimentally and enabled it again. Could that be the source of this behavior?
A more likely reason would be symlinks making TM think it installs in Managed when in fact the path resolves to something else.
On Feb 7, 2014, at 2:24 AM, Allan Odgaard mailinglist@textmate.org wrote:
On 7 Feb 2014, at 9:24, Matt Neuburg wrote:
[…] I did _disable_ these bundles. In one case I disabled it experimentally and enabled it again. Could that be the source of this behavior?
A more likely reason would be symlinks making TM think it installs in Managed when in fact the path resolves to something else.
No, it's the disabling. You were right: these _are_ deltas. But the only change I made is to disable the bundles. So disabling a bundle creates a delta.
That seems a strange thing for TM2 to do, but at least it explains the phenomenon. Thanks! m.
-- matt neuburg, phd = matt@tidbits.com, http://www.apeth.net/matt/ pantes anthropoi tou eidenai oregontai phusei Programming iOS 7! http://shop.oreilly.com/product/0636920031017.do iOS 7 Fundamentals! http://shop.oreilly.com/product/0636920032465.do RubyFrontier! http://www.apeth.com/RubyFrontierDocs/default.html TidBITS, Mac news and reviews since 1990, http://www.tidbits.com
On 8 Feb 2014, at 0:14, Matt Neuburg wrote:
[…] it's the disabling. You were right: these _are_ deltas. But the only change I made is to disable the bundles. So disabling a bundle creates a delta.
Ah, right. I read your previous reply as “uninstall”. Disabling a managed bundle (or bundle item) will create a delta.
That seems a strange thing for TM2 to do […]
Basically Preferences → Bundles will install/uninstall into Managed and nowhere else, and it will keep bundles in Managed up-to-date and no-one is ever allowed to edit these bundles in place, as they should be an exact copy of what’s upstream.
If you go into the bundle editor and make an edit, any edit, it will be written to ~/Library/Application Support/Avian/Bundles. Editing something that has been installed into that location will edit it in place, but anything installed outside that location will cause a delta to be written there, detailing what has been changed compared to the master copy.
Since bundles are sort of a distributed database, disabling a single item simply sets ‘disabled = true’ in the property list for that item, same for a bundle (here the item is the info.plist in the root of the bundle).
So at least from an implementation POV the behavior you see makes sense, and it means that deleting ~/Library/Application Support/Avian/Bundles will “remove local customizations” incl. undeleting or enabling potentially deleted or disabled default items.