"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const core_1 = require("@oclif/core");
const command_base_1 = require("../cli-common/command-base");
const command_base_tenantless_1 = require("../command-base-tenantless");
class Pull extends command_base_tenantless_1.CommandBaseTenantless {
    run() {
        return tslib_1.__awaiter(this, void 0, void 0, function* () {
            return new Promise((resolve, reject) => tslib_1.__awaiter(this, void 0, void 0, function* () {
                try {
                    this.bootstrap();
                    const { args, flags } = yield this.parse(Pull);
                    let depToTarget = yield this.acquireDependencyToTarget(this.ctor.name, flags.only, args.name);
                    yield this._ops.gitPull(depToTarget);
                    resolve();
                }
                catch (err) {
                    this.handleError(err);
                    reject(err);
                }
            }));
        });
    }
}
exports.default = Pull;
Pull.description = 'Pulls all commits from upstream to local.';
Pull.flags = Object.assign({ help: core_1.Flags.help({ char: 'h' }) }, command_base_1.commandBase.dependencyTargetingFlags);
Pull.args = Object.assign({}, command_base_1.commandBase.dependencyTargetingArgs);
//# sourceMappingURL=pull.js.map