@Nullable public FilePath getFilePath(final SvnVcs vcs) { if (!myHadChanged) return null; final SvnFileUrlMapping svnFileUrlMapping = vcs.getSvnFileUrlMapping(); final String absolutePath = SVNPathUtil.append(myRepositoryRoot, myCurrentPath); final String localPath = svnFileUrlMapping.getLocalPath(absolutePath); if (localPath == null) { LOG.info("Cannot find local path for url: " + absolutePath); return null; } return new FilePathImpl(new File(localPath), false); }
@Test public void testExternalCopyIsDetected() throws Exception { prepareExternal(); final SvnFileUrlMapping workingCopies = myVcs.getSvnFileUrlMapping(); final List<RootUrlInfo> infos = workingCopies.getAllWcInfos(); Assert.assertEquals(2, infos.size()); final Set<String> expectedUrls = new HashSet<String>(); expectedUrls.add(StringUtil.toLowerCase(myExternalURL)); expectedUrls.add(StringUtil.toLowerCase(myMainUrl)); for (RootUrlInfo info : infos) { expectedUrls.remove(StringUtil.toLowerCase(info.getAbsoluteUrl())); } Assert.assertTrue(expectedUrls.isEmpty()); }