Пример #1
0
        public Changeset[] UploadChangesets(IUploadChangesetArgs args)
        {
            var currentBranch = GetBranches(new GetBranchesArgs
            {
                Current        = true,
                RepositoryPath = args.RepositoryPath
            }).FirstOrDefault();

            var targetRev   = args.TargetRev.WhenNullOrEmpty(currentBranch);
            var destination = args.Destination.WhenNullOrEmpty("origin");
            var query       = new RevisionQuery
            {
                FromRevisionId = targetRev,
                ToRevisionId   = $"{destination}/{targetRev}"
            };

            var changeSets =
                GetChangesets(new GetChangesetsArgs
            {
                RepositoryPath = args.RepositoryPath,
                Query          = query
            });

            if (!args.CheckOnly)
            {
                var ab = new ArgBuilder();
                ab.Add("push");
                ab.Add(args.Destination);
                ab.Add(args.TargetRev);
            }

            return(changeSets);
        }
Пример #2
0
        public Changeset[] UploadChangesets(IUploadChangesetArgs args)
        {
            var ab = new ArgBuilder();

            ab.Add(args.CheckOnly ? "outgoing" : "push");
            ab.Add(args.Destination);
            if (args.TargetRev != null)
            {
                ab.Add($"--rev {FormatQuery(args.TargetRev)}");
            }

            var r = RunCommand(ab, args);

            return(args.CheckOnly ? ParseChangesets(r) : new Changeset[] { });
        }