You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@buildr.apache.org by Danny O'Connor <da...@propylon.com> on 2009/11/27 12:31:19 UTC

SVN credentials for release task

Hi All,

When you're using buildr with the hudson continuous integration server, 
the 'release' task won't work because buildr needs a credential for svn. 
  This would probably happen in any situation where you don't cached 
authentication for svn servers.

A quick patch is to allow svn username and password be set as 
environment variables like so:

# Modified to allow usernames/passwords for svn
module Buildr
   module Svn
   module_function
     def svn(*args)
       if ENV["svn_username"] and ENV["svn_password"] then
         svn_command = "svn --username #{ENV["svn_username"]} --password 
#{ENV["svn_password"]} #{args.shift} #{args.map { |arg| arg.inspect 
}.join(' ')}"
       else
         svn_command = "svn #{args.shift} #{args.map { |arg| arg.inspect 
}.join(' ')}"
       end
       output = `#{svn_command}`
       fail "SVN command failed with status #{$?.exitstatus}" unless 
$?.exitstatus == 0
       return output
     end
   end
end


I'm not sure if this is entirely correct though.

Regards,
Danny.


Re: SVN credentials for release task

Posted by Alex Boisvert <al...@gmail.com>.
Looks good to me.   I normally set things up to use svn+ssh with ssh keys to
avoid having to manage passwords for continuous integration builds.

If you can open a Jira issue and attach your code, I'll merge it into the
codebase.

thanks,
alex

On Fri, Nov 27, 2009 at 3:31 AM, Danny O'Connor
<da...@propylon.com>wrote:

> Hi All,
>
> When you're using buildr with the hudson continuous integration server, the
> 'release' task won't work because buildr needs a credential for svn.  This
> would probably happen in any situation where you don't cached authentication
> for svn servers.
>
> A quick patch is to allow svn username and password be set as environment
> variables like so:
>
> # Modified to allow usernames/passwords for svn
> module Buildr
>  module Svn
>  module_function
>    def svn(*args)
>      if ENV["svn_username"] and ENV["svn_password"] then
>        svn_command = "svn --username #{ENV["svn_username"]} --password
> #{ENV["svn_password"]} #{args.shift} #{args.map { |arg| arg.inspect }.join('
> ')}"
>      else
>        svn_command = "svn #{args.shift} #{args.map { |arg| arg.inspect
> }.join(' ')}"
>      end
>      output = `#{svn_command}`
>      fail "SVN command failed with status #{$?.exitstatus}" unless
> $?.exitstatus == 0
>      return output
>    end
>  end
> end
>
>
> I'm not sure if this is entirely correct though.
>
> Regards,
> Danny.
>
>