The .hgignore file is ignoring things it shouldn't. Here are the current contents:
# hg uses this global ignore file for all tree-wide ignores
.DS_Store
.project
.settings.json
build/
build32/
.vs/
_CPack_Packages/
syntax: glob
*.mo
.vscode/launch.json
.vscode/c_cpp_properties.json
*.flatpak
.cache/
I think the intent of the first section is to ignore files/directories with names containing an element exactly matching one of the lines. However, the default format is regexp which means (for instance) .project will cause anything with any character followed by project to be ignored, and it doesn't matter where this appears in the path. Here's an example:
$ hg status
$ touch my-project-file
$ hg status
$
my-project-file should show up as untracked but it's being ignored.
I think the intent may be accomplished by making all the patterns glob (moving the syntax: glob line to the top). Then:
$ hg status
M .hgignore
$ touch my-project-file .project .project-test
$ hg status
M .hgignore
? .project-test
? my-project-file
$
It now continues to ignore .project as desired, but does not ignore my-project-file or
.project-test.
I don't use Visual Studio, which I'm guessing is behind several of the entries, so someone who does should verify this change still works properly in that environment.
The attached patch moves the syntax: glob line to the top. It also adds a pattern to ignore vim temp files (.*.swp).
Anonymous