public async Task <Errorable <Tuple <Ref, Commit> > > GetCommitByRefName(RefName refName)
        {
            var erf = await rfrepo.GetRefByName(refName).ConfigureAwait(continueOnCapturedContext: false);

            if (erf.HasErrors)
            {
                return(erf.Errors);
            }

            Ref rf = erf.Value;

            var ecm = await getCommit(rf.CommitID).ConfigureAwait(continueOnCapturedContext: false);

            if (ecm.HasErrors)
            {
                return(ecm.Errors);
            }

            Commit cm = ecm.Value;

            return(new Tuple <Ref, Commit>(rf, cm));
        }