Globbing syntax for NC desktop client acting inconsistently

I keep getting errors related to files being ignored, and I don’t know why. I figured it must be because the stuff was being set to ignore but wasn’t ignoring properly for some reason.

So I tried fiddling with the rules but I can’t seem to get stuff excluded properly. It’s really hard to test the issue also. And when trying to use online glob testers they seem to be broken or something.

I want to ignore all /node_modules content. As in I want the folder "node_modules/ to appear in my folder but I want everything inside it to be ignored. So what syntax do I need for that?

Is it /node_modules/*? Is it /**/node_modules/*? is it simply 'node_modules`?

Likewise, should I be syncing my .git folders? It takes a long time to sync them, with lots of tiny fines, but I also want my git projects staying in sync between machines so that when I move from one machine to another I don’t get conflict commits etc. So should I ignore .git? or just part of it?

EDIT:

So not sure if I’ve figured out the pattern or not but after doing some reading I thought I might out just using globbing patterns with ls? Like the globbing patterns for fname are supposed to follow standard unix patterns so I found that **/node_modules/ would display with ls all folders under any node_module folder and **/node_modules/** would display all files under node_modules so I think between those two IO should be good? I’m not sure. I’m testing right now. Takes so long for NC to check all files after restarting it takes some time in between tests.

EDIT2:

Okay so so far so good. It seems to have worked properly kept the node modules folder while not keeping any of it’s contents. SO! What I still need some clarification on is what Is should do about .git?

I’m the only person accessing these .gits btw. I just like to keep my computers in sync with each other.

Also further question: What does the “delete” option do in the ignore sync list? Does that mean it will delete those files on the server? Or does it mean that it will delete those files on your local installation? The UI is a little unclear on it’s function.

EDIT3:

Okay, so I did an experiment where I made some files, had them synced. Then I added them to the ignore list and enabled “allow delete”. I expected Nextcloud to then delete either the local or server versions of those files… and it has done neither. So I’m still not really clear what the purpose of the “allow delete” thing is. Any clues?

EDIT4:

Okay so I can’t tell what the allow deletion thing does. It does not seem to delete things locally or on the server. Is this a bug I should log?

Also still hoping to hear people’s opinions on the git stuff. Thanks!