Esempio n. 1
0
        public bool Run(System.IO.DirectoryInfo workingDirectory, object options)
        {
            UpdateVerbOptions localOptions = options as UpdateVerbOptions;

            Printer.EnableDiagnostics = localOptions.Verbose;
            Area ws = Area.Load(workingDirectory);

            if (ws == null)
            {
                return(false);
            }
            Area.MergeSpecialOptions opt = new Area.MergeSpecialOptions()
            {
                AllowRecursiveMerge = !localOptions.Simple,
                IgnoreMergeParents  = false,
                Reintegrate         = false,
                MetadataOnly        = localOptions.Metadata,
                ResolutionStrategy  = localOptions.Mine ? Area.MergeSpecialOptions.ResolutionSystem.Mine : (localOptions.Theirs ? Area.MergeSpecialOptions.ResolutionSystem.Theirs : Area.MergeSpecialOptions.ResolutionSystem.Normal)
            };
            ws.Update(opt);
            return(true);
        }
Esempio n. 2
0
        public bool Run(System.IO.DirectoryInfo workingDirectory, object options)
        {
            MergeVerbOptions localOptions = options as MergeVerbOptions;

            Printer.EnableDiagnostics = localOptions.Verbose;
            Area ws = Area.Load(workingDirectory);

            if (ws == null)
            {
                return(false);
            }
            Objects.Version forceParent = null;
            if (!string.IsNullOrEmpty(localOptions.ParentVersion))
            {
                forceParent = ws.GetPartialVersion(localOptions.ParentVersion);
            }
            Area.MergeSpecialOptions opt = new Area.MergeSpecialOptions()
            {
                AllowRecursiveMerge      = !localOptions.Simple,
                IgnoreMergeParents       = localOptions.IgnoreMergeAncestry,
                Reintegrate              = localOptions.Reintegrate,
                MetadataOnly             = localOptions.Metadata,
                OverrideDisallowedMerges = localOptions.IgnoreDisallowed,
                IgnoreAttribChanges      = localOptions.IgnoreAttribChanges,
                ForceParentVersion       = forceParent,
                ResolutionStrategy       = localOptions.Mine ? Area.MergeSpecialOptions.ResolutionSystem.Mine : (localOptions.Theirs ? Area.MergeSpecialOptions.ResolutionSystem.Theirs : Area.MergeSpecialOptions.ResolutionSystem.Normal)
            };
            if (localOptions.Target.Count == 0)
            {
                Printer.PrintMessage("#x#Error:## No targets to merge from!");
            }
            foreach (var x in localOptions.Target)
            {
                ws.Merge(x, false, opt);
            }
            return(true);
        }