[SVN] The GitHub Mirror
Allan Odgaard
mailinglist at textmate.org
Sat Oct 17 21:30:38 UTC 2009
When I announced the GitHub mirror I thought I could do two-way sync.
Unfortunately that is not the case (since ‘git svn’ wants to do a
rebase, so all updates to master must come from svn to not break
history, and sending back git changes to svn is itself problematic due
to dropped meta data like author).
So I want to “discontinue” this thing — I can’t find time/
energy/motivation to write the proper support commands I had in mind
for it.
The main disadvantage with GitHub is lacking ease-of-use for end
users. Subversion wasn’t an ideal distribution mechanism for bundles,
but it did make it easy enough for users to do a full checkout of all
bundles, update checked out bundles (one command) or copy/paste
instructions (from the manual) for installing a new bundle (as
‘svn’ is already on the system).
But as GitHub certainly has advantages for the developers, my plan is
to delete bundles from svn that see activity on GitHub. So likely this
will be a slow migration to git, rather than just pulling the plug
fully on Subversion.
I said above the main disadvantage with git is for the end-user, so my
plan is to introduce a bundle distribution system which is independent
of SCM. I’ve been holding out on this one, as it was on the list of
things 2.0 should solve, but as the cat is already out of the bag wrt
git, and 2.0 is not yet here, I think this part should be moved
forward to 1.x.
For now I have done a simple CLI tool http://bundles.textmate.org/bl.bz2
It allows you to list (remote) bundles and install/uninstall them (the
list will have the bundle prefixed with I if installed and U if
installed but newer vesion available).
Everything fetched (including indexes) are kept in ~/Library/
Application Support/TextMate/Managed — presently TextMate does not
look there, so you will need to symlink a searched Bundles folder to
there (if you want to play with it now). I plan to release an update
to 1.x where this is integrated (and where it also look in this
location for installed bundles). Main problem is that the code written
for this requires Leopard, and there are still lots of TextMate users
on Tiger. I am not sure how involved it will be to make the code run
on Tiger (it leverages frameworks written with Leopard in mind, the
tool itself is fairly simple) — worst case I may make it a plug-in
only loaded for Leopard users, and Tiger users will jsut need to
manage bundles as presently done (except they are slowly moving from
svn → git).
Presently there is one index maintained by me where bundles are
signed. I am not sure whether this will be open for public
submissions, or if bundle authors should run their own indexes, but I
am leaning mostly toward the latter — it’s just too much work for
us having to deal with hundreds of bundles. Probably a bundle can
embed its “source” (index) in the info.plist so the user can easily
“subscribe” to updates.
Anyway, just wanted to post an update on the situation, and feel free
to play with the ‘bl’ tool. I have tried to make it work with
system configured proxy (incl. username/password from key chain) but
as I don’t have any proxy, this is untested. So if you have the
chance to test this under a proxy setup I would be grateful to learn
if it works or not.
More information about the textmate-dev
mailing list