示例#1
0
        /// <summary>
        /// Create the Tag depending on input parameter.
        /// </summary>
        /// <param name="args">tag creation arguments</param>
        /// <param name="parentWindow">the UI window to act as the parent of the create tag dialog</param>
        /// <returns>the true if the tag is created.</returns>
        public bool CreateTag(GitCreateTagArgs args, IWin32Window parentWindow)
        {
            if (parentWindow == null)
            {
                throw new ArgumentNullException(nameof(parentWindow));
            }

            string tagMessageFileName = null;

            if (args.Operation.CanProvideMessage())
            {
                tagMessageFileName = Path.Combine(GetWorkingDirPath(), "TAGMESSAGE");
                _fileSystem.File.WriteAllText(tagMessageFileName, args.TagMessage);
            }

            var createTagCmd = new GitCreateTagCmd(args, tagMessageFileName);

            try
            {
                return(_uiCommands.StartCommandLineProcessDialog(createTagCmd, parentWindow));
            }
            finally
            {
                if (tagMessageFileName != null && _fileSystem.File.Exists(tagMessageFileName))
                {
                    _fileSystem.File.Delete(tagMessageFileName);
                }
            }
        }
示例#2
0
        /// <summary>
        /// Create the Tag depending on input parameter.
        /// </summary>
        /// <returns>Output string from RunGitCmd.</returns>
        public GitCreateTagCmd GetCreateTagCommand(GitCreateTagArgs args)
        {
            string tagMessageFileName = null;

            if (args.Operation.CanProvideMessage())
            {
                tagMessageFileName = Path.Combine(_getWorkingDir(), "TAGMESSAGE");
                _fileSystem.File.WriteAllText(tagMessageFileName, args.TagMessage);
            }

            var createTagCmd = new GitCreateTagCmd(args, tagMessageFileName);

            return(createTagCmd);
        }
示例#3
0
 public GitCreateTagCmd(GitCreateTagArgs args, [CanBeNull] string tagMessageFileName)
 {
     CreateTagArguments = args;
     TagMessageFileName = tagMessageFileName;
 }
示例#4
0
 public GitCreateTagCmd(GitCreateTagArgs args, string tagMessageFileName)
 {
     Arguments          = args;
     TagMessageFileName = tagMessageFileName;
 }