| Summary: | [local] Broken symbolic links are not shown in the Local file system on Linux | ||
|---|---|---|---|
| Product: | [Tools] Target Management | Reporter: | Martin Oberhuber <mober.at+eclipse> |
| Component: | RSE | Assignee: | dsdp.tm.rse-inbox <tm.rse-inbox> |
| Status: | NEW --- | QA Contact: | Martin Oberhuber <mober.at+eclipse> |
| Severity: | normal | ||
| Priority: | P3 | ||
| Version: | 3.2 | ||
| Target Milestone: | --- | ||
| Hardware: | PC | ||
| OS: | Linux | ||
| Whiteboard: | |||
I have added a Unittest for the problem, see attachment 170033 [details] on bug 314496. |
Build ID: RSE 3.2rc2 mkdir adir cd adir ln -s notExisting.txt broken.txt --> The broken symbolic link "broken.txt" is not displayed in the RSE Local file system on Linux, whereas it is properly displayed with the SSH and DStore connections. I briefly checked the code, and it looks like there are 2 culprits: 1.) org.eclipse.rse.internal.subsystems.files.local.model.LocalFile The getClassification() method only performs a real classification if IHostFile#isFile() is true, which is not the case for broken symlinks. 2.) org.eclipse.rse.services.clientserver.SystemFileClassifier.classifyFile(String) performs no work if it thinks that the file in question does not exist. This is different to the classifier used for dstore, org.eclipse.rse.internal.dstore.universal.miners.filesystem.FileClassifier