This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
Summary: | Directory name is shown as lowercase on project tree node in Mac | ||
---|---|---|---|
Product: | platform | Reporter: | junichi11 |
Component: | Filesystems | Assignee: | Jaroslav Havlin <jhavlin> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | jmail, obrejla, tmysik |
Priority: | P3 | ||
Version: | 7.4 | ||
Hardware: | PC | ||
OS: | Mac OS X | ||
Issue Type: | DEFECT | Exception Reporter: | |
Attachments: |
Proposed Patch
Proposed Patch v2 Proposed Patch v2 Proposed Patch v3 |
Description
junichi11
2013-11-22 04:31:51 UTC
*** Bug 238633 has been marked as a duplicate of this bug. *** Please note that issue #238633 is reproducible on Windows. Thanks. unfortunately I have downloaded Beans 8.0 beta without CakePHP. Problem still exists. app/Config and app/Console are changed to lowercase Based on tests on my Windows machine, the problem appears to be in the "Nette2 Framework" and "Symfony2 Framework" plugins. - Disabling Nette2 plugin fixes capitalization of app/Config - Disabling Symfony2 plugin fixes app/Console Note that the unwanted lowercasing happens regardless of whether the frameworks are "Enabled" for a project. It affects all PHP projects. snelgman@netbeans.org Tested on Beans 7.4, 8.0 Beta - works like a charm afteactivation of Nette2 and Symphony2 Thank you snelgman - for my luck I don't uset nette and symphony :) We should not change this issue status because this problem is not resolved yet. It's just workaround that other plugins are disabled. @Tomas, I guess that other plugins search app/console and app/config directories with auto-detection. AFAIR, if a project has uppercase directory, directory name is changed to lowercase when we get FileObeject with lowercase name in Windows.(Is this bug of FileObject? or correct behavior?) e.g. getFileObject("app/console") is not null when project has app/Console directory. CakePHP 1.x has app/console but CakePHP 2.xx has app/Console. So, I'm checking uppercase directory name at first when I check directory at the moment. Thanks. Not sure about FS questions. Jardo, could you please answer? Thanks. likely a FS problem Created attachment 145160 [details]
Proposed Patch
The problem is caused by Filesystems, but fixing this there is quite risky.
1. The Nette2 module checks whether app/config exists.
2. It exists (with different case, but it isn't a problem on Mac or Win).
3. The FileName object is cached (with name app/config, instead of app/Config).
4. The Projects window uses the cached file name.
I'm sorry, I'm afraid that making changes to the code in Filesystems could cause some regressions, we are too close to code freeze for such modifications.
Please check the patch with workaround and apply it if you find it safe.
Thank you.
Ondro, have a look at the patch Jarda has attached. If you are OK with it, could you please apply it? Symfony2 part of the patch seems fine to me... Thanks. Patch applied. Fixed in web-main #93cff6f486cb Created attachment 145185 [details]
Proposed Patch v2
Thank you, Ondra.
Unfortunately, I've just realized that the fix could cause problems when the Config (resp. Console) directory is a symbolic link. File.getCanonicalFile() resolves symbolic links on Linux, which is something we don't want to do.
I'm attaching updated patch.
I'm sorry for the inconvenience.
Created attachment 145186 [details]
Proposed Patch v2
I'm sorry, I've attached an incorrect diff file.
Applied, thanks. web-main #5ff4c648de17 Created attachment 145193 [details]
Proposed Patch v3
Improved patch, as suggested by Ondrej Vrabec.
Integrated into 'main-silver', will be available in build *201402150001* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress) Changeset: http://hg.netbeans.org/main-silver/rev/93cff6f486cb User: Ondrej Brejla <obrejla@netbeans.org> Log: #238679 - Directory name is shown as lowercase on project tree node in Mac > Improved patch, as suggested by Ondrej Vrabec. http://hg.netbeans.org/core-main/rev/c8b84371c314 Integrated into 'main-silver', will be available in build *201402190001* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress) Changeset: http://hg.netbeans.org/main-silver/rev/c8b84371c314 User: Jaroslav Havlin <jhavlin@netbeans.org> Log: #238679: Directory name is shown as lowercase on project tree node - simplified |