MCPcopy
hub / github.com/syncthing/syncthing / RestoreFolderVersions

Method RestoreFolderVersions

lib/model/model.go:2827–2854  ·  view source on GitHub ↗
(folder string, versions map[string]time.Time)

Source from the content-addressed store, hash-verified

2825}
2826
2827func (m *model) RestoreFolderVersions(folder string, versions map[string]time.Time) (map[string]error, error) {
2828 m.mut.RLock()
2829 err := m.checkFolderRunningRLocked(folder)
2830 fcfg := m.folderCfgs[folder]
2831 ver := m.folderVersioners[folder]
2832 m.mut.RUnlock()
2833 if err != nil {
2834 return nil, err
2835 }
2836 if ver == nil {
2837 return nil, errNoVersioner
2838 }
2839
2840 restoreErrors := make(map[string]error)
2841
2842 for file, version := range versions {
2843 if err := ver.Restore(file, version); err != nil {
2844 restoreErrors[file] = err
2845 }
2846 }
2847
2848 // Trigger scan
2849 if !fcfg.FSWatcherEnabled {
2850 go func() { _ = m.ScanFolder(folder) }()
2851 }
2852
2853 return restoreErrors, nil
2854}
2855
2856func (m *model) Availability(folder string, file protocol.FileInfo, block protocol.BlockInfo) ([]Availability, error) {
2857 m.mut.RLock()

Callers

nothing calls this directly

Calls 3

ScanFolderMethod · 0.95
RestoreMethod · 0.65

Tested by

no test coverage detected