Example #1
0
    private Exception?CheckoutAndUpdateRepo()
    {
        var          repoSettings = _settingsProvider.Settings.Repository;
        var          cloneUrl     = repoSettings.CloneUrl;
        const string branch       = "master";

        try
        {
            using var repo = _repositoryFactory.CreateAndCloneIfNeeded(cloneUrl, _repoPath, branch);
            repo.ForceCheckout(branch);
            repo.Fetch();
            repo.ResetHard($"origin/{branch}");
        }
        catch (LibGit2SharpException e)
        {
            _log.Error(e, "An exception occurred during git operations on path: {RepoPath}", _repoPath);
            return(e);
        }

        return(null);
    }