Example #1
0
        public static int ApplyMergeParameters(
            IBackupFileService backupFileService,
            Database database,
            MergeParameters fileMergeParameters)
        {
            int changeCount = 0;

            if (!fileMergeParameters.IncludeTags)
            {
                changeCount += backupFileService.RemoveTags(database);
            }

            if (!fileMergeParameters.IncludeBookmarks)
            {
                changeCount += backupFileService.RemoveBookmarks(database);
            }

            // NB - notes must be removed before underlining
            // since if notes are retained, some of the underlining
            // must also be!
            if (!fileMergeParameters.IncludeNotes)
            {
                changeCount += backupFileService.RemoveNotes(database);
            }

            if (!fileMergeParameters.IncludeUnderlining)
            {
                changeCount += backupFileService.RemoveUnderlining(database);
            }

            return(changeCount);
        }
Example #2
0
        public Command GetMergeCommand(MergeParameters parameters)
        {
            Assert.IsNotNull(parameters);

            var args = new List<ICommandArgument>();
            if(parameters.NoCommit)
            {
                args.Add(MergeCommand.NoCommit());
            }
            if(parameters.Squash)
            {
                args.Add(MergeCommand.Squash());
            }
            if(parameters.NoFastForward)
            {
                args.Add(MergeCommand.NoFastForward());
            }
            if(!string.IsNullOrEmpty(parameters.Message))
            {
                var message = parameters.Message.Replace("\"", "\\\"");
                args.Add(MergeCommand.Message(message));
            }
            if(parameters.Revisions != null)
            {
                foreach(var rev in parameters.Revisions)
                {
                    args.Add(new CommandParameter(rev));
                }
            }
            return new MergeCommand(args);
        }