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.

Bug 246521 - on OS X, IDE does not add or commit files beginning with a dot to version control
Summary: on OS X, IDE does not add or commit files beginning with a dot to version con...
Status: VERIFIED FIXED
Alias: None
Product: platform
Classification: Unclassified
Component: Filesystems (show other bugs)
Version: 8.1
Hardware: All All
: P1 normal (vote)
Assignee: Jaroslav Havlin
URL:
Keywords: 8.0.1_WAIVER_APPROVED
: 262258 (view as bug list)
Depends on:
Blocks:
 
Reported: 2014-08-18 16:09 UTC by athompson
Modified: 2016-05-31 13:40 UTC (History)
7 users (show)

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
Proposed Patch (25.24 KB, patch)
2015-07-15 12:05 UTC, Jaroslav Havlin
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description athompson 2014-08-18 16:09:40 UTC
Related to issue #210905. It's fine that NetBeans doesn't show hidden files (on OS X, this means files that begin with a dot) in its views by default, but it must at least add them to source control. Right now, the IDE gives a false sense of security since there is no indication whatsoever that many crucial files may be missing from the version control.

Even exclusively using NetBeans to create an angular HTML project, initialing a git repo, and committing the files excludes crucial project configuration files.
Comment 1 Ondrej Vrabec 2014-08-19 07:20:56 UTC
hmm, you're right, files such as .bowerrc, .jshintrc and other .* files are not added/committed to a repo. That's because they are by default marked as NOT_SHARABLE (excluded from version control) by the GlobalSharabilityQueryImpl. It's behavior is really strange and should be reviewed.
Comment 2 Jaroslav Havlin 2014-08-19 08:39:16 UTC
> It's behavior is really strange and should be reviewed.
OK. Thank you, Ondra, for evaluation.

As a workaround, please add file names beginning with dots that you use in your projects to Ignored Files Pattern:
Main menu -> Tools -> Options -> Miscellaneous -> Files -> Ignored Files Pattern

For example, the string can look like this (bowerrc and jshintrc were added to the default value):
^(CVS|SCCS|vssver.?\.scc|#.*#|%.*%|_svn)$|~$|^\.(?!(htaccess|git.+|hgignore|bowerrc|jshintrc)$).*$

Note that the IDE should be restarted after this change of the pattern.

Thank you for reporting.
Comment 3 Marian Mirilovic 2014-08-20 09:37:22 UTC
Ok, we will not fix it for 8.0.1 (too late), let's target it for one of the patches or 8.1
Comment 4 athompson 2014-12-16 20:52:15 UTC
bump...
Comment 5 Jaroslav Havlin 2015-07-08 11:32:37 UTC
Already fixed, see bug 248464.

> That's because they are by default marked as NOT_SHARABLE (excluded from 
> version control) by the GlobalSharabilityQueryImpl. It's behavior is really
> strange and should be reviewed.
Not ignoring hidden files would be a significant change.
Let's use the current fix. If more similar problems appear, we should try to find some general solution.

*** This bug has been marked as a duplicate of bug 248464 ***
Comment 6 athompson 2015-07-13 17:13:59 UTC
Sorry, but there are two major reasons why this bug should not be marked as a duplicate of issue #248464. First, the pedantic reason: while you can argue that the fix for 248464 also fixes this issue, this issue is clearly not a duplicate of that one.

Second, the fix for 248464 does not actually fix this issue. The scope for 248464 is limited to making items that the IDE knows about and can handle visible--not all items that belong in source control.
Comment 7 athompson 2015-07-13 17:19:08 UTC
I'm not sure when this issue was downgraded to a P2, but it should be a P1. Not only is there a clear risk of data loss, but the data is by definition important enough to be placed in version control. Even worse, it may not be readily apparent that the data has been lost until much later, if ever.
Comment 8 Jaroslav Havlin 2015-07-15 12:05:14 UTC
Created attachment 154652 [details]
Proposed Patch

Your arguments seem valid. We should try to resolve this problem in general.
Comment 9 Jaroslav Havlin 2015-07-15 12:12:30 UTC
This bug is quite controversial, it is contrary to bug 67900, which requests invisible files not to be added to version control system.

The problem is that times has changed. While it was rare to have hidden files among Java sources, various languages and frameworks that are supported by NetBeans today store some info in hidden files. Thus, default handling of them should be adjusted.

Old behavior:
 - ignore all hidden files (starting with a dot), except for some well-known ones (.htaccess)
 - the ignored files pattern was:
   ^(CVS|SCCS|vssver.?\.scc|#.*#|%.*%|_svn)$|~$|^\.(?!(htaccess|git.+|hgignore|npmignore|jshintrc|bowerrc|travis\.yml)$).*$

New behavior:
 - ignore only well-known files (.git, .hg)
 - the ignored files pattern will be:
   ^(CVS|SCCS|vssver.?\.scc|#.*#|%.*%|_svn)$|~$|^\.(git|hg|svn|cache|DS_store)$|^Thumbs.db$

We will now assume that hidden files may be important to users.
Probably, the only place where showing hidden files could be disturbing is user's home directory (e.g. in Favorites window), as it usually contains many configuration files and folders with application data. So we've added new option to ignore hidden files in home folder. This option is enabled by default.


CCing Vladimir Voskresensky and Vladimir Kvashin. Can you please check whether this change would be risky for CND modules or Oracle Solaris Studio IDE? Do you know about any files that should be ignored by the IDE (and added to default ignored pattern)?

Thank you very much.
Comment 10 Ondrej Vrabec 2015-07-16 06:12:23 UTC
I am OK with the patch, let's please integrate before Beta so any negative feedback can be resolved before 8.1 release. If there are no objections from the cnd team, let's integrate on Monday.
Comment 11 Vladimir Voskresensky 2015-07-18 06:09:26 UTC
Let's integrate and see test results.
Comment 12 Jaroslav Havlin 2015-07-20 11:40:15 UTC
Thank you.
Integrated:
http://hg.netbeans.org/core-main/rev/6dfa04cc9975.

I've created a wiki page with information about this change:
http://wiki.netbeans.org/HiddenFilesInNB81
Comment 13 Quality Engineering 2015-07-21 01:18:55 UTC
Integrated into 'main-silver', will be available in build *201507210001* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)

Changeset: http://hg.netbeans.org/main-silver/rev/6dfa04cc9975
User: Jaroslav Havlin <jhavlin@netbeans.org>
Log: #246521: Show .dotted files (by default)
Comment 14 Jaroslav Havlin 2016-05-30 07:44:57 UTC
*** Bug 262258 has been marked as a duplicate of this bug. ***
Comment 15 athompson 2016-05-31 13:40:36 UTC
yup