Details
-
Bug
-
Resolution: Answered
-
Low
-
3.10.2
-
None
-
Severity 3 - Minor
-
Description
Created as follow-up of https://fisheye.dev.internal.atlassian.com/cru/CR-FE-9776#c101055.
If a file arrives at the repo by being copied from outside the indexed area, but it does not appear in the controlling path (because it's part of a copied directory, rather than copied individually), we must treat it as an add, rather than a copy. Currently we get a FileRevision with lineCount=0 and we fail on blame calculation, when we try to apply a hunk at a line that we believe doesn't exist.
$ svn log -v -r 0:2 ------------------------------------------------------------------------ r1 | kcichy | 2015-12-22 15:27:41 +0100 (Tue, 22 Dec 2015) | 1 line Changed paths: A /OriginalFolder A /OriginalFolder/file1.txt Commit of OriginalFolder ------------------------------------------------------------------------ r2 | kcichy | 2015-12-22 15:29:07 +0100 (Tue, 22 Dec 2015) | 1 line Changed paths: A /DestinationFolder (from /OriginalFolder:1) D /OriginalFolder svn mv OriginalFolder DestinationFolder ------------------------------------------------------------------------
Issue parked on 2016-01-04
Fix proposed in CR-FE-9783 had side effects in line count calculation and led to scope expansion above what could be currently afforded. Therefore the fix has not been merged to master.
Broken tests
Tests
- com.cenqua.fisheye.svn.MoveFolderFromOutsideRepoTest
- com.cenqua.fisheye.svn.CopyFolderFromOutsideRepoTest
show the problem. They lock down the current, incorrect behaviour.