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); }
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); }