Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.2
-
None
-
Maven 2.0.10
-
Patch
Description
If the author of a change has spaces in it, the scmLchangelog does not pick up this change. I have reproduced this with svn. I have not tried with other providers.
I have done a detailed analysis of the problem and have a fix.
The file which parses the changelog output is:
scm\maven-scm-providers\maven-scm-providers-svn\maven-scm-provider-svnexe\src\main\java\org\apache\maven\scm\provider\svn\svnexe\command\changelog\SvnChangeLogConsumer.java
This file uses a regular expression which does not recognize a regular expression which contains spaces in the author's name. The regular expression expects the author to be in a "userID" kind of format.
So, for example, if the author of a change was "thiessen", then the command mvn scm:changelog would pick up this change.
However, if the author was "Todd Thiessen", the change which be skipped entirely.
As far as my understanding goes, svn:author is simply a property and makes no statement that the author MUST be in userID format. SVN users are free to change the author as they see fit using SVN hooks. This is reasonable since often the userID isn't very readable to a human reader. Thus putting in the author's full name is very helpful.
Note that this issue has downstream effects in that it affects the change log plugin:
http://maven.apache.org/plugins/maven-changelog-plugin/
I have submitted a patch with a resolution to this. The patch simply treats the author portion of an svn log command as text. It does not mandate that the author must be in a certain format. The patch includes junit tests cases which reproduce the problem and also the changes to the main code to fix it.