Extend the idea of (workspacetree) to normal repos.
In the global config (special repo: plastic-global-config) one can put a "<repo>/workspacetree/" sub-directory for keeping the following files:
- ignore.conf
- cloaked.conf
- hidden_changes.conf
- writable.conf / readonly.conf
- filetypes.conf
- semanticexcluded.conf (suggested?)
This idea could be extended to normal repos! Being able to put all these .conf-files under a "workspacetree" directory in the repository (or local workspace) root would reduce the clutter and make it easier to locate these config-files.
NOTE - The semanticexcluded.conf file does not currently work in these scenarios, but there is another uservoice suggesting that it should: https://plasticscm.uservoice.com/forums/15467-general/suggestions/13439505-make-semanticexcluded-conf-file-work-from-wkspace
No votes. Out :-)
-
Göran Wallgren commented
UPDATE: From version 5.4.16.760 the "workspacetree" subfolder is no longer needed, instead the mentioned config files can be put directly under the "allrepos" folder or under a repo-specific folder in the plastic-global-config repo.
Also, filetypes.conf can now be used in the global config as well.
These are great additions, but not the focus of this uservoice. This uservoice is all about reducing the clutter in the repo root by moving the config files into a subfolder. However, since these config files can be moved away entirely into the global config, I now realize that the objective of this uservoice can already be achieved that way!
You can therefore close this uservoice as Declined. ;)
-
Göran Wallgren commented
Hey, the original suggestion is not about "having another global config inside the repo", it's just about reducing clutter in the workspace root (by borrowing an idea from the global config)!
You can of course use another name than "workspacetree" if it causes confusion with the global config - a folder name like ".wkspace-conf" or ".conf" or similar would be even better then.
There are already 7 possible .conf files that can be put in the workspace root. It would reduce clutter if these could be moved to a subfolder with a leading dot (for "sorting it out of the way", similar to .plastic and .vs etc). You could still support placing the files in the wkspace root, this would just be an additional search path to look for the .conf files in the workspace. The ones in the root could simply override the ones in the folder...
Adding filetypes.conf to the global config is a great addition in its own right.
Also, your thoughts about putting .conf files in the (ignored) ".plastic" folder is interesting, but the same purpose can be achieved by ignoring the .conf files in wkspace root or ignoring the (proposed) ".wkspace-conf" folder.
-
We started working on this mistakenly, before noticing it is just adding the same, again to a different location.
We will be adding filetypes.conf to the global config (which wasn't there yet) but we will discard the "workspacetree" local folder thing.
Having these files local to the workspace and not added to the version control could be an idea, I mean, having them somehow inside ".plastic".
But the proposal is redundant with global config. There is already a repo exactly for this, which does exactly the same, so why have another global config inside the repo if there's already a way to do it?
I our opinion it only adds complexity, more docu needed, more maintenance, and two ways to achieve exactly the same.
So, we will add the filetypes.conf to the global config too, and discard the rest of the entry.
-
Göran Wallgren commented
Thanks for working on this. Visual Studio does something similar with the ".vs" folder and you already have the ".plastic" folder.
NOTE: We need to be able to checkin this new "workspacetree" folder, so the files should not go into the ".plastic" folder.
HOWEVER: you could consider allowing also ".workspacetree" or similar (note the leading dot). That way, this folder would sort next to the other "dotted" folders instead of cluttering the rest of the "actual" folders in our workspace...
-
Göran Wallgren commented
a) for symmetry with the global config
b) to reduce clutter in the repo root
c) gather all the config files into a directory that can more easily be copied somewhere else -
But you can already add most of these files to the repo... What is the point of adding them to a different location?