[
https://issues.apache.org/jira/browse/SCM-585?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17962147#comment-17962147
]
ASF GitHub Bot commented on SCM-585:
------------------------------------
jira-importer commented on issue #796:
URL: https://github.com/apache/maven-scm/issues/796#issuecomment-2964624579
**[Jörg
Hohwiller](https://issues.apache.org/jira/secure/[email protected])**
commented
I tried to workaround like this:
if ("svn".equals(vcsType)) {
// workaround for SCM-585
AbstractSvnScmProvider vcsProvider = (AbstractSvnScmProvider) this.scmManager
.getProviderByType("svn");
ScmProviderRepository dummyRepository =
vcsProvider.makeProviderScmRepository(
"http://dummy.org/scv/tunk", '/');
SvnInfoScmResult infoResult = vcsProvider.info(dummyRepository, new
ScmFileSet(
new File(""), locationDirectory), null);
String url = ((SvnInfoItem) infoResult.getInfoItems().get(0)).getURL();
ScmProviderRepository vcsProviderRepository =
vcsProvider.makeProviderScmRepository(url,
'/');
vcsRepository = new ScmRepository(vcsType, vcsProviderRepository);
}
This does not help as then the info command is
cmd.exe /X /C "svn --non-interactive info
http://dummy.org/scv/tunk/src/test/resources"
So there seems more buggy than just the assertion-if statement.
> "repository cannot be null" on ScmManager.makeProviderScmRepository(String,
> File)
> ---------------------------------------------------------------------------------
>
> Key: SCM-585
> URL: https://issues.apache.org/jira/browse/SCM-585
> Project: Maven SCM (Moved to GitHub Issues)
> Issue Type: Bug
> Components: maven-scm-api
> Affects Versions: 1.4
> Reporter: Jörg Hohwiller
> Priority: Major
>
> I want to update a subversion with maven-scm.
> Therefore I get the ScmManager via Plexus and then do this:
> {code}
> ScmManager.makeProviderScmRepository("svn", new File(path/to/checkout));
> {code}
> What I get is:
> {noformat}
> java.lang.NullPointerException: repository cannot be null
> at
> org.apache.maven.scm.command.AbstractCommand.execute(AbstractCommand.java:49)
> at
> org.apache.maven.scm.provider.svn.AbstractSvnScmProvider.executeCommand(AbstractSvnScmProvider.java:356)
> at
> org.apache.maven.scm.provider.svn.AbstractSvnScmProvider.info(AbstractSvnScmProvider.java:377)
> at
> org.apache.maven.scm.provider.svn.svnexe.SvnExeScmProvider.getRepositoryURL(SvnExeScmProvider.java:150)
> at
> org.apache.maven.scm.provider.svn.AbstractSvnScmProvider.makeProviderScmRepository(AbstractSvnScmProvider.java:119)
> at
> org.apache.maven.scm.manager.AbstractScmManager.makeProviderScmRepository(AbstractScmManager.java:267)
> {noformat}
> From what I understand the code tries to execute "svn info" to get the
> repository URL.
> However executing a command always checks that the repository is not {{null}}.
> In this case the svn command should be executed in order to be able to create
> the repository.
> It is not possible to create the repository before, because the URL is not
> known.
> My suggestion is to revisit this block in AbstractCommand:
> {code}
> if ( repository == null )
> {
> throw new NullPointerException( "repository cannot be null" );
> }
> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)