/// <summary>
        /// Execute (async version)
        /// </summary>
        public async Task <GitResult> ExecuteAsync(string command, CancellationToken token)
        {
            GitResult result = await TryExecuteAsync(command, token);

            result.ThrowIfError();

            return(result);
        }
        /// <summary>
        /// Execute
        /// </summary>
        public GitResult Execute(string command)
        {
            GitResult result = TryExecute(command);

            result.ThrowIfError();

            return(result);
        }