Greetings!

My Perforce admin recently decided to force us to add the unicode
variable, "-C utf8", for all perforce transactions.  The unicode var
can't be part of :p4sync_flags, nor can it be added as any extra
options.  Per the Perforce syntax, it has to live within the existing
Capistrano authentication method.  I can hack the actual perforce.rb
file, adding the new variable & update the authentication Private
method to include it, but can't figure out how to overload/override
the authentication method in my recipes!  I'd rather either override
the methods in my recipe or submit a change to update Capistrano.  I
copied the perforce.rb file, made my changes and pulled out everything
else that shouldn't change:

-----------------------------------------------------------------------------------------------------------
module Capistrano
  module Deploy
    module SCM

      class Perforce < Base
        private

          # override
          def authentication
            [ p4port        && "-p #{ p4port }",
              p4user       && "-u #{ p4user }",
              p4passwd  && "-P #{ p4passwd }",
              p4client     && "-c #{ p4client }",
              p4unicode && "-C #{ p4unicode }" ].compact.join(" ")
          end

          # new
          def p4unicode
            variable(:p4unicode)
          end

      end
    end
  end
end
-----------------------------------------------------------------------------------------------------------

I've tried putting this in environment.rb, a separate file under /
initializers & deploy.rb, all without success.  I currently have it
working by hacking the original perforce.rb file in the rubygem and
that just feels dirty.  If anyone can help me override this via my
deploy.rb file or walk me through how to submit a change to
Capistrano, I'd be very grateful!

Thanks!
-=Randy

-- 
* You received this message because you are subscribed to the Google Groups 
"Capistrano" group.
* To post to this group, send email to [email protected]
* To unsubscribe from this group, send email to 
[email protected] For more options, visit this group at 
http://groups.google.com/group/capistrano?hl=en

Reply via email to