public override async Task ExecuteAsync(IOperationExecutionContext context) { this.LogInformation("Executing SVN checkout..."); var(c, r) = this.GetCredentialsAndResource(context); var client = new SvnClient(context, c, this.SvnExePath, this); var sourcePath = new SvnPath(r?.RepositoryUrl, this.SourcePath); var destinationPath = context.ResolvePath(this.DestinationPath); var result = await client.CheckoutAsync(sourcePath, destinationPath, this.AdditionalArguments).ConfigureAwait(false); this.LogClientResult(result); this.RevisionNumber = await client.GetRevisionNumberAsync(new SvnPath(destinationPath, null)).ConfigureAwait(false); this.LogInformation("SVN checkout executed."); }