Ejemplo n.º 1
0
        public BranchesData ParseBranches(QueryBranchesParameters parameters, GitOutput output)
        {
            Assert.IsNotNull(parameters);
            Assert.IsNotNull(output);

            output.ThrowOnBadReturnCode();
            var parser = new GitParser(output.Output);
            return parser.ParseBranches(parameters.Restriction, parameters.AllowFakeBranch);
        }
Ejemplo n.º 2
0
        public Command GetQueryBranchesCommand(QueryBranchesParameters parameters)
        {
            Assert.IsNotNull(parameters);

            var args = new List<ICommandArgument>(6);
            args.Add(BranchCommand.NoColor());
            args.Add(BranchCommand.Verbose());
            args.Add(BranchCommand.NoAbbrev());
            switch(parameters.Restriction)
            {
                case QueryBranchRestriction.All:
                    args.Add(BranchCommand.All());
                    break;
                case QueryBranchRestriction.Remote:
                    args.Add(BranchCommand.Remote());
                    break;
            }
            switch(parameters.Mode)
            {
                case BranchQueryMode.Contains:
                    args.Add(BranchCommand.Contains());
                    break;
                case BranchQueryMode.Merged:
                    args.Add(BranchCommand.Merged());
                    break;
                case BranchQueryMode.NoMerged:
                    args.Add(BranchCommand.NoMerged());
                    break;
            }
            if(parameters.Revision != null)
            {
                args.Add(new CommandParameter(parameters.Revision));
            }

            return new BranchCommand(args);
        }