Details
-
Bug
-
Status: Open
-
Minor
-
Resolution: Unresolved
-
1.12.0
-
None
-
None
Description
The release:prepare goal checks for local modifications and is supposed to fail if it finds any.
The GitExe provider is responsible for identifying local modifications. It detects staged local modifications as expected but it can't parse the status code that indicates a file has local modifications that are unstaged.
Unstaged changes show up in the output of git status --porcelain tagged with a pair of question marks (??). GitStatusConsumer doesn't understand these output lines and logs them as warnings, but that doesn't cause release:prepare to fail.
It looks like GitStatusConsumer needs to be enhanced so that it can parse unstaged lines in the git status --porcelain output. These unstaged messages need to be returned to ScmCheckModificationsPhase so that it can fail correctly.
Note that two of these unstaged files are likely to be release.properties and pom.xml.releaseBackup. These are created by the release plugin itself and shouldn't cause the release preparation to fail.