Details
Description
Basic Info
Module Version: latest
Puppet Version: 6.15.0
OS Name/Version: Debian 9 (stretch)
Summary
The vcsrepo svn provider fails when password contains non-ASCII characters as local is set to C and svn is unable to “convert” it.
It might definitely be an issue with that old dinosaur that is SVN, but I think we can do something at the module level or at the Puppet ruby library level.
Desired Behavior
The following code should work as expected:
vcsrepo { $install_dir:
|
ensure => latest,
|
provider => 'svn',
|
source => 'https://example.org/svn/repository/trunk',
|
owner => 'owner',
|
group => 'group',
|
basic_auth_username => 'user',
|
basic_auth_password => 'ÙöØÓqþBÐh¦¹XH8«',
|
}
|
Actual Behavior
SVN produces no output on stdout and Puppet fails with:
Error: [SNIPPED]: Could not evaluate: undefined method `>=' for nil:NilClass
|
The error is located in the latest? function of the vcsrepo SVN provider.
This is the actual SVN output:
# LC_ALL=C svn --non-interactive --username user --password ÙöØÓqþBÐh¦¹XH8« --no-auth-cache info
|
svn: E000022: Can't convert string from native encoding to 'UTF-8':
|
svn: E000022: Uo{U+00D8}OqA3/4B{U+00D0}h{U+00A6}1XH8{U+00AB}
|
# LC_ALL=C.UTF-8 svn --non-interactive --username user --password ÙöØÓqþBÐh¦¹XH8« --no-auth-cache info
|
svn: E155007: '/root' is not a working copy
|