apache / apache/maven-scm

Improve svn provider english outputs

Open Beginner friendly
#1,375 0 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
Java
Stars
104
Forks
189
Avg merge
17h 46m
Merged PRs (30d)
6

Description

### Affected version

2.0.0

### Bug description

The svn client is forced to return english output using LC_MESSAGES=C and LC_MESSAGES=en, however the LC_ALL env var (when set) takes precedence over LC_MESSAGES, which causes the maven-release-plugin 3.0.1 to fail (which depends on maven-scm-2.0.0).

example output:

```
gbelingueres@SIS-7F46FA:~$ LC_ALL=es_AR.UTF-8 LC_MESSAGES=C svn info
svn: E155007: '/home/gbelingueres' no es una copia de trabajo
gbelingueres@SIS-7F46FA:~$ LC_ALL= LC_MESSAGES=C svn info
svn: E155007: '/home/gbelingueres' is not a working copy
gbelingueres@SIS-7F46FA:~$ LC_ALL=C LC_MESSAGES=C svn info
svn: E155007: '/home/gbelingueres' is not a working copy
gbelingueres@SIS-7F46FA:~$ svn --version
svn, version 1.14.1 (r1886195)
compiled May 21 2022, 10:52:35 on x86_64-pc-linux-gnu
```

A possible fix is to add LC_ALL=C to the command line, which I traced to [SvnCommandLineUtils.java](https://github.com/apache/maven-scm/blob/master/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/SvnCommandLineUtils.java)

PS: I report the affected version to 2.0.0 since I verified it. But the above class source code shows that it inherit LC_ALL value from system enviroments even from previous versions to 2.2.1.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start in maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/SvnCommandLineUtils.java and inspect how the SVN command environment sets locale variables. Reproduce the reported case with LC_ALL=es_AR.UTF-8 and LC_MESSAGES=C, then verify that SVN output remains English when LC_ALL is set. Done means the SVN provider no longer inherits a conflicting LC_ALL value.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
build-system
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
78/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.