will you be able to disable the stdout? right now mikes patch prints out a lot of stuff as it loads all the things in .caprc, which is kind of annoying.
On Dec 23, 8:15 am, Jamis Buck <[EMAIL PROTECTED]> wrote:
Mike, Alright, this finally made it in (as of revision 5774). I didn't use your implementation directly, though, as there were a few issues I had to think about. Here's how dotfiles work in edge capistrano: * The dotfile, by default, is called ".caprc" and will be searched for in your home directory. On Unices, this is the ENV["HOME"] variable. On windows, it is "#{ENV["HOMEDRIVE"]}#{ENV["HOMEPATH"]}". The environment is searched in that order (so if you have HOME set on Windows, it will be used), and if none is found the root directory is used. * You can override the path to the config file via the -c switch: "cap -c /path/to/.customrc ..." * You can specify that you don't want to use the config file at all via the -x switch: "cap -x ..." * The file will be loaded immediately after the "-S" options are processed. Thus, variables you set via -S will be available to the .caprc stuff. The major difference between the patch you submitted and the way I implemented it is that the .caprc will always be loaded, whether or not other recipe files are specified. (As I mentioned above, you can skip the config loading with -x.) Thanks for the idea, Mike, and sorry that took so long to get into trunk! - Jamis On Nov 21, 2006, at 6:02 AM, mbailey wrote: > I'm loving capistrano. I'm using it for sysadmin tasks as well as > rails > deployment. > I want to be free to use it from whichever directory I happen to be in > and still have access to my favourite recipes. I want to be able to > run > commands on server groups that span projects. I want to use recipe > gems > that other developers may not have on their system so requiring them > from a shared deploy.rb may not be appropriate. > Below is a small patch that loads the contents of ~/.caprc before > loading the default recipe file (usually config/deploy.rb). > An example of my .caprc is below: > # RECIPE GEMS - the easiest way I can think of to enable recipe gems > require 'railsmachine/recipes' > require 'deprec' > # SSH OPTIONS - only set this once on workstation rather than on each > project > ssh_options[:keys] = %w(/Users/mbailey/.ssh/id_dsa) > # ROLES - useful for getting cap shell on horizontal slice of systems > # enables commands like this to span projects when > not in > a project dir: > # export ROLES=scm && cap -v shell > role :scm, 'scm01', 'scm02', 'scm03' > role :rails, 'r01', 'r02', 'r03', 'r04', 'r05' > role :db, 'db01', 'db02', 'db03', 'db04' > Does it look acceptable to go into Capistrano? The main benefit I > could > see is making > it more convenient for users to run 'gem install <recipename>' and > then > update their > ~/.caprc to make the recipes available. > thanks, > Mike > inum:~/work/capistrano/lib/capistrano mbailey$ svn diff > Index: cli.rb > =================================================================== > --- cli.rb (revision 5603) > +++ cli.rb (working copy) > @@ -289,6 +289,10 @@ > end > def look_for_default_recipe_file! > + # load overridable user defaults (if present) > + if File.exist?(caprc = File.join(ENV['HOME'],'.caprc')) > + @options[:recipes] << caprc > + end > DEFAULT_RECIPES.each do |file| > if File.exist?(file) > @options[:recipes] << file > inum:~/work/capistrano/lib/capistrano mbailey$ rake test > (in /Users/mbailey/work/capistrano) > /usr/local/bin/ruby -Ilib -rubygems > "/usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake/ > rake_test_loader.rb" > "test/actor_test.rb" "test/command_test.rb" > "test/configuration_test.rb" "test/ssh_test.rb" "test/scm/cvs_test.rb" > "test/scm/subversion_test.rb" > Loaded suite > /usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake/rake_test_loader > Started > ...................................................................... > ...................... > Finished in 0.039947 seconds. > 92 tests, 192 assertions, 0 failures, 0 errors
--~--~---------~--~----~------------~-------~--~----~ To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/capistrano -~----------~----~----~----~------~----~------~--~---