[ 
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)

Reply via email to