Distributed model for bundles (was: [TxMt] Bundle and language help)

Thomas Aylott (subtleGradient) oblivious at subtlegradient.com
Sat Aug 4 07:42:46 UTC 2007


> On Aug 4, 2007, at 12:00 AM, Allan Odgaard wrote stuff about things.

Obviously the ideal plan would be to have transparent git commits and  
merges and updates all happening seemlessly in the background any time  
you interact with bundles. The auto-update system would have to let  
you automatically update your bundles somehow too.

The trick is how we get from where we currently are to where we need  
to be.
I think we can make baby steps in the meantime to ease our way into  
the ideal.

Just think about the ways people currently deal with bundles:

1. Use only the bundles you get from inside TextMap.app when you  
download the latest version.
2. Download bundles in zip files, double-click to install. All local  
changes go into tmdeltas.
3. Manually checkout all or individual bundles and the support  
folders. All local changes either go into deltas or the bundles  
themselves.
4. Use GetBundles to do #3 for you.

Switching to git won't really change much of anything in the short  
term. And you should be able to ramp up and make it completely first  
class integrated for TM2.

Switching from Subversion to git:

1. No change
2. No change
3. Manually checkout with git instead. Nerds will figure it out.
4. Update GetBundles to use git instead.

Until TM2 comes out, you should keep the subversion repo up and  
running. Just gradually convert each tmbundle into a git checkout/repo  
(.git folder in the root of the project?) and commit that to the  
subversion repo. Then as people keep updating their bundles, their  
bundles get upgraded in the background without them ever knowing about  
it. Eventually we remove all the .svn folders and turn off the server.  
Once that happens you should have something in TM2 to handle the  
updates from that point on. You'll also have to think of something to  
do about the tmdeltas once that happens. Have fun with that.

Obviously, for anything that gets included with the TextMate app  
itself, there is going to have to be a single source that you pull  
from. Either your own git branch merged from other peoples or just  
pulling from them directly with no merging.

Until TM2 comes out, all us nerds should be happy updating and  
committing our bundles to a central subversion repo or upgrading them  
to git and pulling from a central source. But once TM2 comes out, it  
should integrate all that stuff right into the app itself.

I can hardly wait to upgrade all my bundles to git.

	thomas Aylott — subtleGradient — CrazyEgg — sixteenColors





More information about the textmate mailing list