[TxMt] Re: Automated diff + export of personal mods from bundles?

Stefan Daschek stefan at daschek.net
Thu Apr 6 20:57:39 UTC 2017


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-lived-fork/ 
)

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 at gmail.com
> <mailto:timothy.c.bates at 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 at me.com
>>> <mailto:doob at 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 at lists.macromates.com <mailto:textmate at 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 at lists.macromates.com
> http://lists.macromates.com/listinfo/textmate
>


More information about the textmate mailing list