def diff(file='', rev1='', rev2='')
      raise ArgumentError, 'file list empty or nil' unless file and file.size

      raise RepoAccessError, "Diff requires an absolute path to a file" \
         unless File.exists? file

      # can also use new (updated) svn.status(f)[0][:repo_rev]
      rev = info(file)[:rev] 
      out_file = Tempfile.new("svn_diff")
      err_file = Tempfile.new("svn_diff")
      svn_session() do |svn|
        begin
          svn.diff([], file, rev, file, "WORKING", out_file.path, err_file.path)
        rescue Exception => e
               #Svn::Error::EntryNotFound => e
          raise RepoAccessError, "Diff Failed: #{e.message}"
        end
      end
      out_file.readlines
    end
def diff(file='', rev1='', rev2='')
      raise ArgumentError, 'file list empty or nil' unless file and file.size

      raise RepoAccessError, "Diff requires an absolute path to a file" \
         unless File.exists? file

      # can also use new (updated) svn.status(f)[0][:repo_rev]
      rev = info(file)[:rev] 
      out_file = Tempfile.new("svn_diff")
      err_file = Tempfile.new("svn_diff")
      svn_session() do |svn|
        begin
          svn.diff([], file, rev, file, "WORKING", out_file.path, err_file.path)
        rescue Exception => e
               #Svn::Error::EntryNotFound => e
          raise RepoAccessError, "Diff Failed: #{e.message}"
        end
      end
      out_file.readlines
    end
By Default compares current working directory file with 'HEAD' in
 repository (NOTE: does not yet support diff to previous revisions)
--
 TODO support diffing previous revisions
++