コード例 #1
0
        public void Parse_should_parse_s_arguments()
        {
            const string Subject  = "line1";
            GitRevision  revision = new(ObjectId.IndexId)
            {
                Subject = Subject,
                Body    = $"{Subject}\n\nline3"
            };

            _scriptHostControl.GetLatestSelectedRevision().Returns(x => revision);

            string expectedMessage = $"{Subject}\\n\\nline3";

            var result = ScriptOptionsParser.Parse("echo {{sSubject}} {{sMessage}}", module: _module, owner: null, _scriptHostControl);

            result.arguments.Should().Be($"echo \"{revision.Subject}\" \"{expectedMessage}\"");
            result.abort.Should().Be(false);
        }
コード例 #2
0
        private static GitRevision CalculateSelectedRevision(IScriptHostControl scriptHostControl, List <IGitRef> selectedRemoteBranches,
                                                             List <string> selectedRemotes, List <IGitRef> selectedLocalBranches,
                                                             List <IGitRef> selectedBranches, List <IGitRef> selectedTags)
        {
            GitRevision selectedRevision = scriptHostControl?.GetLatestSelectedRevision();

            if (selectedRevision == null)
            {
                return(null);
            }

            foreach (var head in selectedRevision.Refs)
            {
                if (head.IsTag)
                {
                    selectedTags.Add(head);
                }
                else if (head.IsHead || head.IsRemote)
                {
                    selectedBranches.Add(head);
                    if (head.IsRemote)
                    {
                        selectedRemoteBranches.Add(head);
                        if (!selectedRemotes.Contains(head.Remote))
                        {
                            selectedRemotes.Add(head.Remote);
                        }
                    }
                    else
                    {
                        selectedLocalBranches.Add(head);
                    }
                }
            }

            return(selectedRevision);
        }