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

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

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

Tim Bates
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


_______________________________________________
textmate mailing list
[hidden email]
http://lists.macromates.com/listinfo/textmate
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

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

Jacob Carlborg

On 5 Apr 2017, at 11:55, Tim Bates <[hidden email]> 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
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

--
/Jacob Carlborg



_______________________________________________
textmate mailing list
[hidden email]
http://lists.macromates.com/listinfo/textmate
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

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

Tim Bates
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 <[hidden email]> 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
[hidden email]
http://lists.macromates.com/listinfo/textmate
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

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

Graham Heath
On April 5, 2017 at 2:27:34 PM, Tim Bates ([hidden email]) 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 <[hidden email]> 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 
[hidden email] 
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)

I use homeshick to manage my settings/bundles. I’ve used the 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
[hidden email]
http://lists.macromates.com/listinfo/textmate
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

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

Stefan Daschek
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 ([hidden email]
> <mailto:[hidden email]>) 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 <[hidden email]
>>> <mailto:[hidden email]>> 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
>> [hidden email] <mailto:[hidden email]>
>> 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
> [hidden email]
> http://lists.macromates.com/listinfo/textmate
>

_______________________________________________
textmate mailing list
[hidden email]
http://lists.macromates.com/listinfo/textmate
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

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

Ben Roux

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

S.

Am 06.04.17 um 01:53 schrieb Graham Heath:

On April 5, 2017 at 2:27:34 PM, Tim Bates ([hidden email]
<[hidden email]>) 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 <[hidden email]
<[hidden email]>> 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
[hidden email] <[hidden email]>
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
[hidden email]
http://lists.macromates.com/listinfo/textmate

_______________________________________________
textmate mailing list
[hidden email]
http://lists.macromates.com/listinfo/textmate



_______________________________________________
textmate mailing list
[hidden email]
http://lists.macromates.com/listinfo/textmate
Loading...