def add(files=[], recurse=true, force=false, no_ignore=false)

      # TODO make sure args are what is expected for all methods
      raise ArgumentError, 'files is empty' unless files

      svn_session() do |svn|
        begin
          files.each do |ef|
             svn.add(ef, recurse, force, no_ignore)
          end
        #rescue Svn::Error::ENTRY_EXISTS, 
        #       Svn::Error::AuthnNoProvider,
        #       #Svn::Error::WcNotDirectory,
        #       Svn::Error::SvnError => e
        rescue Exception => excp
          raise RepoAccessError, "Add Failed: #{excp.message}"
        end
      end
    end
def add(files=[], recurse=true, force=false, no_ignore=false)

      # TODO make sure args are what is expected for all methods
      raise ArgumentError, 'files is empty' unless files

      svn_session() do |svn|
        begin
          files.each do |ef|
             svn.add(ef, recurse, force, no_ignore)
          end
        #rescue Svn::Error::ENTRY_EXISTS, 
        #       Svn::Error::AuthnNoProvider,
        #       #Svn::Error::WcNotDirectory,
        #       Svn::Error::SvnError => e
        rescue Exception => excp
          raise RepoAccessError, "Add Failed: #{excp.message}"
        end
      end
    end
add entities to the repo

 pass a single entry or list of file(s) with fully qualified path,
 which must exist,

 raises RepoAccessError if something goes wrong

--
 "svn/client.rb"  Svn::Client
  def add(path, recurse=true, force=false, no_ignore=false)
    Client.add3(path, recurse, force, no_ignore, self)
  end
++