public FailedMergePostAction(string fileName, string filePath, string failedFileName, string description, MergeFailureType mergeFailureType)
 {
     FileName         = fileName;
     FilePath         = filePath;
     FailedFileName   = failedFileName;
     Description      = description;
     MergeFailureType = mergeFailureType;
 }
Example #2
0
        protected void AddFailedMergePostActions(string originalFilePath, MergeFailureType mergeFailureType, string description)
        {
            var sourceFileName     = GetRelativePath(originalFilePath);
            var postactionFileName = GetRelativePath(Config.FilePath);

            var failedFileName = GetFailedPostActionFileName();

            GenContext.Current.FailedMergePostActions.Add(new FailedMergePostAction(sourceFileName, Config.FilePath, failedFileName, description, mergeFailureType));
            File.Copy(Config.FilePath, failedFileName, true);
        }
        public void HandleFailedMergePostActions(string originalFileRelativePath, MergeFailureType mergeFailureType, string suffix, string errorMessage)
        {
            var validator = new List <Validator>
            {
                new FileExistsValidator(Path.GetDirectoryName(Config.FilePath)),
            };

            // Change filename from .postaction to .failedpostaction, .failedpostaction1,...
            var splittedFileName = Path.GetFileName(Config.FilePath).Split('.');

            splittedFileName[0] = Naming.Infer(splittedFileName[0].Replace(suffix, MergeConfiguration.FailedPostactionSuffix), validator);
            var failedFileName = Path.Combine(Path.GetDirectoryName(Config.FilePath), string.Join(".", splittedFileName));

            Fs.SafeMoveFile(Config.FilePath, failedFileName);

            // Add info to context
            GenContext.Current.FailedMergePostActions.Add(new FailedMergePostActionInfo(originalFileRelativePath, Config.FilePath, failedFileName.GetPathRelativeToGenerationParentPath(), failedFileName, errorMessage, mergeFailureType));
        }