Hi all, Like many of us, I suspect, I’ve got core bundles (like markdown, regex etc.) that I have customised with new snippets and commands, or just just tweaks to language.
I’d like extricate my code from these, so that 1. I can let TM2 easily update the mainstream bundle 2. I can control my mods 3. From that base of clarity, I can submit generally-useful changes back to the widely used central repo.
Are there any solutions to 1. Diffing the pristine bundle with my dirty copy? 2. Exporting modified snippets and commands to my personal repo
Ideally, the UUID exported commands would be entered into the plist of my personal repo, perhaps under “exported from <bundlename> as a menu name.
Hope others have had this problem and solved it :-) Otherwise bit of a manual trek in store for summer :-)
Best, tim
On 5 Apr 2017, at 11:55, Tim Bates timothy.c.bates@gmail.com wrote:
Hi all, Like many of us, I suspect, I’ve got core bundles (like markdown, regex etc.) that I have customised with new snippets and commands, or just just tweaks to language.
I’d like extricate my code from these, so that
- I can let TM2 easily update the mainstream bundle
- I can control my mods
- From that base of clarity, I can submit generally-useful changes back to the widely used central repo.
Are there any solutions to
- Diffing the pristine bundle with my dirty copy?
- Exporting modified snippets and commands to my personal repo
Ideally, the UUID exported commands would be entered into the plist of my personal repo, perhaps under “exported from <bundlename> as a menu name.
Hope others have had this problem and solved it :-) Otherwise bit of a manual trek in store for summer :-)
As far as I understand, at least for the built-in bundles, TextMate will store the changes separately from the main bundle. The built-in bundles are stored in ~/Library/Application Support/TextMate/Managed/Bundles, if you make a change to one of those, it will store those changes as a diff (or rather the overrides) in ~/Library/Application Support/TextMate/Bundles. There’s also a directory called "Pristine Copy”, see section 5.2 here [1] for more information.
[1] https://manual.macromates.com/en/bundles https://manual.macromates.com/en/bundles - not sure if this is up to date
-- /Jacob Carlborg
Thanks Jacob, I should have said I’ve forked these bundles from github so as to be able to maintain my changes, use them on multiple machines etc. So, I don’t have a set of over-rides from pristine.
On 5 Apr 2017, at 4:16 pm, Jacob Carlborg doob@me.com wrote:
Like many of us, I suspect, I’ve got core bundles (like markdown, regex etc.) that I have customised with new snippets and commands, or just just tweaks to language.
I’d like extricate my code from these, so that
- I can let TM2 easily update the mainstream bundle
- I can control my mods
- From that base of clarity, I can submit generally-useful changes back to the widely used central repo.
Are there any solutions to
- Diffing the pristine bundle with my dirty copy?
- Exporting modified snippets and commands to my personal repo
Ideally, the UUID exported commands would be entered into the plist of my personal repo, perhaps under “exported from <bundlename> as a menu name.
Hope others have had this problem and solved it :-) Otherwise bit of a manual trek in store for summer :-)
As far as I understand, at least for the built-in bundles, TextMate will store the changes separately from the main bundle. The built-in bundles are stored in ~/Library/Application Support/TextMate/Managed/Bundles, if you make a change to one of those, it will store those changes as a diff (or rather the overrides) in ~/Library/Application Support/TextMate/Bundles. There’s also a directory called "Pristine Copy”, see section 5.2 here [1] for more information.
[1] https://manual.macromates.com/en/bundles https://manual.macromates.com/en/bundles - not sure if this is up to date
On April 5, 2017 at 2:27:34 PM, Tim Bates (timothy.c.bates@gmail.com) wrote:
Thanks Jacob, I should have said I’ve forked these bundles from github so as to be able to maintain my changes, use them on multiple machines etc. So, I don’t have a set of over-rides from pristine.
On 5 Apr 2017, at 4:16 pm, Jacob Carlborg doob@me.com wrote:
Like many of us, I suspect, I’ve got core bundles (like markdown, regex etc.) that I have customised with new snippets and commands, or just just tweaks to language.
I’d like extricate my code from these, so that 1. I can let TM2 easily update the mainstream bundle 2. I can control my mods 3. From that base of clarity, I can submit generally-useful changes back to the widely used central repo.
Are there any solutions to 1. Diffing the pristine bundle with my dirty copy? 2. Exporting modified snippets and commands to my personal repo
Ideally, the UUID exported commands would be entered into the plist of my personal repo, perhaps under “exported from <bundlename> as a menu name.
Hope others have had this problem and solved it :-) Otherwise bit of a manual trek in store for summer :-)
As far as I understand, at least for the built-in bundles, TextMate will store the changes separately from the main bundle. The built-in bundles are stored in ~/Library/Application Support/TextMate/Managed/Bundles, if you make a change to one of those, it will store those changes as a diff (or rather the overrides) in ~/Library/Application Support/TextMate/Bundles. There’s also a directory called "Pristine Copy”, see section 5.2 here [1] for more information.
[1] https://manual.macromates.com/en/bundles - not sure if this is up to date
_______________________________________________ textmate mailing list textmate@lists.macromates.com http://lists.macromates.com/listinfo/textmate
I’m interested in hearing from a bundle developer or 2 on the topic. I dabble (plug: my fork of Javascript Hinter https://github.com/loadedsith/JavascriptHinter.tmbundle)
I use homeshick https://github.com/andsens/homeshick to manage my settings/bundles. I’ve used the symlinking https://github.com/andsens/homeshick/wiki/Symlinking guide and
~/Library/Application Support/TextMate
now points to
~/.homesick/repos/textmate-settings/Application Support/TextMate
Homeshick creates a git repo under repos/[repo name]. Committing (or reverting) changes is now done in this git repository. If you like what you’ve changed you can commit or you could move the change into the bundle. For instance: If I make a change to a command, first I look at repo status, and then I move the changes in into the bundle. Remove the diffs, and re-launch TextMate.
I’m way over complicating this, I assume?
Thanks,
Graham Heath
Here's what I've been doing for the past few years:
I have ~/Library/Application Support/TextMate/Bundles in a Git repo. Most of the Bundles I use regularly are included as submodules. This way I can use Git to keep track of my modifications and also easily create pull requests for upstream. For some lesser used bundles I only have TextMate’s “delta” bundles in the repo.
You can find this repo on GitHub: https://github.com/die-antwort/textmate-bundles I also wrote some helper scripts to simplify updating the submoduled bundles and committing my changes.
Downside of this approach: I have to manually check for updates of the submoduled modules and then merge them in.
Upside: I find it easier to keep track of my customizations if they are in the context of the complete bundle, not only a delta bundle. Also, contributing to upstream is really simple.
From time to time I clean up my customizations to remove changes that I either no longer use or that have been superseded by commits in upstream. (I wrote a blog post about how to do “something like a rebase but without destroying the history” here: https://die-antwort.eu/techblog/2016-08-git-tricks-for-maintaining-a-long-li... )
S.
Am 06.04.17 um 01:53 schrieb Graham Heath:
On April 5, 2017 at 2:27:34 PM, Tim Bates (timothy.c.bates@gmail.com mailto:timothy.c.bates@gmail.com) wrote:
Thanks Jacob, I should have said I’ve forked these bundles from github so as to be able to maintain my changes, use them on multiple machines etc. So, I don’t have a set of over-rides from pristine.
On 5 Apr 2017, at 4:16 pm, Jacob Carlborg <doob@me.com mailto:doob@me.com> wrote:
Like many of us, I suspect, I’ve got core bundles (like markdown, regex etc.) that I have customised with new snippets and commands, or just just tweaks to language.
I’d like extricate my code from these, so that
- I can let TM2 easily update the mainstream bundle
- I can control my mods
- From that base of clarity, I can submit generally-useful changes
back to the widely used central repo.
Are there any solutions to
- Diffing the pristine bundle with my dirty copy?
- Exporting modified snippets and commands to my personal repo
Ideally, the UUID exported commands would be entered into the plist of my personal repo, perhaps under “exported from <bundlename> as a menu name.
Hope others have had this problem and solved it :-) Otherwise bit of a manual trek in store for summer :-)
As far as I understand, at least for the built-in bundles, TextMate will store the changes separately from the main bundle. The built-in bundles are stored in ~/Library/Application Support/TextMate/Managed/Bundles, if you make a change to one of those, it will store those changes as a diff (or rather the overrides) in ~/Library/Application Support/TextMate/Bundles. There’s also a directory called "Pristine Copy”, see section 5.2 here [1] for more information.
[1] https://manual.macromates.com/en/bundles - not sure if this is up to date
textmate mailing list textmate@lists.macromates.com mailto:textmate@lists.macromates.com http://lists.macromates.com/listinfo/textmate
I’m interested in hearing from a bundle developer or 2 on the topic. I dabble (plug: my fork of Javascript Hinter https://github.com/loadedsith/JavascriptHinter.tmbundle)
I use homeshick https://github.com/andsens/homeshick to manage my settings/bundles. I’ve used the symlinking https://github.com/andsens/homeshick/wiki/Symlinking guide and
~/Library/Application Support/TextMate
now points to
~/.homesick/repos/textmate-settings/Application Support/TextMate
Homeshick creates a git repo under repos/[repo name]. Committing (or reverting) changes is now done in this git repository. If you like what you’ve changed you can commit or you could move the change into the bundle. For instance: If I make a change to a command, first I look at repo status, and then I move the changes in into the bundle. Remove the diffs, and re-launch TextMate.
I’m way over complicating this, I assume?
Thanks,
Graham Heath
textmate mailing list textmate@lists.macromates.com http://lists.macromates.com/listinfo/textmate
I have done something similar by symlinking select directories to a dropbox folder:
``` $ ls ~/Library/Application\ Support/TextMate/ |grep Dropbox Bundles -> /Users/benroux/Dropbox/Config/Textmate/Bundles/ Bundles-1.x -> /Users/benroux/Dropbox/Config/Textmate/Bundles/ Managed -> /Users/benroux/Dropbox/Config/Textmate/Managed/ Pristine Copy -> /Users/benroux/Dropbox/Config/Textmate/Pristine Copy/ Themes -> /Users/benroux/Dropbox/Config/Textmate/Themes/ ```
The only issue i have had has been the load order between the various directories, where m changes were being saves to Bundles but being ignored when restarting TextMate in favor of the Managed or Pristine Copy versions. Thankfully that seems to have been largely resolved as of 9 months ago or so.
When it works right (which it is now) it has been a great “set it and forget it” solution between machines. Ben
On 6 Apr 2017, at 14:57, Stefan Daschek wrote:
Here's what I've been doing for the past few years:
I have ~/Library/Application Support/TextMate/Bundles in a Git repo. Most of the Bundles I use regularly are included as submodules. This way I can use Git to keep track of my modifications and also easily create pull requests for upstream. For some lesser used bundles I only have TextMate’s “delta” bundles in the repo.
You can find this repo on GitHub: https://github.com/die-antwort/textmate-bundles I also wrote some helper scripts to simplify updating the submoduled bundles and committing my changes.
Downside of this approach: I have to manually check for updates of the submoduled modules and then merge them in.
Upside: I find it easier to keep track of my customizations if they are in the context of the complete bundle, not only a delta bundle. Also, contributing to upstream is really simple.
From time to time I clean up my customizations to remove changes that I either no longer use or that have been superseded by commits in upstream. (I wrote a blog post about how to do “something like a rebase but without destroying the history” here: https://die-antwort.eu/techblog/2016-08-git-tricks-for-maintaining-a-long-li... )
S.
Am 06.04.17 um 01:53 schrieb Graham Heath:
On April 5, 2017 at 2:27:34 PM, Tim Bates (timothy.c.bates@gmail.com mailto:timothy.c.bates@gmail.com) wrote:
Thanks Jacob, I should have said I’ve forked these bundles from github so as to be able to maintain my changes, use them on multiple machines etc. So, I don’t have a set of over-rides from pristine.
On 5 Apr 2017, at 4:16 pm, Jacob Carlborg <doob@me.com mailto:doob@me.com> wrote:
Like many of us, I suspect, I’ve got core bundles (like markdown, regex etc.) that I have customised with new snippets and commands, or just just tweaks to language.
I’d like extricate my code from these, so that
- I can let TM2 easily update the mainstream bundle
- I can control my mods
- From that base of clarity, I can submit generally-useful
changes back to the widely used central repo.
Are there any solutions to
- Diffing the pristine bundle with my dirty copy?
- Exporting modified snippets and commands to my personal repo
Ideally, the UUID exported commands would be entered into the plist of my personal repo, perhaps under “exported from <bundlename> as a menu name.
Hope others have had this problem and solved it :-) Otherwise bit of a manual trek in store for summer :-)
As far as I understand, at least for the built-in bundles, TextMate will store the changes separately from the main bundle. The built-in bundles are stored in ~/Library/Application Support/TextMate/Managed/Bundles, if you make a change to one of those, it will store those changes as a diff (or rather the overrides) in ~/Library/Application Support/TextMate/Bundles. There’s also a directory called "Pristine Copy”, see section 5.2 here [1] for more information.
[1] https://manual.macromates.com/en/bundles - not sure if this is up to date
textmate mailing list textmate@lists.macromates.com mailto:textmate@lists.macromates.com http://lists.macromates.com/listinfo/textmate
I’m interested in hearing from a bundle developer or 2 on the topic. I dabble (plug: my fork of Javascript Hinter https://github.com/loadedsith/JavascriptHinter.tmbundle)
I use homeshick https://github.com/andsens/homeshick to manage my settings/bundles. I’ve used the symlinking https://github.com/andsens/homeshick/wiki/Symlinking guide and
~/Library/Application Support/TextMate
now points to
~/.homesick/repos/textmate-settings/Application Support/TextMate
Homeshick creates a git repo under repos/[repo name]. Committing (or reverting) changes is now done in this git repository. If you like what you’ve changed you can commit or you could move the change into the bundle. For instance: If I make a change to a command, first I look at repo status, and then I move the changes in into the bundle. Remove the diffs, and re-launch TextMate.
I’m way over complicating this, I assume?
Thanks,
Graham Heath
textmate mailing list textmate@lists.macromates.com http://lists.macromates.com/listinfo/textmate
textmate mailing list textmate@lists.macromates.com http://lists.macromates.com/listinfo/textmate