Beispiel #1
0
        public static List <KeyValuePair <long, Volumes.IParsedVolume> > ParseAndFilterFilesets(IEnumerable <Duplicati.Library.Interface.IFileEntry> rawlist, Options options)
        {
            var parsedlist = (from n in rawlist
                              let p = Volumes.VolumeBase.ParseFilename(n)
                                      where p != null && p.FileType == RemoteVolumeType.Files
                                      orderby p.Time descending
                                      select p).ToArray();
            var filelistFilter = RestoreHandler.FilterNumberedFilelist(options.Time, options.Version);

            return(filelistFilter(parsedlist).ToList());
        }
Beispiel #2
0
        public void RunRepairLocal(Library.Utility.IFilter filter = null)
        {
            m_result.RecreateDatabaseResults = new RecreateDatabaseResults(m_result);
            using (new Logging.Timer(LOGTAG, "RecreateDbForRepair", "Recreate database for repair"))
                using (var f = m_options.Dryrun ? new Library.Utility.TempFile() : null)
                {
                    if (f != null && System.IO.File.Exists(f))
                    {
                        System.IO.File.Delete(f);
                    }

                    var filelistfilter = RestoreHandler.FilterNumberedFilelist(m_options.Time, m_options.Version);

                    new RecreateDatabaseHandler(m_backendurl, m_options, (RecreateDatabaseResults)m_result.RecreateDatabaseResults)
                    .Run(m_options.Dryrun ? (string)f : m_options.Dbpath, filter, filelistfilter);
                }
        }