[ 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/ViewProfile.jspa?name=jo...@j-hohwiller.de)** 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)