[SCM-841] Support --force-interactive option introduced with SVN 1.8
- Dominant language
- Java
- Stars
- 104
- Forks
- 189
- Avg merge
- 17h 46m
- Merged PRs (30d)
- 6
Description
**[Konrad Windszus](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=kwin)** opened **[SCM-841](https://issues.apache.org/jira/browse/SCM-841?redirect=false)** and commented
With SVN 1.8 the additional option `--force-interactive` has been introduced with this commit: http://svn.apache.org/viewvc?view=revision&revision=1424037.
This option is not documented at http://svnbook.red-bean.com/en/1.8/svn.ref.svn.html. But the CLI exposes the following (via `svn st --help`
```
--non-interactive : do no interactive prompting (default is to prompt
only if standard input is a terminal device)
--force-interactive : do interactive prompting even if standard input
is not a terminal device
```
It seems that it always runs by default in non-interactive mode even with `useNonInteractive` set to false (https://maven.apache.org/scm/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/svn-settings.html) when being triggered from the maven release plugin, therefore with `mvn release:prepare` you might see the following issue
```
[INFO] --- maven-release-plugin:2.5.1:prepare (default-cli) @ xxx ---
[INFO] Resuming release from phase 'scm-commit-release'
[INFO] Checking in modified POMs...
[INFO] Executing: /bin/sh -c cd && svn commit --file /var/folders/rm/vlg2h6m16mb0f65djmnb12xr0000gq/T/maven-scm-1099976641.commit --targets /var/folders/rm/vlg2h6m16mb0f65djmnb12xr0000gq/T/maven-scm-3840927493290123998-targets
[INFO] Working directory:
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.664 s
[INFO] Finished at: 2017-02-05T10:58:28+00:00
[INFO] Final Memory: 14M/247M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.5.1:prepare (default-cli) on project xxx: Unable to commit files
[ERROR] Provider message:
[ERROR] The svn command failed.
[ERROR] Command output:
[ERROR] svn: E215004: Authentication failed and interactive prompting is disabled; see the --force-interactive option
[ERROR] svn: E215004: Commit failed (details follow):
[ERROR] svn: E215004: No more credentials or we tried too many times.
[ERROR] Authentication failed
```
Even though SVN was triggered without the option `\-\-non-interactive` it still won't run in interactive mode due to the change in 1.8. Therefore the `svn-setttings.xml` should support to enable the new option `\-\-force-interactive` so that the SVN will interactively ask for the credentials (instead of being forced to pass that via `-Dusername and -Dpassword` when triggering the mvn goal).
---
**Affects:** 1.9.5
**Issue Links:**
- [SCM-402](https://issues.apache.org/jira/browse/SCM-402) scm:checkin doesn't work on OS X 10.5 Leopard
- [SCM-1011](https://issues.apache.org/jira/browse/SCM-1011) Do not set --non-interactive for SVN provider by default
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by locating the SVN settings implementation associated with the referenced svn-settings.xml and the SVN provider command construction. Check how useNonInteractive currently affects command options, then add coverage for enabling --force-interactive and verify the generated SVN command supports interactive credential prompting.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- build-system
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100