It could be an issue with defining the class in .caprc, since .caprc gets loaded via an eval within the context of another object. You might try putting the definition in another file, and using require to load it from your caprc.

- Jamis

On Oct 24, 2007, at 10:02 AM, Chuck Remes wrote:


Thanks for the quick response.

I just tried adding this require line to my .caprc but it still
generates the same error when I run 'cap -Tv.' I also tried adding a
require for rubygems plus adding the absolute path to the capistrano
line but they all return the same error.

Just as a general note, I have a very stable ruby and rubygems
environment on this machine so it's unlikely a problem in my
environment (though that is always possible).

Any other suggestions?


On Oct 24, 2007, at 10:41 AM, Jamis Buck wrote:

cap isn't like Rails, with the magic auto-loading. You need to
manually require the base class:

  require 'capistrano/recipes/deploy/scm/base'

- Jamis

On Oct 24, 2007, at 9:19 AM, Chuck Remes wrote:


I checked through the list archives I see that capistrano requires
the usage of a "real" SCM. I have a very specific requirement where I need to deploy the contents of a directory to a set of servers. Based
on the advice given in those earlier threads, I am writing a custom
SCM to mimic a "cp" so I can leverage the existing code in the
framework to handle the remainder of the deployment.

However, I am having a problem getting my custom class to load. For
the sake of simplicity early on, I am putting the code into ~/.caprc.

The approach I took is I subclassed Capistrano::Deploy::SCM::Base and
overrode the +checkout+ method. When I run 'cap -T' just to verify
capistrano is still working, I get a NameError. Here it is:

/Users/cremes/.caprc:8:in `load': uninitialized constant #<Class:
0x14b55f4>::Capistrano::Deploy::SCM::Base (NameError)
         from /Users/cremes/lib/ruby/gems/1.8/gems/capistrano-2.1.0/
lib/capistrano/configuration/loading.rb:173:in `load_from_file'
         from /Users/cremes/lib/ruby/gems/1.8/gems/capistrano-2.1.0/
lib/capistrano/configuration/loading.rb:89:in `load'
         from /Users/cremes/lib/ruby/gems/1.8/gems/capistrano-2.1.0/
lib/capistrano/configuration/loading.rb:86:in `load'
         from /Users/cremes/lib/ruby/gems/1.8/gems/capistrano-2.1.0/
lib/capistrano/configuration/loading.rb:86:in `each'
         from /Users/cremes/lib/ruby/gems/1.8/gems/capistrano-2.1.0/
lib/capistrano/configuration/loading.rb:86:in `load'
         from /Users/cremes/lib/ruby/gems/1.8/gems/capistrano-2.1.0/
lib/capistrano/cli/execute.rb:60:in `load_recipes'
         from /Users/cremes/lib/ruby/gems/1.8/gems/capistrano-2.1.0/
lib/capistrano/cli/execute.rb:28:in `execute!'
         from /Users/cremes/lib/ruby/gems/1.8/gems/capistrano-2.1.0/
lib/capistrano/cli/execute.rb:14:in `execute'
         from /Users/cremes/lib/ruby/gems/1.8/gems/capistrano-2.1.0/
bin/cap:4
         from /Users/cremes/bin/cap:16:in `load'
         from /Users/cremes/bin/cap:16


--~--~---------~--~----~------------~-------~--~----~
To unsubscribe from this group, send email to capistrano- [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/ group/capistrano
-~----------~----~----~----~------~----~------~--~---


Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to