Ejemplo n.º 1
0
        private static void Merge(Options.MergeOptions options)
        {
            RobustIO.DeleteDirectoryAndContents(options.WorkDir);
            Settings.TempDir = options.WorkDir;

            // restore previous data
            var restoreOptions = new Options.RestoreOptions(options);

            RestoreLanguageDepot(restoreOptions);
            RestoreMongoDb(restoreOptions);

            // run merge
            LfMergeHelper.Run($"--project {options.Project} --clone --action=Synchronize");
            Console.WriteLine("Successfully merged test data");

            // save merged data
            var saveOptions = new Options.SaveOptions(options)
            {
                WorkDir   = Path.Combine(options.WorkDir, "LanguageDepot"),
                CommitMsg = options.CommitMsg ?? "Merged test data"
            };

            SaveLanguageDepot(saveOptions);
            SaveLanguageDepotNoOpPatchIfNecessary(options.ModelVersion, options.LanguageDepotVersion + 1);
            SaveMongoDb(saveOptions);
        }
Ejemplo n.º 2
0
        private static void Restore(Options.RestoreOptions options)
        {
            Settings.TempDir = options.WorkDir;

            if (options.LanguageDepotVersion.HasValue)
            {
                RestoreLanguageDepot(options);
            }

            if (options.MongoVersion.HasValue)
            {
                RestoreMongoDb(options);
            }
        }
Ejemplo n.º 3
0
        private static void RestoreMongoDb(Options.RestoreOptions options)
        {
            if (!options.Project.StartsWith("sf_"))
            {
                options.Project = "sf_" + options.Project;
            }

            MongoHelper.Initialize(options.ModelVersion.ToString(), options.MongoVersion);

            if (_mongoHelper == null)
            {
                _mongoHelper = new MongoHelper(options.Project, true);
            }
            _mongoHelper.RestoreDatabase(options.ModelVersion.ToString(), "master");

            Console.WriteLine($"Successfully restored mongo database at version {options.MongoVersion}");
        }
Ejemplo n.º 4
0
        private static void RestoreLanguageDepot(Options.RestoreOptions options)
        {
            var dir = Path.Combine(Settings.TempDir, "LanguageDepot");

            RobustIO.DeleteDirectoryAndContents(dir);
            using (var ld = new LanguageDepotHelper(true))
            {
                for (var i = 0; i <= options.LanguageDepotVersion.Value; i++)
                {
                    ld.ApplySinglePatch(options.ModelVersion, i);
                }
            }

            // Now in FLEx get project from colleague from USB
            Console.WriteLine("Successfully restored languagedepot test data for model " +
                              $"{options.ModelVersion}");
        }