Search code examples
libgit2sharp

LibGit2Sharp - Merge develop in master branch


I want to merge my develop in my master branch with LibGit2Sharp, but I can't find any examples on the GitHub wiki of LibGit2Sharp. How can I do that?

Code snippet:

using (var repo = new Repository(repoDirectory))
{
    var masterBranch = repo.Branches["master"];
    var developBranch = repo.Branches["develop"];

    Commands.Checkout(repo, masterBranch);
    // merge dev in master
    // tag master
    Commands.Checkout(repo, developBranch);
    // merge master in dev
}

Solution

  • I found a solution, I'm not sure if it could be done in another way, but I works.

    using (var repo = new Repository(repoDirectory))
    {
        var masterBranch = repo.Branches["master"];
        var developBranch = repo.Branches["develop"];
        var merger = new Signature(AuthorName, AuthorEmail, DateTime.Now);
    
        Commands.Checkout(repo, masterBranch);
        repo.Merge(developBranch, merger, new MergeOptions());
    
        repo.ApplyTag("v0.1");
    
        Commands.Checkout(repo, developBranch);
        repo.Merge(masterBranch, merger, new MergeOptions());
    }