#!/usr/bin/ruby -w
require "#{ENV['TM_SUPPORT_PATH']}/lib/setuplibs" require 'svn_diff_directory' require 'shellwords' #require 'exit_codes'
def get_dirs() dirs = [] if ENV['TM_SELECTED_FILES'] dirs = Shellwords.shellwords(ENV['TM_SELECTED_FILES']).delete_if { |file| (! File.directory?(file)) or (! File.directory?(file+'/.svn')) } end if dirs.empty? and ENV['TM_PROJECT_DIRECTORY'] dirs = [ENV['TM_PROJECT_DIRECTORY']].delete_if { |file| (! File.directory?(file)) or (! File.directory?(file+'/.svn')) } end if dirs.empty? TextMate.exit_show_tool_tip "Neither the selected directories nor the Project directory are versioned" end dirs end
STDOUT.sync = true dirs = get_dirs()
dirs.each() { |d| Dir.chdir(d) svn = ENV['TM_SVN']? ENV['TM_SVN']:'svn'
puts `#{svn} diff -r 1 .` }
This script is supposed to generate a full svn diff for the currently selected directory. However, it generates no output. I've set input to none, and output to new document ------------------------------------------------------ "Home is not where you are born, but where your heart finds peace" - Tommy Nordgren, "The dying old crone" tommy.nordgren@comhem.se
On 12 Apr 2009, at 23:23, Tommy Nordgren wrote:
[...] This script is supposed to generate a full svn diff for the currently selected directory. However, it generates no output. I've set input to none, and output to new document
Presently when command output is not valid UTF-8 TextMate will (unfortunately) just suppress it.
So most likely your svn diff will produce such invalid UTF-8 data. Try set output to “Show as HTML” instead.