You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Jörg Hohwiller (JIRA)" <ji...@codehaus.org> on 2010/12/07 00:32:03 UTC

[jira] Commented: (SCM-585) "repository cannot be null" on ScmManager.makeProviderScmRepository(String, File)

    [ http://jira.codehaus.org/browse/SCM-585?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=246640#action_246640 ] 

Jörg Hohwiller commented on SCM-585:
------------------------------------

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: http://jira.codehaus.org/browse/SCM-585
>             Project: Maven SCM
>          Issue Type: Bug
>    Affects Versions: 1.4
>            Reporter: Jörg Hohwiller
>
> I want to update a subversion with maven-scm.
> Therefore I get the ScmManager via Plexus and then do this:
> ScmManager.makeProviderScmRepository("svn", new File(path/to/checkout));
> What I get is:
> 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)
> 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:
>         if ( repository == null )
>         {
>             throw new NullPointerException( "repository cannot be null" );
>         }

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira