Created attachment 162755 [details]
Now there is a notion of forbidden folders (see org.netbeans.modules.versioning.core.Utils.isForbiddenFolder).
But the only way of setting these folders is via setting the system property "versioning.forbiddenFolders" (which usually is done via -J-Dversioning.forbiddenFolders command line parameter).
There should be a more flexible way of determining forbidden folders. For example, I have a way of determining automount directories for each particular remote host - but can not share this knowledge with VCS core.
So the proposal is to add an SPI - VCSForbiddenFolderProvider - see the proposed patch.
Created attachment 162756 [details]
We would also need an additional patch that deprecates org.netbeans.modules.versioning.util.Utils.isForbiddenFolder(String) and changes it to isForbiddenFolder(File)
Dear api review
I have no objection against that, especially when versioning.core is a friend API (at least I think it is).
Ondra, thank you for fast response.
So I can push it into cnd-main, correct?
(In reply to Vladimir Kvashin from comment #4)
> So I can push it into cnd-main, correct?
Right. You may push it.
I was going to push it into cnd-main, but faced the following question.
The problem is that we need this badly for the upcoming release of Oracle Developer Studio. This release will be based on 8.2.x
My plan was to first it into cnd-main, then, after changes are verified in trunk, come to an agreement and backport it releases.
The problem is that the new interface should have something in "since".
In trunk the module spec version is 1.31.1
In releases/release82 spec version is 1.30.1
I propose that I do the following:
- Integrate into trunk (cnd-main), upgrade spec version to 1.31.2, set this version in "since".
- After the changes are verified in trunk and backported into releases, module spec version in releases becomes 1.30.2, and I change "since" to 1.30.2 (both in trunk and releases).
Changing "since" is basically not right thing to do, but changing it "back" after backporting is OK, I think.
Do you have objections?
(In reply to Vladimir Kvashin from comment #6)
> Do you have objections?
Just one, trunk module version should not be 1.31.2 but 1.32 AFAIK. The third version number is reserved for backports only: supposed to change only in release updates.
So change trunk to 1.32 or 184.108.40.206. And in the release82 branch change it to 1.30.2 Besides this updating @since when backported makes sense.
Just to understand each other correct: starting from 684b6b084445 (July 22 2015) there are 3 digits in versioning.core spec version. But last number in trunk is always 0. So in trunk I'll upgrade to 1.32.0 instead of 1.32
Please correct me if I'm wrong.
I've pushed changes into cnd-main
We need this in the 8.2 patch because the upcoming release of Oracle Developer Studio will be based on 8.2.x. So as soon as the fix gets to main-silver and I double check that everything works as expected and nothing is broken, I'm going to backport it into releases/release82
Integrated into 'main-silver', will be available in build *201611270001* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
User: Vladimir Kvashin <firstname.lastname@example.org>
Log: Fixed #268813 - There should be a provider for VCS forbidden folders - code changes