Menu

#242 LOC comparison IllegalStateException Cannot undelete a file which has not been deleted

Incoming
open
nobody
5
2013-11-21
2013-11-19
No

While trying to count the lines of code in a Subversion branch which contains renamed folders, Process Dashboard 2.0's LOC Counter fails with the error shown below. I'm trying to use the "Count revisions whose log messages contain the token:". The token I entered is 17218 which is a ticket number on each svn commit.

I've used the LOC Counter lots of times without any problems. But there's something about this combination of SVN commits that's causing a problem.

An unexpected error occurred during the LOC comparison operation:
java.lang.IllegalException: Cannot undelete a file which has not been deleted
at net.sourceforge.processdash.tool.diff.impl.svn.SvnFile.undeleteAndRename(SvnFile.java:100)
at net.sourceforge.processdash.tool.diff.impl.svn.SvnFileSet.handleAddedLogEntries(SvnFileSet.java:397)
at net.sourceforge.processdash.tool.diff.impl.svn.SvnFileSet.processLogEntry(SvnFileSet.java:278)
at net.sourceforge.processdash.tool.diff.impl.svn.SvnFileSet.processLogEntries(SvnFileSet.java:230)
at net.sourceforge.processdash.tool.diff.impl.svn.SvnFileSet.getFilesToAnalyze(SvnFileSet.java:191)
at net.sourceforge.processdash.tool.diff.engine.DiffEngine.addFilesToAnalyze(DiffEngine.java:115)
at net.sourceforge.processdash.tool.diff.ui.LOCDiffDialog$WorkerThread.run(LOCDiffDialog.java:291)

Discussion

  • David Tuma

    David Tuma - 2013-11-19

    The LOC counter attempts to determine the lineage of renamed files and folders so it can track the modifications within a file even when the file has been renamed or moved. But that is a very tricky problem. Apparently this particular set of folder renames has resulted in file lineage complexities which the LOC counter didn't anticipate.

    Unfortunately, I cannot think of any way to troubleshoot the error without connectivity to your SVN repository. :-(

     
  • Brian Brooks

    Brian Brooks - 2013-11-20

    I could setup a webex if you'd like to poke at the Subversion repo.

    I'm not sure of the exact steps to reproduce the issue. I think it would be something like:
    1. Add to a trunk some folders and files to subversion that look something like trunk/folderA/subfolderB/file1
    2. svn copy ("branch") trunk
    3. Install TortoiseSVN 1.7.x
    4. Right-click on branch/folderA, drag and drop to branch/, on the TortoiseSVN drop menu, select "SVN COPY and rename versioned item here". Name the new folderC.
    5. Right-click on branch/folderC/subfolderB, select TortioseSVN->Rename in the right-click menu. Rename as subfolderC.
    6. Commit the branch changes.
    7. Run the LOC Counter on the commit.

     
  • David Tuma

    David Tuma - 2013-11-21

    I'm not having any success duplicating the error, even after performing the directory rename operations as described above.

    What svn version is your repository server running?

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.