Как создать новый тег в локальном репо с помощью LibGit2Sharp?

#c# #libgit2sharp

Вопрос:

Я хочу создать новый легкий тег в своем локальном репозитории с помощью LibGit2Sharp. У меня нет намерения отправлять его на пульт дистанционного управления (я использую теги в качестве краткосрочных закладок); знание того, как также нажимать на пульт дистанционного управления, было бы удобно, но меня больше всего интересует просто создание тега в локальном репозитории без нажатия на пульт дистанционного управления.

Ответ №1:

Следующим образом:

 using LibGit2Sharp;

    /// <summary>
    /// Create a lightweight tag in the specified local repo:
    /// </summary>
    /// <param name="tagName">Name to be given to the tag</param>
    /// <param name="repoFolder">Repo folder location (path)</param>
    /// <param name="commitSha">Hash identifying the commit to receive the tag</param>
    public static void CreateTag(string tagName, string repoFolder, string commitSha)
    {
        using (var repo = new Repository(repoFolder))
        {
            var commit = repo.Lookup<Commit>(commitSha);
            if (commit != null)
            {
                repo.ApplyTag(tagName, commitSha);
            }
        }
    }