You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Dmitry Bakshaev <da...@izhnet.ru> on 2018/10/25 18:27:22 UTC

mod_dav_svn SVNUseUTF8 option not working

my subversion server is apache-2.4.34/event-MPM and 
subversion-1.9.7/mod_dav_svn

configuration based on example from 
https://subversion.apache.org/docs/release-notes/1.8.html#hooks

cat httpd.conf:
SVNHooksEnv /etc/subversion/svnserve.conf
SVNUseUTF8 On   #not "yes" as example say

cat /etc/subversion/svnserve.conf:
[default]
LANG = ru_RU.UTF-8

cat pre-commit:
#!/bin/sh
echo "Привет" >&2

pre-commit hook failed with message:
[Error output could not be translated from the native 
locale to UTF-8.]

this bug is https://issues.apache.org/jira/browse/SVN-2487 
related.

after some tracing of mod_dav_svn i find
call to svn_utf_initialize2() from init()
always does with conf->use_utf8=0.

adding svn_utf_initialize2() to merge_server_config() 
fixes the problem.

patch attached.

--- subversion/mod_dav_svn/mod_dav_svn.c.orig<->2018-10-25 
16:44:12.388287364 +0400
+++ subversion/mod_dav_svn/mod_dav_svn.c<------>2018-10-25 
16:43:55.958287555 +0400
@@ -231,6 +231,8 @@
        newconf->compression_level = 
child->compression_level;
      }
.
+  newconf->use_utf8 = INHERIT_VALUE(parent, child, 
use_utf8);
+  svn_utf_initialize2(newconf->use_utf8, p);
    return newconf;
  }
.


Re: mod_dav_svn SVNUseUTF8 option not working

Posted by Stefan Sperling <st...@elego.de>.
On Thu, Oct 25, 2018 at 10:27:22PM +0400, Dmitry Bakshaev wrote:
> my subversion server is apache-2.4.34/event-MPM and
> subversion-1.9.7/mod_dav_svn
> 
> configuration based on example from
> https://subversion.apache.org/docs/release-notes/1.8.html#hooks
> 
> cat httpd.conf:
> SVNHooksEnv /etc/subversion/svnserve.conf
> SVNUseUTF8 On   #not "yes" as example say
> 
> cat /etc/subversion/svnserve.conf:
> [default]
> LANG = ru_RU.UTF-8

While this will work, svnserve.conf isn't a good place for setting hook
script environment variables because this path is the configuration
file of the 'svnserve' program.
I'd suggest using a different path, such as '/etc/subversion/hooks-env'.

> cat pre-commit:
> #!/bin/sh
> echo "Привет" >&2
> 
> pre-commit hook failed with message:
> [Error output could not be translated from the native locale to UTF-8.]
> 
> this bug is https://issues.apache.org/jira/browse/SVN-2487 related.
> 
> after some tracing of mod_dav_svn i find
> call to svn_utf_initialize2() from init()
> always does with conf->use_utf8=0.
> 
> adding svn_utf_initialize2() to merge_server_config() fixes the problem.
> 
> patch attached.
> 
> --- subversion/mod_dav_svn/mod_dav_svn.c.orig<->2018-10-25
> 16:44:12.388287364 +0400
> +++ subversion/mod_dav_svn/mod_dav_svn.c<------>2018-10-25
> 16:43:55.958287555 +0400
> @@ -231,6 +231,8 @@
>        newconf->compression_level = child->compression_level;
>      }
> .
> +  newconf->use_utf8 = INHERIT_VALUE(parent, child, use_utf8);
> +  svn_utf_initialize2(newconf->use_utf8, p);
>    return newconf;
>  }
> .

Thanks, committed in https://svn.apache.org/r1844882 and nominated
for backport to 1.10.x.