Skip to content

NPE in WcVersion$WCVersionSummary.isExternal [Tigris #1496] #19

@markphip

Description

@markphip

Description

I'm getting a NPE on one windows box, but not on the other, with the same Java 
(1.6), same Ant (1.7.1) and same svnkit (1.3.1).

Manifest of svnant.jar:

Name: org.tigris.subversion.svnant
Specification-Title: svnant
Specification-Version: 1.3.1

The NPE I'm getting is

      [svn] java.lang.NullPointerException
      [svn]     at 
org.tigris.subversion.svnant.commands.WcVersion$WCVersionSummary.isExternal
(Unknown Source)
      [svn]     at 
org.tigris.subversion.svnant.commands.WcVersion$WCVersionSummary.<init>(Unknown 
Source)
      [svn]     at 
org.tigris.subversion.svnant.commands.WcVersion.getWorkingCopySumary(Unknown 
Source)
      [svn]     at org.tigris.subversion.svnant.commands.WcVersion.execute
(Unknown Source)
      [svn]     at 
org.tigris.subversion.svnant.commands.SvnCommand.executeCommand(Unknown Source)
      [svn]     at org.tigris.subversion.svnant.SvnTask.executeImpl(Unknown 
Source)
      [svn]     at org.tigris.subversion.svnant.SvnTask.execute(Unknown Source)
      [svn]     at org.apache.tools.ant.UnknownElement.execute
(UnknownElement.java:275)
      [svn]     at org.apache.tools.ant.Task.perform(Task.java:364)
      [svn]     at org.apache.tools.ant.Target.execute(Target.java:341)
      [svn]     at org.apache.tools.ant.Target.performTasks(Target.java:369)
      [svn]     at org.apache.tools.ant.Project.executeSortedTargets
(Project.java:1216)
      [svn]     at org.apache.tools.ant.Project.executeTarget(Project.java:1185)
      [svn]     at org.apache.tools.ant.helper.DefaultExecutor.executeTargets
(DefaultExecutor.java:40)
      [svn]     at org.apache.tools.ant.Project.executeTargets
(Project.java:1068)
      [svn]     at org.apache.tools.ant.Main.runBuild(Main.java:668)
      [svn]     at org.apache.tools.ant.Main.startAnt(Main.java:187)
      [svn]     at org.apache.tools.ant.launch.Launcher.run(Launcher.java:246)
      [svn]     at org.apache.tools.ant.launch.Launcher.main(Launcher.java:67)

This is not the same issue as:

http://subclipse.tigris.org/issues/show_bug.cgi?id=861

"NPE is thrown if <wcVersion> is called on a path that's not a svn working 
copy."

because in my case we're in a SVN working copy - also the stacktrace is 
different.

Metadata Imported from Tigris (Issue 1496)

  • Creation Date: 2013-03-29 14:54:15
  • Reporter: operdeck
  • Subcomponent: svnant
  • Version: unspecified
  • Milestone: not determined
  • Keywords:
  • Cc:

Comments

2014-04-14 13:15:39 by blackwood821

I ran into this same issue. The solution for me was to modify WcVersion.java and
change:

private boolean isExternal( ISVNStatus base, ISVNStatus current ) {
     return !current.getUrlString().startsWith( base.getUrlString() );
}

to this:

private boolean isExternal( ISVNStatus base, ISVNStatus current ) {
     return (current.getUrlString() == null ||
!current.getUrlString().startsWith( base.getUrlString() ));
}

At first I thought this wasn't a great solution because I didn't think that a
null URL string necessarily meant that the item was an external because it could
also be unversioned. However, I double checked the code and unversioned files
are checked prior to this function call so this works. I just registered for
this project so I can't commit my change until I get the developer role but I
hope this helps in the mean time.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions