I’m still using TextMate 1.x and therefore need Ruby 1.8 to use the subversion bundle.
It seems that the quickest workaround to get this working on OS X 10.10 Yosemite is to compile and install Ruby 1.8
Here are the brief instructions.
You will need a compiler. So, you’ll need XCode and maybe X11.
Get the source code:
mkdir -p ~/src/ruby
svn co http://svn.ruby-lang.org/repos/ruby/tags/v1_8_7_374
Setup your environment
Link autoconf so that it can be found
sudo ln -s /Developer/usr/share/autoconf /usr/share
Configure and build
After the recent upgrade it seems that TextMate and Ruby are no longer friends.
Are you seeing errors like:
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require’: /Applications/TextMate.app/Contents/SharedSupport/Support/lib/shelltokenize.rb:74: invalid multibyte escape: /[^\w_\-\+=\/\x7F-\xFF]/ (SyntaxError) from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require’ from /Applications/TextMate.app/Contents/SharedSupport/Bundles/Subversion.tmbundle/Support/format_status.rb:4:in `
I think I have a more permanent fix this time. If you read my previous post you sill see that the moving the current Ruby link is no longer working. Also, if you set the TM_RUBY variable, this too does not fix the problem.
Todays workaround is to update the PATH environment variable within TextMate to include Ruby 1.8 fist in the list.
To do this:
- Open TextMate
- Open the preferences pane TextMate -> Preferences
- Select the Advanced tab
- Select Shell Variables
- Edit the PATH variable. Add to the beginning
Since thew upgrade to Mavericks the output from the subversion log command in TextMate has not worked correctly. It seems that the problem is caused by a change to the xml output from subversion which the TextMate format log script is not picking up.
Essentially the problem is the encoding line has changed from utf-8 to UTF-8.
To fix the problem edit the file: /Applications/TextMate.app/Contents/SharedSupport/Bundles/Subversion.tmbundle/Support/format_log_xml.rb To edit in TextMate this would be:
Change line 151 from:
if line =~ /^(.*)<\?xml version="1\.0"( encoding="utf-8")?\?>$/
if line =~ /^(.*)<\?xml version="1\.0"((?i) encoding="utf-8")?\?>$/
The log format should be back.