lib/config, lib/model: Make sure to hide our special files (fixes #4382)

The folder marker conversion forgot to hide the .stfolder. This adds
that, for those who have not yet been converted.

Also adds Hide() calls to the folder start, to mend historical
unhidedness. (I'm sure this will upset someone who is manually managing
their .stignores in the other direction...)

GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/4384
This commit is contained in:
Jakob Borg 2017-09-20 06:49:04 +00:00 committed by Audrius Butkevicius
parent 59ebcea356
commit 3ee12464b4
2 changed files with 9 additions and 1 deletions

View File

@ -392,6 +392,7 @@ func convertV22V23(cfg *Configuration) {
err = fs.Remove(".stfolder")
if err == nil {
err = fs.Mkdir(".stfolder", permBits)
fs.Hide(".stfolder") // ignore error
}
if err != nil {
l.Fatalln("failed to upgrade folder marker:", err)

View File

@ -253,7 +253,14 @@ func (m *Model) startFolderLocked(folder string) config.FolderType {
}
}
p := folderFactory(m, cfg, ver, fs.MtimeFS())
ffs := fs.MtimeFS()
// These are our metadata files, and they should always be hidden.
ffs.Hide(".stfolder")
ffs.Hide(".stversions")
ffs.Hide(".stignore")
p := folderFactory(m, cfg, ver, ffs)
m.folderRunners[folder] = p
m.warnAboutOverwritingProtectedFiles(folder)