This is not a problem on POSIX systems (these directories are
ignored by the POSIX implementation of fs::GetDirListing() in
filesys.cpp), but these directories still are reported on Windows
systems. This becomes a problem when mod authors use version
control systems that create directories like ".git" or ".svn"
and collectMods() picks up on them. It has also been suggested
that ignoring such directories would allow for the easily disabling
mods by inserting a "." in front of their name.
This quick fix simply makes collectMods() ignore directories
beginning with a ".".
if(!dirlist[j].dir)
continue;
std::string modname = dirlist[j].name;
+ // Ignore all directories beginning with a ".", especially
+ // VCS directories like ".git" or ".svn"
+ if(modname[0] == '.')
+ continue;
std::string modpath = modspath + DIR_DELIM + modname;
TRACESTREAM(<<indentation<<"collectMods: "<<modname<<" at \""<<modpath<<"\""<<std::endl);
// Handle modpacks (defined by containing modpack.txt)