I was going to say this is probably a “Windows thing”, but then I saw Linux mentioned. It was intented to work… Not sure why it doesn’t, but I obviously didn’t add a test for it.
I don’t follow but it could be due to my own lack of understanding. If I was using the following I could understand why the content target would be overridden:
module:
mounts:
- source: test
target: content
However, using the following doesn’t make sense to me why the default content target is removed:
module:
mounts:
- source: test
target: content/test
It doesn’t overwrite all the default mounts when I do that, just the one that contains the first directory in the path.
We want one way and only one way to configure directories in Hugo
contentDir etc. is preserved just for backwards compability
Given your second configuration it would not be possible to tell Hugo that you want content/test and ONLY that directory if we also added some other default that may or not exist in your project.
So, if you have a module definition it must be complete.